diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index f49565ee2..3b9d4a755 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -280,9 +280,11 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err } else { savedOrderInfo.SetOrder(order) // 调整单或消息错序都可能进到这里来 } - s.resetTimer(savedOrderInfo, nil, isPending) - if !isPending { - weixinmsg.NotifyNewOrder(order) + if order.Status >= model.OrderStatusNew { + s.resetTimer(savedOrderInfo, nil, isPending) + if !isPending { + weixinmsg.NotifyNewOrder(order) + } } return err } @@ -292,6 +294,11 @@ func (s *DefScheduler) OnOrderStatusChanged(status *model.OrderStatus, isPending if status.LockStatus != model.OrderStatusUnknown || status.Status > model.OrderStatusUnknown { globals.SugarLogger.Debugf("OnOrderStatusChanged orderID:%s %s, status:%v", status.VendorOrderID, model.OrderStatusName[status.Status], status) savedOrderInfo := s.loadSavedOrderFromMap(status, true) + if status.Status == model.OrderStatusNew { + if !isPending { + weixinmsg.NotifyNewOrder(savedOrderInfo.order) + } + } s.updateOrderByStatus(savedOrderInfo.order, status) if status.LockStatus == model.OrderStatusUnknown && status.Status > model.OrderStatusUnknown { // 只处理状态转换,一般消息不处理 s.resetTimer(savedOrderInfo, nil, isPending) diff --git a/business/model/const.go b/business/model/const.go index 2790a98af..ebc2a29b4 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -115,6 +115,7 @@ const ( OrderStatusUnknown = 0 + OrderStatusWait4Pay = 3 // 下单待支付,微盟在这个时间发新订单事件 OrderStatusNew = 5 // 新订单 OrderStatusAdjust = 8 // 订单调整 OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货 diff --git a/business/partner/purchase/weimob/wsc/order.go b/business/partner/purchase/weimob/wsc/order.go index 9aa3e2568..f5bd1a1f9 100644 --- a/business/partner/purchase/weimob/wsc/order.go +++ b/business/partner/purchase/weimob/wsc/order.go @@ -27,7 +27,7 @@ const ( var ( VendorStatus2StatusMap = map[int]int{ - weimobapi.OrderStatusWait4Pay: model.OrderStatusUnknown, + weimobapi.OrderStatusWait4Pay: model.OrderStatusWait4Pay, weimobapi.OrderStatusPayed: model.OrderStatusNew, FakeOrderStatusAccepted: model.OrderStatusAccepted, FakeOrderStatusFinishedPickup: model.OrderStatusFinishedPickup, @@ -270,6 +270,7 @@ func (p *PurchaseHandler) arrangeSaleStore(order *model.GoodsOrder, cityName, pr } if selectedStore != nil { order.StoreID = selectedStore.ID + order.StoreName = selectedStore.Name globals.SugarLogger.Debugf("arrangeSaleStore orderID:%s arranged to store:%d", order.VendorOrderID, selectedStore.ID) } else { globals.SugarLogger.Errorf("arrangeSaleStore orderID:%s 找不到门店", order.VendorOrderID)