- 处理同一运单重复接单情况
This commit is contained in:
@@ -357,7 +357,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
globals.SugarLogger.Infof("OnWaybillStatusChanged Accepted orderID:%s got multiple bill:%v", order.VendorOrderID, bill)
|
globals.SugarLogger.Infof("OnWaybillStatusChanged Accepted orderID:%s got multiple bill:%v", order.VendorOrderID, bill)
|
||||||
}
|
}
|
||||||
if s.isBillCandidate(order, bill) && order.WaybillVendorID != order.VendorID {
|
if s.isBillCandidate(order, bill) && order.WaybillVendorID != order.VendorID {
|
||||||
weixinmsg.NotifyWaybillStatus(bill, order, isBillAlreadyCandidate)
|
if !isBillAlreadyCandidate || !s.isWaybillCourierSame(savedOrderInfo, bill) {
|
||||||
|
weixinmsg.NotifyWaybillStatus(bill, order, isBillAlreadyCandidate)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case model.WaybillStatusAcceptCanceled:
|
case model.WaybillStatusAcceptCanceled:
|
||||||
@@ -458,6 +460,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DefScheduler) isWaybillCourierSame(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) bool {
|
||||||
|
return savedOrderInfo.waybills[bill.WaybillVendorID] != nil && savedOrderInfo.waybills[bill.WaybillVendorID].CourierMobile == bill.CourierMobile
|
||||||
|
}
|
||||||
|
|
||||||
func (s *DefScheduler) addWaybill2Map(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) {
|
func (s *DefScheduler) addWaybill2Map(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) {
|
||||||
if _, ok := savedOrderInfo.waybills[bill.WaybillVendorID]; ok {
|
if _, ok := savedOrderInfo.waybills[bill.WaybillVendorID]; ok {
|
||||||
if !s.IsOrderPlatformWaybill(bill) { // 购买平台重复发相同号的新运单是正常的,京东就是
|
if !s.IsOrderPlatformWaybill(bill) { // 购买平台重复发相同号的新运单是正常的,京东就是
|
||||||
|
|||||||
Reference in New Issue
Block a user