diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index bd858a4c1..b36a9b5de 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -189,6 +189,9 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m loadOrder.Status = model.OrderStatusAccepted loadOrder.VendorStatus = tao_vegetable.OrderStatusNew c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"}) + } else if loadOrder.Status < model.OrderStatusAccepted && loadOrder.VendorID == model.VendorIDMTWM { + loadOrder.Status = model.OrderStatusAccepted + c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"}) } } @@ -306,6 +309,9 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m if err != nil { globals.SugarLogger.Debug("Get store Detail Err: ", err) } + + // 商品库存修改 + ModifyOrderSkusStock(db, order2, true) } if !isDuplicated { @@ -434,9 +440,9 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao //globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err) } //修改商品库存 - //if err == nil { - // err = ModifyOrderSkusStock(db, order, false) - //} + if err == nil { + err = ModifyOrderSkusStock(db, order, false) + } if err == nil { dao.Commit(db, txDB) } @@ -444,6 +450,10 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao } func ModifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (err error) { + store, err := dao.GetStoreDetail(db, order.JxStoreID, order.VendorID, order.VendorOrgCode) + if err != nil || store.IsSync != model.YES { + return nil // 门店未打开同步不修改库存 + } skus := order.Skus for _, sku := range skus { storeSkus, _ := dao.GetStoresSkusInfo(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{sku.SkuID}) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 52f6ed65f..9014c640b 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -301,6 +301,7 @@ func init() { if err = sch.autoPickupGood(savedOrderInfo); err != nil { partner.CurOrderManager.OnOrderMsg(savedOrderInfo.order, "自动拣货失败", err.Error()) } else { + partner.CurOrderManager.OnOrderMsg(savedOrderInfo.order, "自动拣货成功 [%s]", utils.Time2TimeStr(time.Now())) smsmsg.NotifyPickOrder(savedOrderInfo.order) } return nil diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index f7ef41a85..11a759eb1 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -563,7 +563,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI }) { err = nil goodsOrder, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - if goodsOrder.Status < model.OrderStatusAccepted { + if goodsOrder.Status <= model.OrderStatusAccepted { order.Status = model.OrderStatusAccepted dao.UpdateEntity(dao.GetDB(), order, "Status") }