diff --git a/business/partner/purchase/mtwm/financial.go b/business/partner/purchase/mtwm/financial.go index b9c9cb04b..af8a4c3eb 100644 --- a/business/partner/purchase/mtwm/financial.go +++ b/business/partner/purchase/mtwm/financial.go @@ -43,7 +43,7 @@ func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) { func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.OrderFinancial, orderData url.Values) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ VendorID: model.VendorIDMTWM, - AfsOrderID: orderData.Get("order_id"), + AfsOrderID: orderData.Get("refund_id"), VendorOrderID: orderData.Get("order_id"), AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), // BoxMoney: orderFinancial.BoxMoney, diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 517e7f6ab..7928e33bc 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -144,10 +144,13 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma func (p *PurchaseHandler) createAfsOrder(orderData url.Values) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ VendorID: model.VendorIDMTWM, - AfsOrderID: orderData.Get("order_id"), + AfsOrderID: orderData.Get("refund_id"), VendorOrderID: orderData.Get("order_id"), AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), } + if afsOrder.AfsOrderID == "" { + afsOrder.AfsOrderID = afsOrder.VendorOrderID + } order, err := partner.CurOrderManager.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID) globals.SugarLogger.Debug(utils.Format4Output(order, false)) if err == nil { @@ -198,6 +201,8 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msg *mtwmapi.CallbackMsg) (order } if refundData.RefundID > 0 { orderStatus.VendorOrderID = utils.Int64ToStr(refundData.RefundID) + } else { + orderStatus.VendorOrderID = orderStatus.RefVendorOrderID } return orderStatus }