getOrderAfsInfo 获取订单售后金额,已经修改完成订单的结算金额,可能会错
This commit is contained in:
@@ -248,12 +248,11 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
|
||||
//美团订单如果有售后的话,订单完成后才能查到售后结算
|
||||
if order.VendorID == model.VendorIDMTWM {
|
||||
if afsOrders, _ := dao.GetAfsOrders(db, order.VendorID, order.VendorOrderID, ""); len(afsOrders) > 0 {
|
||||
for _, v := range afsOrders {
|
||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
|
||||
if orderAfsInfo, err := handler.GetOrderAfsInfo(nil, v.VendorOrderID, v.AfsOrderID); err == nil && orderAfsInfo.AfsTotalShopMoney != 0 {
|
||||
v.AfsTotalShopMoney = orderAfsInfo.AfsTotalShopMoney
|
||||
}
|
||||
dao.UpdateEntity(db, v, "AfsTotalShopMoney")
|
||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(afsOrders[0].VendorID); handler != nil {
|
||||
if orderAfsInfo, err := handler.GetOrderAfsInfo(nil, afsOrders[0].VendorOrderID, afsOrders[0].AfsOrderID); err == nil && orderAfsInfo.AfsTotalShopMoney != 0 && orderAfsInfo.AfsTotalShopMoney != orderAfsInfo.AfsTotalShopMoney {
|
||||
afsOrders[0].AfsTotalShopMoney = orderAfsInfo.AfsTotalShopMoney
|
||||
dao.UpdateEntity(db, afsOrders[0], "AfsTotalShopMoney")
|
||||
order.TotalShopMoney = order.TotalShopMoney + orderAfsInfo.AfsTotalShopMoney
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -261,7 +260,7 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
|
||||
}
|
||||
// 刷新订单结束时间
|
||||
order.OrderFinishedAt = time.Now()
|
||||
dao.UpdateEntity(db, order, "OrderFinishedAt")
|
||||
dao.UpdateEntity(db, order, "OrderFinishedAt", "TotalShopMoney")
|
||||
} else if orderStatus.Status == model.OrderStatusCanceled {
|
||||
order2, _ := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) // 订单被取消,则取消三方运单
|
||||
if orderStatus.OrderType == model.OrderTypeOrder {
|
||||
|
||||
@@ -3,7 +3,6 @@ package mtwm
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -306,18 +305,37 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
|
||||
return c.AdjustOrder(ctx, order, refundSkuList, reason)
|
||||
}
|
||||
|
||||
//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 {
|
||||
// if v.RefundPartialEstimateCharge.SettleAmount != "" {
|
||||
// afsTotalShopMoney += jxutils.StandardPrice2Int(utils.Str2Float64(v.RefundPartialEstimateCharge.SettleAmount))
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); err == nil {
|
||||
// orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney
|
||||
// }
|
||||
// return orderAfsInfo, err
|
||||
//}
|
||||
|
||||
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 {
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM)
|
||||
|
||||
if list, err := getAPI(order.VendorOrgCode, jxutils.GetShowStoreIDFromOrder(order), order.VendorStoreID).GetOrderRefundDetail(utils.Str2Int64(vendorOrderID), 0); err == nil {
|
||||
for _, v := range list {
|
||||
if v.RefundPartialEstimateCharge.SettleAmount != "" {
|
||||
afsTotalShopMoney += jxutils.StandardPrice2Int(utils.Str2Float64(v.RefundPartialEstimateCharge.SettleAmount))
|
||||
}
|
||||
}
|
||||
}
|
||||
if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); err == nil {
|
||||
orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney
|
||||
if err == nil {
|
||||
//orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney
|
||||
orderAfsInfo.AfsTotalShopMoney = afsTotalShopMoney
|
||||
}
|
||||
return orderAfsInfo, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user