diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index ccbc1c9a8..a7dea03b1 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -145,7 +145,15 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) } } else { - err = partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus) + if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err != nil { + // 订单回调全额退款接口时,将订单状态修改为取消 + refundData := msg.Data.(*mtwmapi.CallbackRefundInfo) + if refundData.NotifyType == "agree" && msg.Cmd == mtwmapi.MsgTypeOrderRefund { + order, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDMTWM) + order.Status = model.OrderStatusCanceled + dao.UpdateEntity(dao.GetDB(), &order, "Status") + } + } } return mtwmapi.Err2CallbackResponse(err, "") }