- fixed bug when calling legacyWriteJxOrder.
This commit is contained in:
@@ -22,6 +22,44 @@ func NewOrderManager() *OrderController {
|
||||
|
||||
func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
return c.saveOrder(order, false, db)
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db)
|
||||
if err == nil && !isDuplicated {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw("DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
|
||||
return err
|
||||
}, "OnAdjustOrder delete order")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
|
||||
return err
|
||||
}, "OnAdjustOrder delete order_sku")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return c.saveOrder(order, true, db)
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
|
||||
isDuplicated, err := c.addOrderStatus(orderStatus, nil)
|
||||
if err == nil && !isDuplicated {
|
||||
if globals.HandleLegacyJxOrder {
|
||||
c.legacyJxOrderStatusChanged(orderStatus, nil)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// private
|
||||
func (c *OrderController) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.Ormer) (err error) {
|
||||
isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db)
|
||||
if !isDuplicated {
|
||||
c.handleAutoAcceptOrder(order.VendorOrderID, order.VendorID, order.ConsigneeMobile, order.StoreID, db, func(isAccept bool) {
|
||||
@@ -56,7 +94,7 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
|
||||
} else {
|
||||
db.Commit()
|
||||
if globals.HandleLegacyJxOrder {
|
||||
c.legacyWriteJxOrder(order, db, false)
|
||||
c.legacyWriteJxOrder(order, db, isAdjust)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -73,44 +111,6 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db)
|
||||
if err == nil && !isDuplicated {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw("DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
|
||||
return err
|
||||
}, "OnAdjustOrder delete order")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
|
||||
return err
|
||||
}, "OnAdjustOrder delete order_sku")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
err = c.OnOrderNew(order)
|
||||
if globals.HandleLegacyJxOrder && err == nil {
|
||||
c.legacyWriteJxOrder(order, db, true)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
|
||||
isDuplicated, err := c.addOrderStatus(orderStatus, nil)
|
||||
if err == nil && !isDuplicated {
|
||||
if globals.HandleLegacyJxOrder {
|
||||
c.legacyJxOrderStatusChanged(orderStatus, nil)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// private
|
||||
func (c *OrderController) updateOrderSkuOtherInfo(orderSkus []*model.OrderSku, db orm.Ormer) (err error) {
|
||||
var sql string
|
||||
if orderSkus[0].VendorID == model.VendorIDJD {
|
||||
|
||||
@@ -135,7 +135,7 @@ func (c *OrderController) legacyWriteJxOrder(order *model.GoodsOrder, db orm.Orm
|
||||
sql = sql[:len(sql)-1] + ";"
|
||||
if _, err = db.Raw(sql, params...).Exec(); err != nil {
|
||||
db.Rollback()
|
||||
baseapi.SugarLogger.Infof("insert jxordersku2 error:%v", err)
|
||||
baseapi.SugarLogger.Infof("insert jxordersku error:%v", err)
|
||||
} else {
|
||||
db.Commit()
|
||||
vendorOrderID := utils.Str2Int64(order.VendorOrderID)
|
||||
|
||||
Reference in New Issue
Block a user