- refactor.
This commit is contained in:
@@ -90,18 +90,14 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
|
||||
order.Status = OrderStatusFailed
|
||||
}
|
||||
})
|
||||
|
||||
err = c.updateOrderOtherInfo(order, db)
|
||||
if err == nil {
|
||||
err = c.updateOrderSkuOtherInfo(orderSkus, db)
|
||||
if err == nil {
|
||||
if err = c.updateOrderOtherInfo(order, db); err == nil {
|
||||
if err = c.updateOrderSkuOtherInfo(orderSkus, db); err == nil {
|
||||
db.Begin()
|
||||
// globals.SugarLogger.Debugf("new order:%v", order)
|
||||
order.OrderFinishedAt = DefaultTimeValue
|
||||
order.ID = 0
|
||||
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
|
||||
err = err2
|
||||
if err == nil {
|
||||
if err = err2; err == nil {
|
||||
c.orderMap.Store(ComposeUniversalOrderID(order.VendorOrderID, order.VendorID), order.ID)
|
||||
if created {
|
||||
sql := "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price, weight, order_created_at) VALUES"
|
||||
@@ -111,8 +107,7 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
|
||||
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice, order.Weight, order.OrderCreatedAt)
|
||||
}
|
||||
sql = sql[:len(sql)-1] + ";"
|
||||
_, err = db.Raw(sql, params...).Exec()
|
||||
if err != nil {
|
||||
if _, err = db.Raw(sql, params...).Exec(); err != nil {
|
||||
db.Rollback()
|
||||
baseapi.SugarLogger.Infof("insert order_sku error:%v", err)
|
||||
} else {
|
||||
@@ -137,9 +132,10 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
|
||||
func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
|
||||
db := orm.NewOrm()
|
||||
order.Status = OrderStatusAdjust
|
||||
if isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db); err == nil && !isDuplicated {
|
||||
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()
|
||||
_, 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 {
|
||||
@@ -147,7 +143,7 @@ func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*mo
|
||||
}
|
||||
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err := db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
|
||||
_, 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 {
|
||||
@@ -158,7 +154,8 @@ func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*mo
|
||||
}
|
||||
|
||||
func (c *OrderController) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
|
||||
if isDuplicated, err := c.addOrderStatus(orderStatus, nil); err == nil && !isDuplicated {
|
||||
isDuplicated, err := c.addOrderStatus(orderStatus, nil)
|
||||
if err == nil && !isDuplicated {
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -220,7 +217,7 @@ func (c *OrderController) addOrderStatus(orderStatus *model.OrderStatus, db orm.
|
||||
order.VendorStatus = orderStatus.VendorStatus
|
||||
utils.CallFuncLogError(func() error {
|
||||
columns := []string{"Status", "VendorStatus"}
|
||||
if orderStatus.Status >= OrderStatusDelivered {
|
||||
if orderStatus.Status >= OrderStatusEndBegin {
|
||||
order.OrderFinishedAt = orderStatus.StatusTime
|
||||
columns = append(columns, "OrderFinishedAt")
|
||||
}
|
||||
@@ -260,7 +257,6 @@ func (c *OrderController) order2Status(order *model.GoodsOrder) (retVal *model.O
|
||||
}
|
||||
|
||||
//Waybill
|
||||
|
||||
func (c *OrderController) OnWaybillStatusChanged(bill *model.Waybill, db orm.Ormer) (err error) {
|
||||
return c.updateOrderByWaybill(bill, db)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user