- CancelAll3rdWaybills添加isStopSchedule参数
This commit is contained in:
@@ -25,15 +25,17 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven
|
|||||||
order := savedOrderInfo.order
|
order := savedOrderInfo.order
|
||||||
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
if order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled == 0 {
|
||||||
if order.Status <= model.OrderStatusFinishedPickup {
|
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
||||||
err = s.SelfDeliverDelivering(order, "")
|
if order.Status <= model.OrderStatusFinishedPickup {
|
||||||
}
|
err = s.SelfDeliverDelivering(order, userName)
|
||||||
} else {
|
}
|
||||||
if order.Status <= model.OrderStatusFinishedPickup {
|
} else {
|
||||||
err = s.Swtich2SelfDeliver(order, userName)
|
if order.Status <= model.OrderStatusFinishedPickup {
|
||||||
} else if order.VendorID == order.WaybillVendorID { // 状态为配送中,且是购物平台运单,不能转自送了
|
err = s.Swtich2SelfDeliver(order, userName)
|
||||||
err = scheduler.ErrOrderStatusIsNotSuitable4CurOperation
|
} else if order.VendorID == order.WaybillVendorID { // 状态为配送中,且是购物平台运单,不能转自送了
|
||||||
|
err = scheduler.ErrOrderStatusIsNotSuitable4CurOperation
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,7 +103,8 @@ func (s *DefScheduler) CreateWaybillOnProvidersEx(ctx *jxcontext.Context, vendor
|
|||||||
return bills, err
|
return bills, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (err error) {
|
// todo 这个函数可以和SelfDeliveringAndUpdateStatus合并
|
||||||
|
func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isStopSchedule bool) (err error) {
|
||||||
jxutils.CallMsgHandler(func() {
|
jxutils.CallMsgHandler(func() {
|
||||||
err = func() (err error) {
|
err = func() (err error) {
|
||||||
globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s", vendorOrderID, ctx.GetUserName())
|
globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s", vendorOrderID, ctx.GetUserName())
|
||||||
@@ -116,6 +119,14 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI
|
|||||||
err = scheduler.ErrCanNotFindOrder
|
err = scheduler.ErrCanNotFindOrder
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s error:%v", vendorOrderID, ctx.GetUserName(), err)
|
globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s error:%v", vendorOrderID, ctx.GetUserName(), err)
|
||||||
|
if err == nil && isStopSchedule {
|
||||||
|
order := savedOrderInfo.order
|
||||||
|
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
||||||
|
if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil {
|
||||||
|
s.stopTimer(savedOrderInfo)
|
||||||
|
globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s successfully", vendorOrderID, ctx.GetUserName())
|
||||||
|
}
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}()
|
}()
|
||||||
}, jxutils.ComposeUniversalOrderID(vendorOrderID, vendorID))
|
}, jxutils.ComposeUniversalOrderID(vendorOrderID, vendorID))
|
||||||
|
|||||||
@@ -97,12 +97,13 @@ func (c *OrderController) CreateWaybillOnProviders() {
|
|||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param vendorOrderID formData string true "订单ID"
|
// @Param vendorOrderID formData string true "订单ID"
|
||||||
// @Param vendorID formData int true "订单所属的厂商ID"
|
// @Param vendorID formData int true "订单所属的厂商ID"
|
||||||
|
// @Param isStopSchedule formData bool false "是否停止运单调度"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /CancelAll3rdWaybills [post]
|
// @router /CancelAll3rdWaybills [post]
|
||||||
func (c *OrderController) CancelAll3rdWaybills() {
|
func (c *OrderController) CancelAll3rdWaybills() {
|
||||||
c.callCancelAll3rdWaybills(func(params *tOrderCancelAll3rdWaybillsParams) (retVal interface{}, errCode string, err error) {
|
c.callCancelAll3rdWaybills(func(params *tOrderCancelAll3rdWaybillsParams) (retVal interface{}, errCode string, err error) {
|
||||||
err = defsch.FixedScheduler.CancelAll3rdWaybills(params.Ctx, params.VendorOrderID, params.VendorID)
|
err = defsch.FixedScheduler.CancelAll3rdWaybills(params.Ctx, params.VendorOrderID, params.VendorID, params.IsStopSchedule)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user