diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index ea52af977..246e8ffa6 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -8,15 +8,10 @@ import ( "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" ) -const ( - FakeOrderStatusModified = "10001" - FakeOrderStatusUserUrgeOrder = "10002" - FakeOrderStatusFinancial = "10003" -) - var ( VendorStatus2StatusMap = map[string]int{ mtwmapi.OrderStatusUserCommitted: model.OrderStatusUnknown, @@ -27,7 +22,7 @@ var ( mtwmapi.OrderStatusDelivered: model.OrderStatusDelivered, mtwmapi.OrderStatusFinished: model.OrderStatusFinished, mtwmapi.OrderStatusCanceled: model.OrderStatusCanceled, - FakeOrderStatusModified: model.OrderStatusAdjust, + mtwmapi.MsgTypeOrderModified: model.OrderStatusAdjust, } ) @@ -135,17 +130,22 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.OrderStatus { orderID := GetOrderIDFromMsg(msg) vendorStatus := "" + remark := "" statusTime := time.Now().Unix() switch msg.Cmd { - case mtwmapi.MsgTypeUserUrgeOrder: - vendorStatus = FakeOrderStatusUserUrgeOrder - case mtwmapi.MsgTypeOrderModified: - vendorStatus = FakeOrderStatusModified - case mtwmapi.MsgTypeOrderFinancial: - vendorStatus = FakeOrderStatusFinancial - default: + case mtwmapi.MsgTypeUserUrgeOrder, mtwmapi.MsgTypeOrderModified, mtwmapi.MsgTypeOrderFinancial: + vendorStatus = msg.Cmd + case mtwmapi.MsgTypeOrderCanceled: + vendorStatus = mtwmapi.OrderStatusCanceled + remark = msg.Data.Get("reason") + case mtwmapi.MsgTypeNewOrder, mtwmapi.MsgTypeOrderAccepted, mtwmapi.MsgTypeOrderFinished: vendorStatus = msg.Data.Get("status") statusTime = utils.Str2Int64(msg.Data.Get("utime")) + case mtwmapi.MsgTypeOrderRefund, mtwmapi.MsgTypeOrderPartialRefund: + vendorStatus = msg.Cmd + remark = msg.Data.Get("reason") + default: + globals.SugarLogger.Errorf("mtwm unkonw msg:%s", utils.Format4Output(msg, false)) } orderStatus := &model.OrderStatus{ VendorOrderID: orderID, @@ -156,7 +156,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.Or VendorStatus: vendorStatus, Status: c.GetStatusFromVendorStatus(vendorStatus), StatusTime: getTimeFromTimestamp(statusTime), - Remark: "", + Remark: remark, } return orderStatus } diff --git a/controllers/mtwm_callback.go b/controllers/mtwm_callback.go index 4b5e833b0..f59826ef4 100644 --- a/controllers/mtwm_callback.go +++ b/controllers/mtwm_callback.go @@ -52,3 +52,15 @@ func (c *MtwmController) NumberDowngrade() { func (c *MtwmController) OrderModified() { c.onCallbackMsg(mtwmapi.MsgTypeOrderModified) } + +func (c *MtwmController) OrderCanceled() { + c.onCallbackMsg(mtwmapi.MsgTypeOrderCanceled) +} + +func (c *MtwmController) OrderRefund() { + c.onCallbackMsg(mtwmapi.MsgTypeOrderCanceled) +} + +func (c *MtwmController) OrderPartialRefund() { + c.onCallbackMsg(mtwmapi.MsgTypeOrderCanceled) +}