- 自配送门店的PickupGoods不应调用平台相应API,模拟一个事件

This commit is contained in:
gazebo
2019-03-22 20:55:59 +08:00
parent 753ce06d0b
commit 837395f431
9 changed files with 59 additions and 29 deletions

View File

@@ -226,6 +226,17 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model
return orderStatus
}
func (c *PurchaseHandler) postFakeFinishedPickupMsg(vendorOrderID string) {
msg := &jdapi.CallbackOrderMsg{
BillID: vendorOrderID,
StatusID: jdapi.OrderStatusFinishedPickup,
Timestamp: utils.Time2Str(time.Now()),
}
utils.CallFuncAsync(func() {
OnOrderMsg(msg)
})
}
// IPurchasePlatformHandler
func (c *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
if status, ok := VendorStatus2StatusMap[vendorStatus]; ok {
@@ -238,8 +249,12 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
return api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt, userName)
}
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
_, err = api.JdAPI.OrderJDZBDelivery(order.VendorOrderID, userName)
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
if !isSelfDeilivery {
_, err = api.JdAPI.OrderJDZBDelivery(order.VendorOrderID, userName)
} else {
c.postFakeFinishedPickupMsg(order.VendorOrderID)
}
return err
}