饿百在发送运单取消事件后,如果订单没有及时(具体时间未知)转出自送,则订单会被取消,且不会发送订单取消事件

This commit is contained in:
gazebo
2019-11-29 16:28:21 +08:00
parent 5f4aa686d9
commit d93356ad01
3 changed files with 40 additions and 10 deletions

View File

@@ -1,6 +1,8 @@
package ebai
import (
"time"
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
@@ -9,6 +11,10 @@ import (
"git.rosy.net.cn/jx-callback/globals/api"
)
const (
timeout4WaybillCancel = 10 * time.Minute // 饿百发送运单取消消息10分钟后如果没有转自送就要取消订单且不再发送订单取消消息
)
var (
VendorWaybillStatus2StatusMap = map[string]int{
ebaiapi.WaybillStatusNew: model.WaybillStatusUnknown,
@@ -44,6 +50,14 @@ func (c *PurchaseHandler) onWaybillMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiap
order.CourierName = utils.Interface2String(result["name"])
order.CourierMobile = utils.Interface2String(result["phone"])
}
} else if order.Status == model.WaybillStatusCanceled {
utils.AfterFuncWithRecover(timeout4WaybillCancel, func() {
if localOrder, err2 := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDEBAI); err2 == nil {
if localOrder.Status < model.OrderStatusEndBegin {
c.trySyncCancelStatus(order.VendorOrderID)
}
}
})
}
return api.EbaiAPI.Err2CallbackResponse(msg.Cmd, partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus)
}