- saveOrder don't use unsuitable status.

This commit is contained in:
gazebo
2018-11-30 20:55:10 +08:00
parent 44a33a9d06
commit 421871334e

View File

@@ -130,19 +130,24 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
order.WaybillVendorID = model.VendorIDUnknown
order.OrderFinishedAt = utils.DefaultTimeValue
// hardcode 兼容京东消息错序问题
orderStatus := &model.OrderStatus{}
if db.Raw(`
SELECT *
FROM order_status
WHERE order_type = ? AND vendor_order_id = ? AND vendor_id = ?
ORDER BY status_time DESC
LIMIT 1
`, model.OrderTypeOrder, order.VendorOrderID, order.VendorID).QueryRow(orderStatus) == nil {
order.Status = orderStatus.Status
order.VendorStatus = orderStatus.VendorStatus
order.StatusTime = orderStatus.StatusTime
// todo hardcode 兼容京东消息错序问题
if true { //order.VendorID == model.VendorIDJD {
orderStatus := &model.OrderStatus{}
if db.Raw(`
SELECT *
FROM order_status
WHERE order_type = ? AND vendor_order_id = ? AND vendor_id = ?
ORDER BY status_time DESC
LIMIT 1
`, model.OrderTypeOrder, order.VendorOrderID, order.VendorID).QueryRow(orderStatus) == nil {
if orderStatus.Status > order.Status {
order.Status = orderStatus.Status
order.VendorStatus = orderStatus.VendorStatus
order.StatusTime = orderStatus.StatusTime
}
}
}
order.OrderCreatedAt = order.StatusTime
// globals.SugarLogger.Debugf("saveOrder isAdjust:%t, order:%v", isAdjust, order)