1
This commit is contained in:
@@ -235,15 +235,23 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
utils.CallFuncLogError(func() error {
|
||||
_, err = dao.UpdateEntity(db, order, updateFields...)
|
||||
return err
|
||||
}, "addAfsOrderStatus update orderID:%s, status:%v", order.VendorOrderID, orderStatus)
|
||||
_, err = dao.UpdateEntity(db, order, updateFields...)
|
||||
//utils.CallFuncLogError(func() error {
|
||||
// _, err = dao.UpdateEntity(db, order, updateFields...)
|
||||
// return err
|
||||
//}, "addAfsOrderStatus update orderID:%s, status:%v", order.VendorOrderID, orderStatus)
|
||||
} else {
|
||||
isDuplicated = true
|
||||
}
|
||||
} 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 消息错序
|
||||
err = nil
|
||||
} else {
|
||||
|
||||
@@ -452,15 +452,20 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
||||
var order *model.GoodsOrderExt
|
||||
var orders2 []*model.GoodsOrderExt
|
||||
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[v.SkuID] != nil && afsInfo[v.SkuID].Count > 0 {
|
||||
if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count >= 0 {
|
||||
minus := afsInfo[v.SkuID].Count
|
||||
if minus > v.SkuCount2 {
|
||||
minus = v.SkuCount2
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
@@ -485,9 +490,9 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
||||
skuStr = strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(v.SkuCount2),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(earningPrice),
|
||||
utils.Int2Str(v.SkuShopPrice), // 本地结算金额
|
||||
utils.Int2Str(v.SkuSalePrice), // 售卖金额
|
||||
utils.Int2Str(earningPrice), //
|
||||
}, ",")
|
||||
} else { // 扣点
|
||||
skuStr = strings.Join([]string{
|
||||
@@ -1293,12 +1298,13 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f
|
||||
SELECT t2.*
|
||||
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
|
||||
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{}{
|
||||
fromDate,
|
||||
toDate,
|
||||
model.AfsOrderStatusFinished,
|
||||
model.AfsOrderStatusNew,
|
||||
}
|
||||
var skus []*model.OrderSkuFinancial
|
||||
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
|
||||
} else {
|
||||
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 {
|
||||
// 平台结算金额
|
||||
/*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)
|
||||
if err == nil && len(refundDetail) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user