- 自送订单不调用拣货完成API
- 在updateOrderStoreFeature中将order.DeliveryFlag落地 - 发送用户申请取消订单消息(当前只有饿百与京东有此事件)
This commit is contained in:
@@ -11,7 +11,7 @@ func OnCallbackMsg(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse
|
||||
orderID := GetOrderIDFromMsg(msg)
|
||||
jxutils.CallMsgHandler(func() {
|
||||
switch msg.Cmd {
|
||||
case ebaiapi.CmdOrderCreate, ebaiapi.CmdOrderStatus:
|
||||
case ebaiapi.CmdOrderCreate, ebaiapi.CmdOrderStatus, ebaiapi.CmdOrderUserCancel:
|
||||
response = CurPurchaseHandler.onOrderMsg(msg)
|
||||
case ebaiapi.CmdOrderDeliveryStatus:
|
||||
response = CurPurchaseHandler.onWaybillMsg(msg)
|
||||
|
||||
@@ -21,8 +21,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
acceptOrderDelay = 180 * time.Second
|
||||
fakePickedUp = "9527"
|
||||
acceptOrderDelay = 180 * time.Second
|
||||
fakePickedUp = "9527"
|
||||
fakeUserApplyCancel = "user_apply_cancel"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -30,6 +31,7 @@ var (
|
||||
ebaiapi.OrderStatusNew: model.OrderStatusNew,
|
||||
ebaiapi.OrderStatusAccepted: model.OrderStatusAccepted,
|
||||
fakePickedUp: model.OrderStatusFinishedPickup,
|
||||
fakeUserApplyCancel: model.OrderStatusApplyCancel,
|
||||
ebaiapi.OrderStatusCourierAccepted: model.OrderStatusDelivering,
|
||||
ebaiapi.OrderStatusCourierPickedup: model.OrderStatusDelivering,
|
||||
ebaiapi.OrderStatusFinished: model.OrderStatusFinished,
|
||||
@@ -245,21 +247,31 @@ func (c *PurchaseHandler) onOrderNew(msg *ebaiapi.CallbackMsg) (response *ebaiap
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) callbackMsg2Status(msg *ebaiapi.CallbackMsg) (orderStatus *model.OrderStatus) {
|
||||
if status, ok := msg.Body["status"]; ok {
|
||||
vendorStatus := utils.Int64ToStr(utils.MustInterface2Int64(status))
|
||||
orderID := GetOrderIDFromMsg(msg)
|
||||
orderStatus = &model.OrderStatus{
|
||||
VendorOrderID: orderID,
|
||||
VendorID: model.VendorIDEBAI,
|
||||
OrderType: model.OrderTypeOrder,
|
||||
RefVendorOrderID: orderID,
|
||||
RefVendorID: model.VendorIDEBAI,
|
||||
VendorStatus: vendorStatus,
|
||||
Status: c.GetStatusFromVendorStatus(vendorStatus),
|
||||
StatusTime: utils.Timestamp2Time(msg.Timestamp),
|
||||
Remark: utils.Interface2String(msg.Body["reason"]),
|
||||
orderID := GetOrderIDFromMsg(msg)
|
||||
orderStatus = &model.OrderStatus{
|
||||
VendorOrderID: orderID,
|
||||
VendorID: model.VendorIDEBAI,
|
||||
OrderType: model.OrderTypeOrder,
|
||||
RefVendorOrderID: orderID,
|
||||
RefVendorID: model.VendorIDEBAI,
|
||||
StatusTime: utils.Timestamp2Time(msg.Timestamp),
|
||||
}
|
||||
if msg.Cmd == ebaiapi.CmdOrderUserCancel {
|
||||
cancelType := utils.Int64ToStr(utils.MustInterface2Int64(msg.Body["type"]))
|
||||
if cancelType == ebaiapi.OrderUserApplyCancel {
|
||||
orderStatus.VendorStatus = fakeUserApplyCancel
|
||||
orderStatus.Status = c.GetStatusFromVendorStatus(orderStatus.VendorStatus)
|
||||
orderStatus.Remark = utils.Interface2String(msg.Body["cancel_reason"])
|
||||
} else {
|
||||
orderStatus = nil
|
||||
}
|
||||
} else if status, ok := msg.Body["status"]; ok {
|
||||
vendorStatus := utils.Int64ToStr(utils.MustInterface2Int64(status))
|
||||
orderStatus.VendorStatus = vendorStatus
|
||||
orderStatus.Status = c.GetStatusFromVendorStatus(orderStatus.VendorStatus)
|
||||
orderStatus.Remark = utils.Interface2String(msg.Body["reason"])
|
||||
} else {
|
||||
orderStatus = nil
|
||||
globals.SugarLogger.Infof("ebai callbackMsg2Status can not find status field in msg:%s", utils.Format4Output(msg, false))
|
||||
}
|
||||
return orderStatus
|
||||
|
||||
Reference in New Issue
Block a user