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 {
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 {

View File

@@ -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() {

View File

@@ -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)
})

View File

@@ -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)
// 以下是运单

View File

@@ -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 {