Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -241,7 +241,10 @@ func (c *BaseScheduler) CreateWaybill(platformVendorID int, order *model.GoodsOr
|
||||
|
||||
func (c *BaseScheduler) CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error) {
|
||||
// 部分快递平台在取消成功后有时会不发运单取消消息过来(比如达达,904200512000442),为避免二次取消报错,添加状态判断
|
||||
globals.SugarLogger.Debugf("BaseScheduler CancelWaybill bill======%s", utils.Format4Output(bill, false))
|
||||
if c.IsReallyCallPlatformAPI && bill.OrderVendorID != bill.WaybillVendorID && bill.Status != model.WaybillStatusCanceled {
|
||||
globals.SugarLogger.Debugf("bill.OrderVendorID====%d, bill.WaybillVendorID====%d , bill.Status====%d", bill.OrderVendorID, bill.WaybillVendorID, bill.Status)
|
||||
globals.SugarLogger.Debugf("handlerInfo====%s", utils.Format4Output(partner.GetDeliveryPlatformFromVendorID(bill.WaybillVendorID), false))
|
||||
if handlerInfo := partner.GetDeliveryPlatformFromVendorID(bill.WaybillVendorID); handlerInfo != nil {
|
||||
if err = utils.CallFuncLogErrorWithInfo(func() error {
|
||||
if err := handlerInfo.Handler.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
|
||||
@@ -254,9 +257,11 @@ func (c *BaseScheduler) CancelWaybill(bill *model.Waybill, cancelReasonID int, c
|
||||
}, "CancelWaybill bill:%v", bill); err == nil {
|
||||
bill.Status = model.WaybillStatusCanceled
|
||||
bill.DeliveryFlag |= model.WaybillDeliveryFlagMaskActiveCancel
|
||||
globals.SugarLogger.Debugf("bill.Status===========%d,bill.DeliveryFlag===========%d", bill.Status, bill.DeliveryFlag)
|
||||
_, err = dao.UpdateEntity(nil, bill, "Status", "DeliveryFlag")
|
||||
}
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debugf("BaseScheduler CancelWaybill return err==========%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1005,10 +1005,13 @@ func (s *DefScheduler) solutionJdsOrder(bill *model.Waybill) (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 {
|
||||
globals.SugarLogger.Debugf("我在这里")
|
||||
if v.Status < model.WaybillStatusEndBegin &&
|
||||
!model.IsWaybillPlatformOwn(v) &&
|
||||
(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)
|
||||
globals.SugarLogger.Debugf("DefScheduler cancelOtherWaybills err2=======%v", err2)
|
||||
if err2 == nil {
|
||||
@@ -1025,6 +1028,7 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
|
||||
}
|
||||
|
||||
}
|
||||
globals.SugarLogger.Debugf("cancelOtherWaybills last err=========%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -419,8 +419,9 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI
|
||||
// 取消三方运单,取消各平台单号信息,间隔一段时间后定时任务重新调度
|
||||
globals.SugarLogger.Debugf("CancelAll3rdWaybills vendorOrderID=========%s, vendorID====%d", vendorOrderID, vendorID)
|
||||
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
|
||||
globals.SugarLogger.Debugf("savedOrderInfo.order========%s", utils.Format4Output(savedOrderInfo.order, false))
|
||||
globals.SugarLogger.Debugf("savedOrderInfo=====%s,savedOrderInfo.waybills========%s", utils.Format4Output(savedOrderInfo, false), utils.Format4Output(savedOrderInfo.waybills, false))
|
||||
if savedOrderInfo != nil {
|
||||
globals.SugarLogger.Debugf("进入s.cancelOtherWaybills")
|
||||
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
||||
} else {
|
||||
err = scheduler.ErrCanNotFindOrder
|
||||
|
||||
@@ -113,6 +113,7 @@ func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int,
|
||||
bill.Status = model.WaybillStatusCanceled
|
||||
bill.Remark = cancelReason
|
||||
partner.CurOrderManager.OnWaybillStatusChanged(bill)
|
||||
globals.SugarLogger.Debugf("DYPS CancelWaybill bill.Status=========%d", bill.Status)
|
||||
globals.SugarLogger.Debugf("DYPS CancelWaybill err======%s", err)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user