From 16bb40b4a7d14dd2a520495736b7a06215a368b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 7 Jan 2021 17:51:55 +0800 Subject: [PATCH] aa --- business/jxcallback/orderman/order.go | 4 ++-- business/jxcallback/orderman/orderman.go | 2 +- business/jxcallback/scheduler/defsch/defsch.go | 16 ++++++++++------ business/jxcallback/scheduler/scheduler.go | 2 +- business/partner/purchase/ebai/waybill.go | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index f2a88dd2b..1c26d62cc 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -76,7 +76,7 @@ func (c *OrderManager) OnOrderNew(order *model.GoodsOrder, orderStatus *model.Or if err == nil { dao.Commit(db) if !isDuplicated { - err = scheduler.CurrentScheduler.OnOrderNew(order, false) + err = scheduler.CurrentScheduler.OnOrderNew(order, false, false) } } else { dao.Rollback(db) @@ -148,7 +148,7 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model dao.Commit(db) if !isDuplicated { // 因为订单调度器需要的是真实状态,所以用order的状态 - _ = scheduler.CurrentScheduler.OnOrderNew(order, false) + _ = scheduler.CurrentScheduler.OnOrderNew(order, false, false) _ = scheduler.CurrentScheduler.OnOrderStatusChanged(order, orderStatus, false) } } else { diff --git a/business/jxcallback/orderman/orderman.go b/business/jxcallback/orderman/orderman.go index e6c385406..b9233ee95 100644 --- a/business/jxcallback/orderman/orderman.go +++ b/business/jxcallback/orderman/orderman.go @@ -156,7 +156,7 @@ func LoadPendingOrders() { for _, item := range sortOrders { if order, ok := item.(*model.GoodsOrder); ok { jxutils.CallMsgHandlerAsync(func() { - scheduler.CurrentScheduler.OnOrderNew(order, true) + scheduler.CurrentScheduler.OnOrderNew(order, true, true) }, jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID)) } else if status, ok := item.(*model.OrderStatus); ok { jxutils.CallMsgHandlerAsync(func() { diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index eda0c1103..988e75b16 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -265,7 +265,7 @@ func init() { } if isAcceptIt { if err == nil { - sch.notifyNewOrder(order) + sch.notifyNewOrder(order, false) msghub.OnNewOrder(order) } } else { @@ -374,7 +374,7 @@ func Init() { } // 以下是订单 -func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err error) { +func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool, isAuto bool) (err error) { globals.SugarLogger.Debugf("OnOrderNew orderID:%s", order.VendorOrderID) savedOrderInfo := s.loadSavedOrderFromMap(model.Order2Status(order), false) savedOrderInfo.SetOrder(order) @@ -392,7 +392,9 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err weixinmsg.NotifyNewOrder(order) } OrderProfitWarning(order) - smsmsg.NotifyNewOrder(order) + if !isAuto { + smsmsg.NotifyNewOrder(order) + } // smsmsg.NotifyNewUserOrder(order) push.NotifyNewOrder(order) }) @@ -403,7 +405,7 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err if order.Status >= model.OrderStatusNew { s.resetTimer(savedOrderInfo, nil, isPending) if !isPending && order.Status >= model.OrderStatusAccepted { // 有订单消息错序,先收到接单消息,再收到新订单消息,导致接单TIMER不动作,这里补一下 - s.notifyNewOrder(order) + s.notifyNewOrder(order, isAuto) msghub.OnNewOrder(order) } } @@ -1505,7 +1507,7 @@ func setFakeActualPayPrice(order *model.GoodsOrder) (newOrder *model.GoodsOrder) return newOrder } -func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder) { +func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder, isAuto bool) { if order.Flag&model.OrderFlagMaskFake == 0 && order.VendorID != model.VendorIDEBAI { utils.CallFuncAsync(func() { // order = setFakeActualPayPrice(order) @@ -1517,7 +1519,9 @@ func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder) { weixinmsg.NotifyNewOrder(order) } OrderProfitWarning(order) - smsmsg.NotifyNewOrder(order) + if !isAuto { + smsmsg.NotifyNewOrder(order) + } // smsmsg.NotifyNewUserOrder(order) push.NotifyNewOrder(order) }) diff --git a/business/jxcallback/scheduler/scheduler.go b/business/jxcallback/scheduler/scheduler.go index e4a57e155..801f639f3 100644 --- a/business/jxcallback/scheduler/scheduler.go +++ b/business/jxcallback/scheduler/scheduler.go @@ -35,7 +35,7 @@ var ( type IScheduler interface { // 以下是订单 - OnOrderNew(order *model.GoodsOrder, isPending bool) (err error) + OnOrderNew(order *model.GoodsOrder, isPending bool, isAuto bool) (err error) OnOrderStatusChanged(order *model.GoodsOrder, status *model.OrderStatus, isPending bool) (err error) // 以下是运单 diff --git a/business/partner/purchase/ebai/waybill.go b/business/partner/purchase/ebai/waybill.go index ba25910dd..1005cac19 100644 --- a/business/partner/purchase/ebai/waybill.go +++ b/business/partner/purchase/ebai/waybill.go @@ -55,7 +55,7 @@ func (c *PurchaseHandler) onWaybillMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiap order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.WaybillVendorID) if order2.Status == model.OrderStatusWaitAccepted { order2.Status = model.OrderStatusNew - scheduler.CurrentScheduler.OnOrderNew(order2, false) + scheduler.CurrentScheduler.OnOrderNew(order2, false, false) } } } else if order.Status == model.WaybillStatusCanceled {