diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index a0d4f7a71..6554f9f6b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -487,7 +487,7 @@ func (c *OrderManager) loadOrderFinancial(vendorOrderID, vendorOrderID2 string, return order, err } -func (c *OrderManager) UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err error) { +func (c *OrderManager) UpdateOrderStatusAndDeliveryFlag(order *model.GoodsOrder) (err error) { return c.UpdateOrderFields(order, []string{"Status", "DeliveryFlag"}) } diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index e37735e63..b8b149c11 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -64,7 +64,7 @@ func (c *BaseScheduler) Swtich2SelfDeliver(order *model.GoodsOrder, userName str if err == nil { // 因为有些平台转自送后,不会再发送订单在配送中消息过来,所以成功后就强制设置状态为配送中 order.Status = model.OrderStatusDelivering order.DeliveryFlag |= model.OrderDeliveryFlagMaskPurcahseDisabled - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } else { if order.LockStatus != model.OrderStatusUnknown || order.Status < model.OrderStatusFinishedPickup || order.VendorID == order.WaybillVendorID { @@ -107,7 +107,7 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName }, "SelfDeliverDelivering orderID:%s", order.VendorOrderID) if err == nil { // 因为有些平台设置配送中后,不会发送订单在配送中消息过来,所以成功后就强制设置状态为配送中 order.Status = model.OrderStatusDelivering - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } } else { @@ -165,7 +165,7 @@ func (c *BaseScheduler) CreateWaybill(platformVendorID int, order *model.GoodsOr globals.SugarLogger.Infof("CreateWaybill failed orderID:%s vendorID:%d with error:%v", order.VendorOrderID, platformVendorID, err) } else { order.DeliveryFlag |= model.WaybillVendorID2Mask(platformVendorID) - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } } else { diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index 7d87197cc..7f258e098 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -72,8 +72,7 @@ func (c *BaseScheduler) SelfDeliveredAndUpdateStatus(ctx *jxcontext.Context, ven } if err == nil { // order.Status = model.OrderStatusFinished // todo 是否需要强制设置完成状态? - order.Flag |= model.OrderFlagMaskSetDelivered - if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil { + if err = dao.SetOrderFlag(dao.GetDB(), ctx.GetUserName(), order.VendorOrderID, order.VendorID, model.OrderFlagMaskSetDelivered); err == nil { globals.SugarLogger.Infof("SelfDeliveredAndUpdateStatus orderID:%s userName:%s successfully", vendorOrderID, userName) return err } @@ -95,7 +94,7 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(ctx *jxcontext.Context, vendo err = c.PickupGoods(order, c.GetStoreDeliveryType(order, nil) == scheduler.StoreDeliveryTypeByStore, userName) if err == nil { order.Status = model.OrderStatusFinishedPickup - if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil { + if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil { globals.SugarLogger.Infof("PickupGoodsAndUpdateStatus orderID:%s userName:%s successfully", vendorOrderID, userName) return err } diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 971706f2f..658e022a4 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -305,7 +305,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod (order.LockStatus == model.OrderStatusUnknown && (status.Status > model.OrderStatusUnknown || status.Status == model.OrderStatusRefuseFailedGetGoods)) { // 只处理状态转换,一般消息不处理 if status.Status == model.OrderStatusRefuseFailedGetGoods && order.Status != model.OrderStatusFinishedPickup && !model.IsOrderFinalStatus(order.Status) { order.Status = model.OrderStatusFinishedPickup - partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } s.resetTimer(savedOrderInfo, nil, isPending) if status.Status >= model.OrderStatusDelivering { @@ -388,7 +388,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo flag2Clear := model.WaybillVendorID2Mask(bill.WaybillVendorID) if order.DeliveryFlag&flag2Clear != 0 { order.DeliveryFlag &= ^flag2Clear - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } // 只有购物平台的新运单消息才会启动抢单TIMER @@ -420,7 +420,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo if bill.Status == model.WaybillStatusDelivering { // 强制将订单状态置为配送中? order.Status = model.OrderStatusDelivering - partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } else { if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore || @@ -448,7 +448,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo flag2Clear := model.WaybillVendorID2Mask(bill.WaybillVendorID) if order.DeliveryFlag&flag2Clear != 0 { order.DeliveryFlag &= ^flag2Clear - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } } case model.WaybillStatusAcceptCanceled: diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index e96880509..603cd7e35 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -53,7 +53,7 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven if err == nil { order.Status = model.OrderStatusDelivering order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled | model.OrderDeliveryFlagMaskPurcahseDisabled - if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil { + if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil { s.stopTimer(savedOrderInfo) globals.SugarLogger.Infof("SelfDeliveringAndUpdateStatus orderID:%s userName:%s successfully", vendorOrderID, userName) return err @@ -110,7 +110,7 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex if bills, err = s.CreateWaybillOnProviders(ctx, order, courierVendorIDs, feeHandler, forceCreate); err == nil { if forceCreate { order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order) } if err == nil { if forceCreate { @@ -169,7 +169,7 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI if err == nil && isStopSchedule { order := savedOrderInfo.order order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled - if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil { + if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil { s.stopTimer(savedOrderInfo) globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s successfully", vendorOrderID, ctx.GetUserName()) } diff --git a/business/partner/partner.go b/business/partner/partner.go index 9e3579cdc..6ba3c0075 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -142,7 +142,7 @@ type IOrderManager interface { LoadOrderFinancial(vendorOrderID string, vendorID int) (order *model.OrderFinancial, err error) LoadOrderFinancial2(vendorOrderID2 string, vendorID int) (order *model.OrderFinancial, err error) - UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err error) + UpdateOrderStatusAndDeliveryFlag(order *model.GoodsOrder) (err error) UpdateOrderFields(order *model.GoodsOrder, fieldList []string) (err error) LoadWaybill(vendorWaybillID string, waybillVendorID int) (bill *model.Waybill, err error)