diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index 3bb8beac5..003df66b9 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -102,7 +102,8 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(ctx *jxcontext.Context, vendo globals.SugarLogger.Infof("PickupGoodsAndUpdateStatus orderID:%s userName:%s", vendorOrderID, userName) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) if err == nil { - err = c.PickupGoods(order, model.IsOrderDeliveryByStore(order), userName) + flag := model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order) + err = c.PickupGoods(order, flag, userName) if err == nil { order.Status = model.OrderStatusFinishedPickup if err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order); err == nil { diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 988e75b16..b31546ab6 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -1325,7 +1325,8 @@ func (s *DefScheduler) updateBillsInfo(savedOrderInfo *WatchOrderInfo, bill *mod func (s *DefScheduler) autoPickupGood(savedOrderInfo *WatchOrderInfo) (err error) { order := savedOrderInfo.order - if err = s.PickupGoods(order, model.IsOrderDeliveryByStore(order), ""); err == nil { + flag := model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order) + if err = s.PickupGoods(order, flag, ""); err == nil { order.DeliveryFlag |= model.OrderDeliveryFlagMaskAutoPickup partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"}) } else if err == scheduler.ErrOrderStatusAlreadySatisfyCurOperation { diff --git a/business/model/order.go b/business/model/order.go index 8d600758f..b07dd5915 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -504,6 +504,11 @@ func IsOrderDeliveryByPlatform(order *GoodsOrder) bool { return order.DeliveryType == OrderDeliveryTypePlatform } +//订单是否是自提单 +func IsOrderDeliveryBySelf(order *GoodsOrder) bool { + return order.DeliveryType == OrderDeliveryTypeStoreSelf +} + func IsOrderJXTemp(order *GoodsOrder) bool { return order.VendorID == VendorIDJX && order.Flag&OrderFlagMaskTempJX != 0 }