- new table GoodsOrderOriginal
This commit is contained in:
@@ -145,10 +145,20 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
|
|||||||
order.StatusTime = orderStatus.StatusTime
|
order.StatusTime = orderStatus.StatusTime
|
||||||
}
|
}
|
||||||
|
|
||||||
globals.SugarLogger.Debugf("saveOrder isAdjust:%t, order:%v", isAdjust, order)
|
// globals.SugarLogger.Debugf("saveOrder isAdjust:%t, order:%v", isAdjust, order)
|
||||||
db.Begin()
|
db.Begin()
|
||||||
|
defer func() {
|
||||||
|
db.Rollback()
|
||||||
|
}()
|
||||||
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
|
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
|
originalOrder := &model.GoodsOrderOriginal{
|
||||||
|
VendorOrderID: order.VendorOrderID,
|
||||||
|
VendorID: order.VendorID,
|
||||||
|
OrderCreatedAt: order.OrderCreatedAt,
|
||||||
|
OriginalData: order.OriginalData,
|
||||||
|
}
|
||||||
|
if _, _, err = db.ReadOrCreate(originalOrder, "VendorOrderID", "VendorID"); err == nil {
|
||||||
if created {
|
if created {
|
||||||
sql := `INSERT INTO order_sku(vendor_order_id, vendor_id, count, vendor_sku_id, sku_id, jx_sku_id, sku_name,
|
sql := `INSERT INTO order_sku(vendor_order_id, vendor_id, count, vendor_sku_id, sku_id, jx_sku_id, sku_name,
|
||||||
shop_price, sale_price, weight, sku_type, promotion_type, order_created_at) VALUES`
|
shop_price, sale_price, weight, sku_type, promotion_type, order_created_at) VALUES`
|
||||||
@@ -160,7 +170,6 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
|
|||||||
}
|
}
|
||||||
sql = sql[:len(sql)-1] + ";"
|
sql = sql[:len(sql)-1] + ";"
|
||||||
if _, err = db.Raw(sql, params...).Exec(); err != nil {
|
if _, err = db.Raw(sql, params...).Exec(); err != nil {
|
||||||
db.Rollback()
|
|
||||||
baseapi.SugarLogger.Infof("saveOrder insert order:%v, order_sku error:%v", order, err)
|
baseapi.SugarLogger.Infof("saveOrder insert order:%v, order_sku error:%v", order, err)
|
||||||
} else {
|
} else {
|
||||||
db.Commit()
|
db.Commit()
|
||||||
@@ -172,8 +181,8 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
|
|||||||
db.Commit()
|
db.Commit()
|
||||||
baseapi.SugarLogger.Infof("saveOrder duplicated orderid:%s msg received", order.VendorOrderID)
|
baseapi.SugarLogger.Infof("saveOrder duplicated orderid:%s msg received", order.VendorOrderID)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
db.Rollback()
|
|
||||||
globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err)
|
globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err)
|
||||||
}
|
}
|
||||||
return isDuplicated, err
|
return isDuplicated, err
|
||||||
|
|||||||
@@ -61,6 +61,21 @@ func (o *GoodsOrder) TableUnique() [][]string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GoodsOrderOriginal struct {
|
||||||
|
ID int64 `orm:"column(id)" json:"-"`
|
||||||
|
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
|
||||||
|
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||||
|
OrderCreatedAt time.Time `orm:"type(datetime);index" json:"orderCreatedAt"` // 这里记录的是订单生效时间,即用户支付完成(货到付款即为下单时间)
|
||||||
|
CreatedAt time.Time `orm:"auto_now_add;type(datetime)" json:"createdAt"`
|
||||||
|
OriginalData string `orm:"type(text)" json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GoodsOrderOriginal) TableUnique() [][]string {
|
||||||
|
return [][]string{
|
||||||
|
[]string{"VendorOrderID", "VendorID"},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type OrderSku struct {
|
type OrderSku struct {
|
||||||
ID int64 `orm:"column(id)" json:"-"`
|
ID int64 `orm:"column(id)" json:"-"`
|
||||||
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
|
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ func Init() {
|
|||||||
orm.RegisterModel(new(legacymodel.WeiXins), new(legacymodel.JxBackendUser))
|
orm.RegisterModel(new(legacymodel.WeiXins), new(legacymodel.JxBackendUser))
|
||||||
|
|
||||||
orm.RegisterModel(new(model.GoodsOrder))
|
orm.RegisterModel(new(model.GoodsOrder))
|
||||||
|
orm.RegisterModel(new(model.GoodsOrderOriginal))
|
||||||
orm.RegisterModel(new(model.OrderSku))
|
orm.RegisterModel(new(model.OrderSku))
|
||||||
orm.RegisterModel(new(model.Waybill))
|
orm.RegisterModel(new(model.Waybill))
|
||||||
orm.RegisterModel(new(model.OrderStatus))
|
orm.RegisterModel(new(model.OrderStatus))
|
||||||
|
|||||||
Reference in New Issue
Block a user