- refactor updateOrderSkuOtherInfo using ConvertDBFieldPrefix
This commit is contained in:
@@ -196,9 +196,9 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
|
|
||||||
var sql string
|
var sql string
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
||||||
skuIDs := make([]int64, len(orderSkus))
|
vendorSkuIDs := make([]int64, len(orderSkus))
|
||||||
for k, v := range orderSkus {
|
for k, v := range orderSkus {
|
||||||
skuIDs[k] = utils.Str2Int64(v.VendorSkuID)
|
vendorSkuIDs[k] = utils.Str2Int64(v.VendorSkuID)
|
||||||
}
|
}
|
||||||
if order.VendorID == model.VendorIDELM { // todo 临时用
|
if order.VendorID == model.VendorIDELM { // todo 临时用
|
||||||
sql = `
|
sql = `
|
||||||
@@ -206,26 +206,23 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
FROM eb_sku_id_map t1
|
FROM eb_sku_id_map t1
|
||||||
LEFT JOIN store_sku_bind t2 ON t1.custom_sku_id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
LEFT JOIN store_sku_bind t2 ON t1.custom_sku_id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
||||||
LEFT JOIN sku t3 ON t1.custom_sku_id = t3.id AND t3.deleted_at = ?
|
LEFT JOIN sku t3 ON t1.custom_sku_id = t3.id AND t3.deleted_at = ?
|
||||||
WHERE t1.sku_id IN (-1,` + dao.GenQuestionMarks(len(skuIDs)) + ")"
|
WHERE t1.sku_id IN (-1,` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||||
} else {
|
} else {
|
||||||
vendorSkuIDField := ""
|
tableName := "t2"
|
||||||
if order.VendorID == model.VendorIDJD {
|
if model.MultiStoresVendorMap[order.VendorID] == 1 {
|
||||||
vendorSkuIDField = " t1.jd_id "
|
tableName = "t1"
|
||||||
} else if order.VendorID == model.VendorIDELM {
|
|
||||||
vendorSkuIDField = " t2.elm_id "
|
|
||||||
} else if order.VendorID == model.VendorIDEBAI {
|
|
||||||
vendorSkuIDField = " t2.ebai_id "
|
|
||||||
} else {
|
|
||||||
panic(fmt.Sprintf("unknown vendorID:%d", order.VendorID))
|
|
||||||
}
|
}
|
||||||
sql = "SELECT " + vendorSkuIDField + ` vendor_sku_id, t1.id sku_id, t2.unit_price, t1.weight
|
fieldPrefix := dao.ConvertDBFieldPrefix(model.VendorNames[order.VendorID])
|
||||||
|
sql = `
|
||||||
|
SELECT %s.%s_id vendor_sku_id, t1.id sku_id, t2.unit_price, t1.weight
|
||||||
FROM sku t1
|
FROM sku t1
|
||||||
LEFT JOIN store_sku_bind t2 ON t1.id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
LEFT JOIN store_sku_bind t2 ON t1.id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
||||||
WHERE t1.deleted_at = ? AND ` + vendorSkuIDField + " IN (-1, " + dao.GenQuestionMarks(len(skuIDs)) + ")"
|
WHERE t1.deleted_at = ? AND %s.%s_id IN (-1, ` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||||
|
sql = fmt.Sprintf(sql, tableName, fieldPrefix, tableName, fieldPrefix)
|
||||||
}
|
}
|
||||||
var skuInfos []*tStoreSkuBindAndVendorSkuID
|
var skuInfos []*tStoreSkuBindAndVendorSkuID
|
||||||
db2 := dao.WrapDB(db)
|
db2 := dao.WrapDB(db)
|
||||||
if err = dao.GetRows(db2, &skuInfos, sql, utils.DefaultTimeValue, jxStoreID, utils.DefaultTimeValue, skuIDs); err != nil {
|
if err = dao.GetRows(db2, &skuInfos, sql, utils.DefaultTimeValue, jxStoreID, utils.DefaultTimeValue, vendorSkuIDs); err != nil {
|
||||||
globals.SugarLogger.Errorf("updateOrderSkuOtherInfo can not get sku info for orderID:%s, error:%v", order.VendorOrderID, err)
|
globals.SugarLogger.Errorf("updateOrderSkuOtherInfo can not get sku info for orderID:%s, error:%v", order.VendorOrderID, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user