aa
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
// 以下是运单
|
// 以下是运单
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user