- 完成美团外卖运单调度
- 整理虚拟消息
This commit is contained in:
@@ -158,7 +158,6 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// todo 好像没有“商家已收到”消息回调,是否需要模拟?
|
||||
status := c.callbackMsg2Status(msg)
|
||||
err = partner.CurOrderManager.OnOrderStatusChanged(status)
|
||||
}
|
||||
@@ -199,38 +198,31 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.Or
|
||||
return orderStatus
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) postFakeFinishedPickupMsg(vendorOrderID string) {
|
||||
func (c *PurchaseHandler) postFakeMsg(vendorOrderID, cmd, vendorStatus string) {
|
||||
msg := &mtwmapi.CallbackMsg{
|
||||
Cmd: mtwmapi.MsgTypeOrderAccepted,
|
||||
Data: make(url.Values),
|
||||
}
|
||||
timeStr := utils.Int64ToStr(time.Now().Unix())
|
||||
msg.Data.Add(mtwmapi.KeyOrderID, vendorOrderID)
|
||||
msg.Data.Add("status", mtwmapi.OrderStatusAccepted)
|
||||
msg.Data.Add("timestamp", timeStr)
|
||||
msg.Data.Add("utime", timeStr)
|
||||
msg.Data.Set(mtwmapi.KeyOrderID, vendorOrderID)
|
||||
msg.Data.Set("status", mtwmapi.OrderStatusAccepted)
|
||||
msg.Data.Set("timestamp", timeStr)
|
||||
msg.Data.Set("utime", timeStr)
|
||||
utils.CallFuncAsync(func() {
|
||||
OnOrderCallbackMsg(msg)
|
||||
})
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
|
||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
||||
if isAcceptIt {
|
||||
if err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID)); err == nil {
|
||||
msg := &mtwmapi.CallbackMsg{
|
||||
Cmd: FakeMsgTypeOrderReceived,
|
||||
Data: url.Values{},
|
||||
}
|
||||
msg.Data.Set(mtwmapi.KeyOrderID, order.VendorOrderID)
|
||||
msg.Data.Set("status", mtwmapi.OrderStatusReceived)
|
||||
msg.Data.Set("timestamp", utils.Int64ToStr(time.Now().Unix()))
|
||||
msg.Data.Set("utime", msg.Data.Get("timestamp"))
|
||||
utils.CallFuncAsync(func() {
|
||||
OnOrderCallbackMsg(msg)
|
||||
})
|
||||
}
|
||||
} else {
|
||||
if isAcceptIt {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
if err == nil {
|
||||
c.postFakeMsg(order.VendorOrderID, FakeMsgTypeOrderReceived, mtwmapi.OrderStatusReceived)
|
||||
}
|
||||
} else {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderCancel(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
}
|
||||
@@ -238,27 +230,39 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
|
||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite && !isSelfDeilivery {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID))
|
||||
} else {
|
||||
c.postFakeFinishedPickupMsg(order.VendorOrderID)
|
||||
c.postFakeMsg(order.VendorOrderID, mtwmapi.MsgTypeOrderAccepted, mtwmapi.OrderStatusAccepted)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderLogisticsChange2Self(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderArrived(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderDelivering(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.OrderArrived(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user