- 自配送门店的PickupGoods不应调用平台相应API,模拟一个事件
This commit is contained in:
@@ -158,9 +158,9 @@ func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
|
||||
func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
|
||||
globals.SugarLogger.Debugf("ebai PickupGoods orderID:%s", order.VendorOrderID)
|
||||
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
|
||||
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite && !isSelfDeilivery {
|
||||
err = api.EbaiAPI.OrderCallDelivery(order.VendorOrderID)
|
||||
}
|
||||
p.postFakeFinishedPickupMsg(order.VendorOrderID) // 饿百没有拣货完成事件,模拟发送
|
||||
|
||||
@@ -287,7 +287,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
|
||||
// 饿了么没有拣货这个状态,直接返回成功
|
||||
// 真实流程中也不会调用这个方法,因为接收订单后状态会直接转移到已拣货
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -186,6 +186,21 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.Or
|
||||
return orderStatus
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) postFakeFinishedPickupMsg(vendorOrderID 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)
|
||||
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 {
|
||||
@@ -209,9 +224,11 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
|
||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite && !isSelfDeilivery {
|
||||
err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID))
|
||||
} else {
|
||||
c.postFakeFinishedPickupMsg(order.VendorOrderID)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
|
||||
func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDeilivery bool, userName string) (err error) {
|
||||
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
|
||||
_, err = dada.CurDeliveryHandler.CreateWaybill(order, func(deliveryFee, addFee int64) error {
|
||||
if addFee > maxAddFee {
|
||||
|
||||
Reference in New Issue
Block a user