- fixed a bug, savedOrderInfo.timer is nil.
This commit is contained in:
@@ -86,7 +86,7 @@ func (s *DefScheduler) OnOrderStatusChanged(status *model.OrderStatus) (err erro
|
|||||||
}
|
}
|
||||||
s.resetTimer(status.Status, savedOrderInfo, gap)
|
s.resetTimer(status.Status, savedOrderInfo, gap)
|
||||||
} else {
|
} else {
|
||||||
savedOrderInfo.timer.Stop()
|
s.stopTimer(savedOrderInfo)
|
||||||
s.orderMap.Delete(jxutils.GetUniversalOrderIDFromOrderStatus(status))
|
s.orderMap.Delete(jxutils.GetUniversalOrderIDFromOrderStatus(status))
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -114,7 +114,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
|
|||||||
if findIt {
|
if findIt {
|
||||||
switch bill.Status {
|
switch bill.Status {
|
||||||
case model.WaybillStatusAccepted:
|
case model.WaybillStatusAccepted:
|
||||||
savedOrderInfo.timer.Stop() // todo 这里应该另外启动一个TIMER
|
s.stopTimer(savedOrderInfo) // todo 这里应该另外启动一个TIMER
|
||||||
s.cancelOtherWaybills(bill)
|
s.cancelOtherWaybills(bill)
|
||||||
|
|
||||||
s.CurOrderManager.UpdateWaybillVendorID(bill)
|
s.CurOrderManager.UpdateWaybillVendorID(bill)
|
||||||
@@ -245,10 +245,14 @@ func (s *DefScheduler) getLatestPickupTimeout(order *model.GoodsOrder, configTim
|
|||||||
return jxutils.GetRealTimeout(beginTime, configTimeout)
|
return jxutils.GetRealTimeout(beginTime, configTimeout)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DefScheduler) resetTimer(status int, savedOrderInfo *WatchOrderInfo, gap time.Duration) {
|
func (s *DefScheduler) stopTimer(savedOrderInfo *WatchOrderInfo) {
|
||||||
if savedOrderInfo.timer != nil {
|
if savedOrderInfo.timer != nil {
|
||||||
savedOrderInfo.timer.Stop()
|
savedOrderInfo.timer.Stop()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DefScheduler) resetTimer(status int, savedOrderInfo *WatchOrderInfo, gap time.Duration) {
|
||||||
|
s.stopTimer(savedOrderInfo)
|
||||||
config := s.mergeOrderStatusConfig(status, s.GetPurchasePlatformFromVendorID(savedOrderInfo.order.VendorID).GetStatusActionConfig(status))
|
config := s.mergeOrderStatusConfig(status, s.GetPurchasePlatformFromVendorID(savedOrderInfo.order.VendorID).GetStatusActionConfig(status))
|
||||||
if config != nil && config.TimeoutAction != nil {
|
if config != nil && config.TimeoutAction != nil {
|
||||||
var timeout time.Duration
|
var timeout time.Duration
|
||||||
|
|||||||
Reference in New Issue
Block a user