- 处理同一运单重复接单情况

This commit is contained in:
gazebo
2019-03-13 15:22:18 +08:00
parent 780b17009b
commit 14a8c58239

View File

@@ -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)
}
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:
@@ -458,6 +460,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
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) {
if _, ok := savedOrderInfo.waybills[bill.WaybillVendorID]; ok {
if !s.IsOrderPlatformWaybill(bill) { // 购买平台重复发相同号的新运单是正常的,京东就是