1
This commit is contained in:
@@ -1005,15 +1005,11 @@ func (s *DefScheduler) solutionJdsOrder(bill *model.Waybill) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2Keep *model.Waybill, cancelReasonID int, cancelReason string) (err error) {
|
func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2Keep *model.Waybill, cancelReasonID int, cancelReason string) (err error) {
|
||||||
globals.SugarLogger.Debugf("savedOrderInfo.waybills=======%s,len(savedOrderInfo.waybills)====%d", utils.Format4Output(savedOrderInfo.waybills, false), len(savedOrderInfo.waybills))
|
|
||||||
for _, v := range savedOrderInfo.waybills {
|
for _, v := range savedOrderInfo.waybills {
|
||||||
globals.SugarLogger.Debugf("我在这里")
|
|
||||||
if v.Status < model.WaybillStatusEndBegin &&
|
if v.Status < model.WaybillStatusEndBegin &&
|
||||||
!model.IsWaybillPlatformOwn(v) &&
|
!model.IsWaybillPlatformOwn(v) &&
|
||||||
(bill2Keep == nil || !(v.WaybillVendorID == bill2Keep.WaybillVendorID && v.VendorWaybillID == bill2Keep.VendorWaybillID)) {
|
(bill2Keep == nil || !(v.WaybillVendorID == bill2Keep.WaybillVendorID && v.VendorWaybillID == bill2Keep.VendorWaybillID)) {
|
||||||
globals.SugarLogger.Debugf("cancelOtherWaybills v=======%s", utils.Format4Output(v, false))
|
|
||||||
err2 := s.CancelWaybill(v, cancelReasonID, cancelReason)
|
err2 := s.CancelWaybill(v, cancelReasonID, cancelReason)
|
||||||
globals.SugarLogger.Debugf("DefScheduler cancelOtherWaybills err2=======%v", err2)
|
|
||||||
if err2 == nil {
|
if err2 == nil {
|
||||||
// 在这里就从map里删除,而不是等收到运单结束事件才删除,可避免不必要的重复取消(第二次取消还会失败)
|
// 在这里就从map里删除,而不是等收到运单结束事件才删除,可避免不必要的重复取消(第二次取消还会失败)
|
||||||
s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID)
|
s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID)
|
||||||
@@ -1028,7 +1024,6 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("cancelOtherWaybills last err=========%v", err)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -417,21 +417,16 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI
|
|||||||
jxutils.CallMsgHandler(func() {
|
jxutils.CallMsgHandler(func() {
|
||||||
err = func() (err error) {
|
err = func() (err error) {
|
||||||
// 取消三方运单,取消各平台单号信息,间隔一段时间后定时任务重新调度
|
// 取消三方运单,取消各平台单号信息,间隔一段时间后定时任务重新调度
|
||||||
globals.SugarLogger.Debugf("CancelAll3rdWaybills vendorOrderID=========%s, vendorID====%d", vendorOrderID, vendorID)
|
|
||||||
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
|
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
|
||||||
globals.SugarLogger.Debugf("savedOrderInfo=====%s,savedOrderInfo.waybills========%s", utils.Format4Output(savedOrderInfo, false), utils.Format4Output(savedOrderInfo.waybills, false))
|
|
||||||
if savedOrderInfo != nil {
|
if savedOrderInfo != nil {
|
||||||
globals.SugarLogger.Debugf("进入s.cancelOtherWaybills")
|
|
||||||
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
||||||
} else {
|
} else {
|
||||||
err = scheduler.ErrCanNotFindOrder
|
err = scheduler.ErrCanNotFindOrder
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("err===========%v,isStopSchedule======%v", err, isStopSchedule)
|
|
||||||
// 停止调度,同事停止订单调度,不在通知第三方
|
// 停止调度,同事停止订单调度,不在通知第三方
|
||||||
if err == nil && isStopSchedule {
|
if err == nil && isStopSchedule {
|
||||||
order := savedOrderInfo.order
|
order := savedOrderInfo.order
|
||||||
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
||||||
globals.SugarLogger.Debugf("停止调度操作order=========%s", utils.Format4Output(order, false))
|
|
||||||
if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil {
|
if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil {
|
||||||
s.stopTimer(savedOrderInfo)
|
s.stopTimer(savedOrderInfo)
|
||||||
}
|
}
|
||||||
@@ -451,7 +446,6 @@ func (s *DefScheduler) QueryOrderWaybillFeeInfoEx(ctx *jxcontext.Context, vendor
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("QueryOrderWaybillFeeInfoEx order===========%s", utils.Format4Output(order, false))
|
|
||||||
if order.DeliveryType == model.OrderDeliveryTypeSelfTake {
|
if order.DeliveryType == model.OrderDeliveryTypeSelfTake {
|
||||||
return nil, fmt.Errorf("订单:%s是自提单", vendorOrderID)
|
return nil, fmt.Errorf("订单:%s是自提单", vendorOrderID)
|
||||||
}
|
}
|
||||||
@@ -461,26 +455,22 @@ func (s *DefScheduler) QueryOrderWaybillFeeInfoEx(ctx *jxcontext.Context, vendor
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("QueryOrderWaybillFeeInfoEx storeCourierList===========%s", utils.Format4Output(storeCourierList, false))
|
|
||||||
// 美团配送订单兑现
|
// 美团配送订单兑现
|
||||||
waybillList, err := partner.CurOrderManager.GetOrderWaybillInfo(ctx, vendorOrderID, vendorID, true, false)
|
waybillList, err := partner.CurOrderManager.GetOrderWaybillInfo(ctx, vendorOrderID, vendorID, true, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("QueryOrderWaybillFeeInfoEx waybillList===========%s", utils.Format4Output(waybillList, false))
|
|
||||||
waybillMap := make(map[int]*model.Waybill)
|
waybillMap := make(map[int]*model.Waybill)
|
||||||
for _, bill := range waybillList {
|
for _, bill := range waybillList {
|
||||||
waybillMap[bill.WaybillVendorID] = &bill.Waybill
|
waybillMap[bill.WaybillVendorID] = &bill.Waybill
|
||||||
}
|
}
|
||||||
deliveryFeeMap = make(map[int]*partner.WaybillFeeInfo)
|
deliveryFeeMap = make(map[int]*partner.WaybillFeeInfo)
|
||||||
globals.SugarLogger.Debugf("pre deliveryFeeMap=======%s", utils.Format4Output(deliveryFeeMap, false))
|
|
||||||
var timeoutSecond int
|
var timeoutSecond int
|
||||||
if savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, false); savedOrderInfo != nil {
|
if savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, false); savedOrderInfo != nil {
|
||||||
timeoutSecond = savedOrderInfo.GetCreateWaybillTimeout()
|
timeoutSecond = savedOrderInfo.GetCreateWaybillTimeout()
|
||||||
}
|
}
|
||||||
for _, storeCourier := range storeCourierList {
|
for _, storeCourier := range storeCourierList {
|
||||||
var feeInfo *partner.WaybillFeeInfo
|
var feeInfo *partner.WaybillFeeInfo
|
||||||
globals.SugarLogger.Debugf("waybillMap[storeCourier.VendorID]============%v", waybillMap[storeCourier.VendorID])
|
|
||||||
if waybillMap[storeCourier.VendorID] != nil {
|
if waybillMap[storeCourier.VendorID] != nil {
|
||||||
feeInfo = &partner.WaybillFeeInfo{
|
feeInfo = &partner.WaybillFeeInfo{
|
||||||
Waybill: waybillMap[storeCourier.VendorID],
|
Waybill: waybillMap[storeCourier.VendorID],
|
||||||
@@ -501,7 +491,6 @@ func (s *DefScheduler) QueryOrderWaybillFeeInfoEx(ctx *jxcontext.Context, vendor
|
|||||||
ErrStr: err.Error(),
|
ErrStr: err.Error(),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Debugf("feeInfo.DeliveryFee===========%d", feeInfo.DeliveryFee)
|
|
||||||
feeInfo.TimeoutSecond = timeoutSecond
|
feeInfo.TimeoutSecond = timeoutSecond
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -521,7 +510,6 @@ func (s *DefScheduler) QueryOrderWaybillFeeInfoEx(ctx *jxcontext.Context, vendor
|
|||||||
deliveryFeeMap[storeCourier.VendorID] = feeInfo
|
deliveryFeeMap[storeCourier.VendorID] = feeInfo
|
||||||
}
|
}
|
||||||
err = nil
|
err = nil
|
||||||
globals.SugarLogger.Debugf("after deliveryFeeMap==========%s", utils.Format4Output(deliveryFeeMap, false))
|
|
||||||
return deliveryFeeMap, err
|
return deliveryFeeMap, err
|
||||||
}()
|
}()
|
||||||
}, jxutils.ComposeUniversalOrderID(vendorOrderID, vendorID))
|
}, jxutils.ComposeUniversalOrderID(vendorOrderID, vendorID))
|
||||||
|
|||||||
Reference in New Issue
Block a user