dyps cancelwaybill
This commit is contained in:
@@ -241,27 +241,20 @@ 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 {
|
||||
globals.SugarLogger.Debugf("BaseScheduler CancelWaybill err========%v", err)
|
||||
return err
|
||||
}
|
||||
order, _ := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID)
|
||||
globals.SugarLogger.Debugf("BaseScheduler CancelWaybill order=========%s", utils.Format4Output(order, false))
|
||||
return orderman.ResetCreateWaybillFee(nil, order)
|
||||
}, "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 bill.VendorWaybillID=%s,err==========%v", bill.VendorWaybillID, err)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user