- handle pending orders and waybills when starting.
This commit is contained in:
@@ -2,6 +2,7 @@ package controller
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/scheduler"
|
||||
|
||||
@@ -21,6 +22,29 @@ func NewOrderManager() *OrderController {
|
||||
return &OrderController{}
|
||||
}
|
||||
|
||||
func (c *OrderController) LoadPendingOrders() {
|
||||
db := orm.NewOrm()
|
||||
var orders []*model.GoodsOrder
|
||||
_, err := db.Raw(`
|
||||
SELECT *
|
||||
FROM goods_order
|
||||
WHERE order_created_at >= ?
|
||||
AND status < ?
|
||||
ORDER by order_created_at
|
||||
`, time.Now().Add(-pendingOrderGapMax), model.OrderStatusEndBegin).QueryRows(&orders)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Warnf("init load pending orders error:%v", err)
|
||||
return
|
||||
}
|
||||
globals.SugarLogger.Info(len(orders))
|
||||
for _, v := range orders {
|
||||
v2 := v
|
||||
routinePool.CallFunAsync(func() {
|
||||
scheduler.CurrentScheduler.OnOrderNew(v2)
|
||||
}, v2.VendorOrderID)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
order.StatusTime = order.OrderCreatedAt
|
||||
|
||||
Reference in New Issue
Block a user