From 5b1e37ffd7ddff05b3e4bbbbf25be342728dee5f Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Fri, 18 Jun 2021 16:11:39 +0800 Subject: [PATCH] aa --- business/jxcallback/orderman/order_afs.go | 11 +++++++++++ business/partner/purchase/ebai/order_afs.go | 5 +++++ business/partner/purchase/jd/order_afs.go | 10 ++++++++++ business/partner/purchase/mtwm/order_afs.go | 11 +++++++++++ 4 files changed, 37 insertions(+) diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index 3341c166c..c324e4565 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -223,6 +223,12 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order if model.IsAfsOrderFinalStatus(orderStatus.Status) { order.AfsFinishedAt = orderStatus.StatusTime updateFields = append(updateFields, "AfsFinishedAt") + if handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID); handler != nil { + if orderAfsInfo, err := handler.GetOrderAfsInfo(nil, order.VendorOrderID, order.AfsOrderID); err == nil && orderAfsInfo.AfsTotalShopMoney != 0 { + order.AfsTotalShopMoney = orderAfsInfo.AfsTotalShopMoney + } + updateFields = append(updateFields, "AfsTotalShopMoney") + } } utils.CallFuncLogError(func() error { _, err = dao.UpdateEntity(db, order, updateFields...) @@ -337,6 +343,11 @@ func (c *OrderManager) updateAfsOrderOtherInfo(db *dao.DaoDB, afsOrder *model.Af } } if err == nil { + if handler := partner.GetPurchaseOrderHandlerFromVendorID(afsOrder.VendorID); handler != nil { + if orderAfsInfo, err := handler.GetOrderAfsInfo(nil, afsOrder.VendorOrderID, afsOrder.AfsOrderID); err == nil && orderAfsInfo.AfsTotalShopMoney != 0 { + afsOrder.AfsTotalShopMoney = orderAfsInfo.AfsTotalShopMoney + } + } if err = c.updateAfsOrderSkuOtherInfo(db, afsOrder); err == nil { jxutils.RefreshAfsOrderSkuRelated(afsOrder) } diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index c84edfa63..65e323f05 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -263,5 +263,10 @@ func orderSkus2AfsSkus(refundSkuList []*model.OrderSku) (removeSkuList []*ebaiap } func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) { + orderAfsInfo = &partner.OrderAfsInfo{} + if result, err := api.EbaiAPI.OrderPartRefundGet(vendorOrderID); err == nil { + orderAfsInfo.VendorOrderID = vendorOrderID + orderAfsInfo.AfsTotalShopMoney = utils.MustInterface2Int64(result["shop_fee"]) + } return orderAfsInfo, err } diff --git a/business/partner/purchase/jd/order_afs.go b/business/partner/purchase/jd/order_afs.go index 05bafd1f4..b55d187eb 100644 --- a/business/partner/purchase/jd/order_afs.go +++ b/business/partner/purchase/jd/order_afs.go @@ -225,5 +225,15 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G } func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) { + orderAfsInfo = &partner.OrderAfsInfo{} + var afsTotalShopMoney int + if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJD); err == nil && order != nil { + if billList, err2 := getAPI(order.VendorOrgCode).CheckAfsBill(vendorOrderID); err2 == nil && len(billList) > 0 { + for _, v := range billList { + afsTotalShopMoney += v.FreightBill + v.GoodsBill + v.MarketBill + v.PackageBill + } + } + } + orderAfsInfo.AfsTotalShopMoney = int64(-afsTotalShopMoney) return orderAfsInfo, err } diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index ef0cf5670..ce362c223 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -2,6 +2,7 @@ package mtwm import ( "fmt" + "git.rosy.net.cn/jx-callback/globals/api" "net/url" "strings" @@ -216,5 +217,15 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G } func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) { + orderAfsInfo = &partner.OrderAfsInfo{} + var afsTotalShopMoney int64 + if list, err := api.MtwmAPI.GetOrderRefundDetail(utils.Str2Int64(vendorOrderID), 0); err == nil { + for _, v := range list { + afsTotalShopMoney += utils.Str2Int64(v.RefundPartialEstimateCharge.SettleAmount) + } + } + if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); err == nil { + orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney + } return orderAfsInfo, err }