1
This commit is contained in:
@@ -235,15 +235,23 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
_, err = dao.UpdateEntity(db, order, updateFields...)
|
||||||
utils.CallFuncLogError(func() error {
|
//utils.CallFuncLogError(func() error {
|
||||||
_, err = dao.UpdateEntity(db, order, updateFields...)
|
// _, err = dao.UpdateEntity(db, order, updateFields...)
|
||||||
return err
|
// return err
|
||||||
}, "addAfsOrderStatus update orderID:%s, status:%v", order.VendorOrderID, orderStatus)
|
//}, "addAfsOrderStatus update orderID:%s, status:%v", order.VendorOrderID, orderStatus)
|
||||||
} else {
|
} else {
|
||||||
isDuplicated = true
|
isDuplicated = true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// 这是发现有部分订单已经完成,但是没有完成时间影响到导出结果错误
|
||||||
|
if model.IsAfsOrderFinalStatus(orderStatus.Status) || orderStatus.Status == model.AfsOrderStatusNew && order.VendorID == model.VendorIDMTWM {
|
||||||
|
if afsOrderObj, _ := partner.CurOrderManager.LoadAfsOrder(orderStatus.VendorOrderID, orderStatus.VendorID); afsOrderObj != nil {
|
||||||
|
afsOrderObj.AfsFinishedAt = time.Now()
|
||||||
|
afsOrderObj.Status = orderStatus.Status
|
||||||
|
dao.UpdateEntity(db, afsOrderObj, "AfsFinishedAt", "Status")
|
||||||
|
}
|
||||||
|
}
|
||||||
if dao.IsNoRowsError(err) { // todo 消息错序
|
if dao.IsNoRowsError(err) { // todo 消息错序
|
||||||
err = nil
|
err = nil
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -452,15 +452,20 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
|||||||
var order *model.GoodsOrderExt
|
var order *model.GoodsOrderExt
|
||||||
var orders2 []*model.GoodsOrderExt
|
var orders2 []*model.GoodsOrderExt
|
||||||
for _, v := range orders {
|
for _, v := range orders {
|
||||||
globals.SugarLogger.Debugf("========orders := %s", utils.Format4Output(orders, false))
|
|
||||||
globals.SugarLogger.Debugf("========afsSkuMap := %s", utils.Format4Output(afsSkuMap, false))
|
|
||||||
if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil {
|
if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil {
|
||||||
if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count > 0 {
|
if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count >= 0 {
|
||||||
minus := afsInfo[v.SkuID].Count
|
minus := afsInfo[v.SkuID].Count
|
||||||
if minus > v.SkuCount2 {
|
if minus > v.SkuCount2 {
|
||||||
minus = v.SkuCount2
|
minus = v.SkuCount2
|
||||||
}
|
}
|
||||||
v.SkuCount2 -= minus
|
v.SkuCount2 -= minus
|
||||||
|
if minus == 0 { // 有售后单,且通过,部分商品缺重等情况
|
||||||
|
if v.EarningType == model.EarningTypeQuote {
|
||||||
|
v.SkuShopPrice = v.SkuShopPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuShopPrice))
|
||||||
|
v.SkuSalePrice = v.SkuSalePrice - int(afsInfo[v.SkuID].UserMoney)
|
||||||
|
v.SkuEarningPrice = v.SkuEarningPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuEarningPrice))
|
||||||
|
}
|
||||||
|
}
|
||||||
afsInfo[v.SkuID].Count -= minus
|
afsInfo[v.SkuID].Count -= minus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -485,9 +490,9 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
|||||||
skuStr = strings.Join([]string{
|
skuStr = strings.Join([]string{
|
||||||
utils.Int2Str(v.SkuID),
|
utils.Int2Str(v.SkuID),
|
||||||
utils.Int2Str(v.SkuCount2),
|
utils.Int2Str(v.SkuCount2),
|
||||||
utils.Int2Str(v.SkuShopPrice),
|
utils.Int2Str(v.SkuShopPrice), // 本地结算金额
|
||||||
utils.Int2Str(v.SkuSalePrice),
|
utils.Int2Str(v.SkuSalePrice), // 售卖金额
|
||||||
utils.Int2Str(earningPrice),
|
utils.Int2Str(earningPrice), //
|
||||||
}, ",")
|
}, ",")
|
||||||
} else { // 扣点
|
} else { // 扣点
|
||||||
skuStr = strings.Join([]string{
|
skuStr = strings.Join([]string{
|
||||||
@@ -1293,12 +1298,13 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f
|
|||||||
SELECT t2.*
|
SELECT t2.*
|
||||||
FROM afs_order t1
|
FROM afs_order t1
|
||||||
JOIN order_sku_financial t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.is_afs_order = 1 AND t1.afs_order_id = t2.afs_order_id
|
JOIN order_sku_financial t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.is_afs_order = 1 AND t1.afs_order_id = t2.afs_order_id
|
||||||
WHERE t1.afs_finished_at >= ? AND t1.afs_finished_at <= ? AND t1.status = ?
|
WHERE t1.afs_finished_at >= ? AND t1.afs_finished_at <= ? AND (t1.status = ? OR t1.status = ?)
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
fromDate,
|
fromDate,
|
||||||
toDate,
|
toDate,
|
||||||
model.AfsOrderStatusFinished,
|
model.AfsOrderStatusFinished,
|
||||||
|
model.AfsOrderStatusNew,
|
||||||
}
|
}
|
||||||
var skus []*model.OrderSkuFinancial
|
var skus []*model.OrderSkuFinancial
|
||||||
if err = dao.GetRows(dao.GetDB(), &skus, sql, sqlParams...); err == nil {
|
if err = dao.GetRows(dao.GetDB(), &skus, sql, sqlParams...); err == nil {
|
||||||
@@ -1313,6 +1319,7 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f
|
|||||||
skuMap[key][skuID] = v
|
skuMap[key][skuID] = v
|
||||||
} else {
|
} else {
|
||||||
skuMap[key][skuID].Count += v.Count
|
skuMap[key][skuID].Count += v.Count
|
||||||
|
skuMap[key][skuID].UserMoney += v.UserMoney
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,20 +197,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma
|
|||||||
}
|
}
|
||||||
// 已经审核过的售后单子
|
// 已经审核过的售后单子
|
||||||
if orderStatus.Status == model.AfsOrderStatusNew || orderStatus.Status == model.AfsOrderStatusFinished {
|
if orderStatus.Status == model.AfsOrderStatusNew || orderStatus.Status == model.AfsOrderStatusFinished {
|
||||||
// 平台结算金额
|
|
||||||
/*vendorSettle, err := mtmApi.OrderGetOrderDetail(utils.Str2Int64(order.VendorOrderID), true) // 退款列表
|
|
||||||
if err == nil {
|
|
||||||
if poiReceiveDetailStr := utils.Interface2String(vendorSettle["poi_receive_detail"]); poiReceiveDetailStr != "" {
|
|
||||||
var poiReceiveDetail *mtwmapi.PoiReceiveDetailInfo
|
|
||||||
utils.UnmarshalUseNumber([]byte(poiReceiveDetailStr), &poiReceiveDetail)
|
|
||||||
if poiReceiveDetail != nil {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Debugf("美团平台售后获取结算信息错误: = %v", err)
|
|
||||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "美团平台售后获取结算信息错误", fmt.Sprintf("orderid := %d,%s", model.VendorIDMTWM, order.VendorOrderID))
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// 售后金额
|
// 售后金额
|
||||||
refundDetail, err := mtmApi.GetOrderRefundDetail(utils.Str2Int64(order.VendorOrderID), 0)
|
refundDetail, err := mtmApi.GetOrderRefundDetail(utils.Str2Int64(order.VendorOrderID), 0)
|
||||||
if err == nil && len(refundDetail) > 0 {
|
if err == nil && len(refundDetail) > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user