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) { if model.IsAfsOrderFinalStatus(orderStatus.Status) {
order.AfsFinishedAt = orderStatus.StatusTime order.AfsFinishedAt = orderStatus.StatusTime
updateFields = append(updateFields, "AfsFinishedAt") 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 { utils.CallFuncLogError(func() error {
_, err = dao.UpdateEntity(db, order, updateFields...) _, err = dao.UpdateEntity(db, order, updateFields...)
@@ -337,6 +343,11 @@ func (c *OrderManager) updateAfsOrderOtherInfo(db *dao.DaoDB, afsOrder *model.Af
} }
} }
if err == nil { 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 { if err = c.updateAfsOrderSkuOtherInfo(db, afsOrder); err == nil {
jxutils.RefreshAfsOrderSkuRelated(afsOrder) 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) { 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 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) { 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 return orderAfsInfo, err
} }

View File

@@ -2,6 +2,7 @@ package mtwm
import ( import (
"fmt" "fmt"
"git.rosy.net.cn/jx-callback/globals/api"
"net/url" "net/url"
"strings" "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) { 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 return orderAfsInfo, err
} }