From 95022a1f3da78e04735a3693052612a9234d94c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 09:28:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E8=A5=BF=E4=BA=AC=E4=B8=9C=E5=95=86?= =?UTF-8?q?=E5=9F=8E=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/basesch/basesch_ext.go | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index c6668a142..d4451d63f 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -5,6 +5,8 @@ import ( "strings" "time" + "git.rosy.net.cn/baseapi/platformapi/jdshopapi" + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils/errlist" @@ -213,6 +215,36 @@ 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 { + if order.EarningType == model.EarningTypePoints { + var ( + skuMap = make(map[int]*model.OrderSku) + diff int64 + db = dao.GetDB() + ) + for _, sku := range order.Skus { + skuMap[sku.SkuID] = sku + } + storeDetail, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID) + waybills, _ := dao.GetWaybills(db, order.VendorOrderID) + //京东商城和京西要重新算totalshopmoney等 + if vendorID == model.VendorIDJDShop || vendorID == model.VendorIDJX { + for _, v := range afsOrder.Skus { + if skuMap[v.SkuID] != nil { + diff += skuMap[v.SkuID].SalePrice * int64(v.Count) + } + } + order.TotalShopMoney = utils.Float64TwoInt64(float64(order.ActualPayPrice-diff) * jdshopapi.JdsPayPercentage) + 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) }