This commit is contained in:
suyl
2021-06-18 16:11:39 +08:00
parent b1f65097d4
commit 5b1e37ffd7
4 changed files with 37 additions and 0 deletions

View File

@@ -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)
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}