- record order ok.

This commit is contained in:
gazebo
2018-07-10 19:06:51 +08:00
parent a76213e8f0
commit c6a3066daf
14 changed files with 143 additions and 83 deletions

View File

@@ -32,7 +32,7 @@ const (
)
type PurchasePlatformHandler interface {
AcceptOrRefuseOrder(order *model.Order, isAcceptIt bool)
AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool)
}
var (
@@ -46,7 +46,7 @@ func init() {
type OrderController struct {
}
func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, order *model.Order, orderSkus []*model.OrderSku) (err error) {
func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
db := orm.NewOrm()
c.handleAutoAcceptOrder(order.VendorOrderID, order.VendorID, order.ConsigneeMobile, order.StoreID, db, func(isAccept bool) {
// purchasePlatform.AcceptOrRefuseOrder(order, isAccept)
@@ -62,6 +62,7 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
err = c.updateOrderSkuOtherInfo(orderSkus, db)
if err == nil {
db.Begin()
// globals.SugarLogger.Debugf("new order:%v", order)
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
err = err2
if err == nil {
@@ -71,17 +72,18 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
params := []interface{}{}
for _, sku := range orderSkus {
if sql == "" {
sql = "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price) VALUES(?, ?, ?, ?, ?, ?, ?, ?)"
sql = "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price, order_created_at) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
} else {
sql += ",(?, ?, ?, ?, ?, ?, ?, ?)"
sql += ",(?, ?, ?, ?, ?, ?, ?, ?, ?)"
}
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice)
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice, order.OrderCreatedAt)
}
sql += ";"
_, err = db.Raw(sql, params...).Exec()
if err != nil {
db.Rollback()
baseapi.SugarLogger.Infof("insert order_sku error:%v", err)
} else {
db.Commit()
}
@@ -91,26 +93,28 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
}
} else {
db.Rollback()
globals.SugarLogger.Warnf("create order:%v, error:%v", order, err)
}
}
}
return err
}
func (c *OrderController) OnOrderAdjust(purchasePlatform PurchasePlatformHandler, order *model.Order, orderSkus []*model.OrderSku) (err error) {
func (c *OrderController) OnOrderAdjust(purchasePlatform PurchasePlatformHandler, order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
db := orm.NewOrm()
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_sku")
}, "OnAdjustOrder delete order")
if err != nil {
return err
}
err = utils.CallFuncLogError(func() error {
_, err := db.Raw("DELETE FROM 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")
}, "OnAdjustOrder delete order_sku")
if err != nil {
return err
}
@@ -175,7 +179,7 @@ func (c *OrderController) updateOrderSkuOtherInfo(orderSkus []*model.OrderSku, d
return nil
}
func (c *OrderController) updateOrderOtherInfo(order *model.Order, db orm.Ormer) (err error) {
func (c *OrderController) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
return nil
}
@@ -214,14 +218,14 @@ func (c *OrderController) handleAutoAcceptOrder(orderID string, vendorID int, us
}
func (c *OrderController) addOrderStatus(msg *model.OrderStatus) (err error) {
order := &model.Order{
order := &model.GoodsOrder{
VendorOrderID: msg.VendorOrderID,
VendorID: msg.VendorID,
}
db := orm.NewOrm()
value, ok := OrderMap.Load(ComposeUniversalOrderID(msg.VendorOrderID, msg.VendorID))
if !ok {
globals.SugarLogger.Warnf("can not get order:%v, from cache", order)
// globals.SugarLogger.Infof("can not get order:%v, from cache", order)
err = db.Read(order, "VendorOrderID", "VendorID")
} else {
order.ID = value.(int64)