- fix weixin push msg bug.

- handle jd out-of-order msg.
This commit is contained in:
gazebo
2018-07-20 23:22:31 +08:00
parent 6f0d27e54d
commit 65eeef9966
6 changed files with 97 additions and 65 deletions

View File

@@ -24,7 +24,7 @@ func NewOrderManager() *OrderController {
func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
db := orm.NewOrm()
order.StatusTime = order.OrderCreatedAt
isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db)
isDuplicated, err := addOrderOrWaybillStatus(model.Order2Status(order), db)
if err == nil && !isDuplicated {
if err = c.saveOrder(order, false, db); err == nil {
err = scheduler.CurrentScheduler.OnOrderNew(order)
@@ -37,7 +37,7 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder) (err error) {
db := orm.NewOrm()
order.StatusTime = order.OrderCreatedAt
status := c.order2Status(order)
status := model.Order2Status(order)
isDuplicated, err := addOrderOrWaybillStatus(status, db)
if err == nil && !isDuplicated {
err = utils.CallFuncLogError(func() error {
@@ -207,20 +207,6 @@ func (c *OrderController) addOrderStatus(orderStatus *model.OrderStatus, db orm.
return isDuplicated, err
}
func (c *OrderController) order2Status(order *model.GoodsOrder) (retVal *model.OrderStatus) {
retVal = &model.OrderStatus{
VendorOrderID: order.VendorOrderID,
VendorID: order.VendorID,
OrderType: model.OrderTypeOrder,
RefVendorOrderID: order.VendorOrderID,
RefVendorID: order.VendorID,
Status: order.Status,
VendorStatus: order.VendorStatus,
StatusTime: order.StatusTime,
}
return retVal
}
func (c *OrderController) LoadOrder(vendorOrderID string, vendorID int) (order *model.GoodsOrder, err error) {
db := orm.NewOrm()
order = &model.GoodsOrder{

View File

@@ -19,7 +19,7 @@ func NewWaybillManager() *WaybillController {
func (w *WaybillController) onWaybillNew(bill *model.Waybill) (err error) {
db := orm.NewOrm()
isDuplicated, err := addOrderOrWaybillStatus(w.waybill2Status(bill), db)
isDuplicated, err := addOrderOrWaybillStatus(model.Waybill2Status(bill), db)
if !isDuplicated {
bill.WaybillFinishedAt = utils.DefaultTimeValue
bill.ID = 0
@@ -89,7 +89,7 @@ func (w *WaybillController) addWaybillStatus(bill *model.Waybill, db orm.Ormer)
if db == nil {
db = orm.NewOrm()
}
waybillStatus := w.waybill2Status(bill)
waybillStatus := model.Waybill2Status(bill)
isDuplicated, err = addOrderOrWaybillStatus(waybillStatus, db)
if !isDuplicated && waybillStatus.Status > model.WaybillStatusNew {
params := orm.Params{
@@ -106,17 +106,3 @@ func (w *WaybillController) addWaybillStatus(bill *model.Waybill, db orm.Ormer)
}
return isDuplicated, err
}
func (w *WaybillController) waybill2Status(bill *model.Waybill) (retVal *model.OrderStatus) {
retVal = &model.OrderStatus{
VendorOrderID: bill.VendorWaybillID,
VendorID: bill.WaybillVendorID,
OrderType: model.OrderTypeWaybill,
RefVendorOrderID: bill.VendorOrderID,
RefVendorID: bill.OrderVendorID,
Status: bill.Status,
VendorStatus: bill.VendorStatus,
StatusTime: bill.WaybillCreatedAt,
}
return retVal
}