This commit is contained in:
苏尹岚
2021-01-07 17:51:55 +08:00
parent 25bb55f92d
commit 16bb40b4a7
5 changed files with 15 additions and 11 deletions

View File

@@ -76,7 +76,7 @@ func (c *OrderManager) OnOrderNew(order *model.GoodsOrder, orderStatus *model.Or
if err == nil { if err == nil {
dao.Commit(db) dao.Commit(db)
if !isDuplicated { if !isDuplicated {
err = scheduler.CurrentScheduler.OnOrderNew(order, false) err = scheduler.CurrentScheduler.OnOrderNew(order, false, false)
} }
} else { } else {
dao.Rollback(db) dao.Rollback(db)
@@ -148,7 +148,7 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model
dao.Commit(db) dao.Commit(db)
if !isDuplicated { if !isDuplicated {
// 因为订单调度器需要的是真实状态所以用order的状态 // 因为订单调度器需要的是真实状态所以用order的状态
_ = scheduler.CurrentScheduler.OnOrderNew(order, false) _ = scheduler.CurrentScheduler.OnOrderNew(order, false, false)
_ = scheduler.CurrentScheduler.OnOrderStatusChanged(order, orderStatus, false) _ = scheduler.CurrentScheduler.OnOrderStatusChanged(order, orderStatus, false)
} }
} else { } else {

View File

@@ -156,7 +156,7 @@ func LoadPendingOrders() {
for _, item := range sortOrders { for _, item := range sortOrders {
if order, ok := item.(*model.GoodsOrder); ok { if order, ok := item.(*model.GoodsOrder); ok {
jxutils.CallMsgHandlerAsync(func() { jxutils.CallMsgHandlerAsync(func() {
scheduler.CurrentScheduler.OnOrderNew(order, true) scheduler.CurrentScheduler.OnOrderNew(order, true, true)
}, jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID)) }, jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID))
} else if status, ok := item.(*model.OrderStatus); ok { } else if status, ok := item.(*model.OrderStatus); ok {
jxutils.CallMsgHandlerAsync(func() { jxutils.CallMsgHandlerAsync(func() {

View File

@@ -265,7 +265,7 @@ func init() {
} }
if isAcceptIt { if isAcceptIt {
if err == nil { if err == nil {
sch.notifyNewOrder(order) sch.notifyNewOrder(order, false)
msghub.OnNewOrder(order) msghub.OnNewOrder(order)
} }
} else { } 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) globals.SugarLogger.Debugf("OnOrderNew orderID:%s", order.VendorOrderID)
savedOrderInfo := s.loadSavedOrderFromMap(model.Order2Status(order), false) savedOrderInfo := s.loadSavedOrderFromMap(model.Order2Status(order), false)
savedOrderInfo.SetOrder(order) savedOrderInfo.SetOrder(order)
@@ -392,7 +392,9 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err
weixinmsg.NotifyNewOrder(order) weixinmsg.NotifyNewOrder(order)
} }
OrderProfitWarning(order) OrderProfitWarning(order)
if !isAuto {
smsmsg.NotifyNewOrder(order) smsmsg.NotifyNewOrder(order)
}
// smsmsg.NotifyNewUserOrder(order) // smsmsg.NotifyNewUserOrder(order)
push.NotifyNewOrder(order) push.NotifyNewOrder(order)
}) })
@@ -403,7 +405,7 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err
if order.Status >= model.OrderStatusNew { if order.Status >= model.OrderStatusNew {
s.resetTimer(savedOrderInfo, nil, isPending) s.resetTimer(savedOrderInfo, nil, isPending)
if !isPending && order.Status >= model.OrderStatusAccepted { // 有订单消息错序先收到接单消息再收到新订单消息导致接单TIMER不动作这里补一下 if !isPending && order.Status >= model.OrderStatusAccepted { // 有订单消息错序先收到接单消息再收到新订单消息导致接单TIMER不动作这里补一下
s.notifyNewOrder(order) s.notifyNewOrder(order, isAuto)
msghub.OnNewOrder(order) msghub.OnNewOrder(order)
} }
} }
@@ -1505,7 +1507,7 @@ func setFakeActualPayPrice(order *model.GoodsOrder) (newOrder *model.GoodsOrder)
return newOrder 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 { if order.Flag&model.OrderFlagMaskFake == 0 && order.VendorID != model.VendorIDEBAI {
utils.CallFuncAsync(func() { utils.CallFuncAsync(func() {
// order = setFakeActualPayPrice(order) // order = setFakeActualPayPrice(order)
@@ -1517,7 +1519,9 @@ func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder) {
weixinmsg.NotifyNewOrder(order) weixinmsg.NotifyNewOrder(order)
} }
OrderProfitWarning(order) OrderProfitWarning(order)
if !isAuto {
smsmsg.NotifyNewOrder(order) smsmsg.NotifyNewOrder(order)
}
// smsmsg.NotifyNewUserOrder(order) // smsmsg.NotifyNewUserOrder(order)
push.NotifyNewOrder(order) push.NotifyNewOrder(order)
}) })

View File

@@ -35,7 +35,7 @@ var (
type IScheduler interface { 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) OnOrderStatusChanged(order *model.GoodsOrder, status *model.OrderStatus, isPending bool) (err error)
// 以下是运单 // 以下是运单

View File

@@ -55,7 +55,7 @@ func (c *PurchaseHandler) onWaybillMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiap
order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.WaybillVendorID) order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.WaybillVendorID)
if order2.Status == model.OrderStatusWaitAccepted { if order2.Status == model.OrderStatusWaitAccepted {
order2.Status = model.OrderStatusNew order2.Status = model.OrderStatusNew
scheduler.CurrentScheduler.OnOrderNew(order2, false) scheduler.CurrentScheduler.OnOrderNew(order2, false, false)
} }
} }
} else if order.Status == model.WaybillStatusCanceled { } else if order.Status == model.WaybillStatusCanceled {