isStatusNewer中,美团订单在接单后就会收到新运单事件,因当前只支持一个TIMER,暂时舍弃三方配送调度,而要自动拣货调度
This commit is contained in:
@@ -760,7 +760,7 @@ func (s *DefScheduler) resetTimer(savedOrderInfo *WatchOrderInfo, bill *model.Wa
|
|||||||
statusTime = bill.StatusTime
|
statusTime = bill.StatusTime
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("resetTimer, orderID:%s statusType:%d status:%d", order.VendorOrderID, statusType, status)
|
globals.SugarLogger.Debugf("resetTimer, orderID:%s statusType:%d status:%d", order.VendorOrderID, statusType, status)
|
||||||
if isStatusNewer(savedOrderInfo.timerStatusType, savedOrderInfo.timerStatus, statusType, status) { // 新设置的TIMER不能覆盖状态在其后的TIMER,如果状态回绕,需要注意
|
if isStatusNewer(order.VendorID, savedOrderInfo.timerStatusType, savedOrderInfo.timerStatus, statusType, status) { // 新设置的TIMER不能覆盖状态在其后的TIMER,如果状态回绕,需要注意
|
||||||
config := s.mergeOrderStatusConfig(savedOrderInfo, statusTime, statusType, status)
|
config := s.mergeOrderStatusConfig(savedOrderInfo, statusTime, statusType, status)
|
||||||
if config == nil || config.TimerType != partner.TimerTypeByPass {
|
if config == nil || config.TimerType != partner.TimerTypeByPass {
|
||||||
s.stopTimer(savedOrderInfo)
|
s.stopTimer(savedOrderInfo)
|
||||||
@@ -810,11 +810,14 @@ func (s *DefScheduler) resetTimer(savedOrderInfo *WatchOrderInfo, bill *model.Wa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func isStatusNewer(curStatusType, curStatus, statusType, status int) bool {
|
func isStatusNewer(vendorID int, curStatusType, curStatus, statusType, status int) bool {
|
||||||
// 拣货完成及之前的订单事件TIMER不能覆盖运单TIMER(一般是消息错序引起的)
|
// 拣货完成及之前的订单事件TIMER不能覆盖运单TIMER(一般是消息错序引起的)
|
||||||
|
// 美团订单在接单后就会收到新运单事件,因当前只支持一个TIMER,暂时舍弃三方配送调度,而要自动拣货调度
|
||||||
|
if vendorID != model.VendorIDMTWM {
|
||||||
if curStatusType == scheduler.TimerStatusTypeWaybill && statusType == scheduler.TimerStatusTypeOrder && status <= model.OrderStatusFinishedPickup {
|
if curStatusType == scheduler.TimerStatusTypeWaybill && statusType == scheduler.TimerStatusTypeOrder && status <= model.OrderStatusFinishedPickup {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if curStatusType == scheduler.TimerStatusTypeWaybill {
|
if curStatusType == scheduler.TimerStatusTypeWaybill {
|
||||||
return curStatus != status
|
return curStatus != status
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user