diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index f69731328..2bc5f0b1b 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -3,7 +3,6 @@ package orderman import ( "strings" - "git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -61,29 +60,6 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode } } } - //如果是扣点的单需要修改totalShopMoney等 - skuMap := make(map[int]*model.OrderSku) - for _, sku := range order.Skus { - skuMap[sku.SkuID] = sku - } - if err == nil && order.EarningType == model.EarningTypePoints { - var diff int64 - origin := float64(order.TotalShopMoney) / jdshopapi.JdsPayPercentage - for _, sku := range afsOrder.Skus { - if skuMap[sku.SkuID] != nil { - diff += skuMap[sku.SkuID].SalePrice * int64(sku.Count) - } - } - order.TotalShopMoney = utils.Float64TwoInt64((origin - float64(diff)) * jdshopapi.JdsPayPercentage) - storeDetail, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID) - wayBills, _ := dao.GetWaybills(db, order.VendorOrderID) - if len(wayBills) > 0 { - jxutils.RefreshOrderEarningPrice3(order, storeDetail.PayPercentage, wayBills[0]) - } else { - jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - } - dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice") - } } // dao.Begin(db) diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index c6668a142..1910c6492 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -6,6 +6,7 @@ import ( "time" "git.rosy.net.cn/baseapi/platformapi/dingdingapi" + "git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils/errlist" "git.rosy.net.cn/jx-callback/business/jxstore/cms" @@ -213,6 +214,33 @@ func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID s flag = model.AfsOrderFlagRefuseUserRefund afsOrder.RefuseReason = reason partner.CurOrderManager.UpdateAfsOrderFields(afsOrder, []string{"RefuseReason"}) + } else { + if order, _ := partner.CurOrderManager.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID); order != nil { + //如果是扣点的单需要修改totalShopMoney等 + skuMap := make(map[int]*model.OrderSku) + db := dao.GetDB() + for _, sku := range order.Skus { + skuMap[sku.SkuID] = sku + } + if err == nil && order.EarningType == model.EarningTypePoints { + var diff int64 + origin := float64(order.TotalShopMoney) / jdshopapi.JdsPayPercentage + for _, sku := range afsOrder.Skus { + if skuMap[sku.SkuID] != nil { + diff += skuMap[sku.SkuID].SalePrice * int64(sku.Count) + } + } + order.TotalShopMoney = utils.Float64TwoInt64((origin - float64(diff)) * jdshopapi.JdsPayPercentage) + storeDetail, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID) + wayBills, _ := dao.GetWaybills(db, order.VendorOrderID) + if len(wayBills) > 0 { + jxutils.RefreshOrderEarningPrice3(order, storeDetail.PayPercentage, wayBills[0]) + } else { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + } + dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice") + } + } } dao.SetAfsOrderFlag(dao.GetDB(), ctx.GetUserName(), afsOrderID, vendorID, flag) }