- pending order use real status when calling scheduler.OnOrderNew.

- set the order status to the proper value when there is a early message camme(saveOrder).
This commit is contained in:
gazebo
2018-07-25 22:58:19 +08:00
parent c0770e9ab5
commit a8c2e9991b
4 changed files with 31 additions and 15 deletions

View File

@@ -84,10 +84,10 @@ func LoadPendingOrders() {
var sortOrders StatusTimerSlice
for _, order := range orders {
if order.Status > model.OrderStatusNew {
order2 := *order
sortOrders = append(sortOrders, &order2)
status := model.Order2Status(order)
sortOrders = append(sortOrders, status)
}
order.Status = model.OrderStatusNew
// order.Status = model.OrderStatusNew // 就是要以实际order状态来调用scheduler.OnOrderNew
order.StatusTime = order.OrderCreatedAt
sortOrders = append(sortOrders, order)
}
@@ -103,15 +103,13 @@ func LoadPendingOrders() {
sort.Sort(sortOrders)
for _, item := range sortOrders {
if order, ok := item.(*model.GoodsOrder); ok {
if order.Status == model.OrderStatusNew {
jxutils.CallMsgHandlerAsync(func() {
scheduler.CurrentScheduler.OnOrderNew(order, true)
}, order.VendorOrderID)
} else {
jxutils.CallMsgHandlerAsync(func() {
scheduler.CurrentScheduler.OnOrderStatusChanged(model.Order2Status(order), true)
}, order.VendorOrderID)
}
jxutils.CallMsgHandlerAsync(func() {
scheduler.CurrentScheduler.OnOrderNew(order, true)
}, order.VendorOrderID)
} else if status, ok := item.(*model.OrderStatus); ok {
jxutils.CallMsgHandlerAsync(func() {
scheduler.CurrentScheduler.OnOrderStatusChanged(status, true)
}, order.VendorOrderID)
} else {
bill := item.(*model.Waybill)
jxutils.CallMsgHandlerAsync(func() {