- dao.GetStoreSkus 与 dao.GetFullStoreSkus 智能取sku name的img

This commit is contained in:
gazebo
2019-04-11 17:06:46 +08:00
parent 1c77d18e23
commit e2f728889b

View File

@@ -8,6 +8,13 @@ import (
"git.rosy.net.cn/jx-callback/globals"
)
var (
imgFieldMap = map[int]string{
model.VendorIDWSC: "img_weimob",
model.VendorIDEBAI: "img_ebai",
}
)
type SkuStoreCatInfo struct {
model.SkuCategory
MapID int `orm:"column(map_id)"` // 这个主要用于判断是否有store_sku_category_map
@@ -122,10 +129,8 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
if model.MultiStoresVendorMap[vendorID] == 1 { // 多店模式平台
tableName = "t2"
}
imgField := "img"
vendorSkuNameField := "0"
if vendorID == model.VendorIDWSC {
imgField = "img_weimob"
vendorSkuNameField = "t1.wsc_id2"
}
sql := `
@@ -154,7 +159,7 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
sqlParams = append(sqlParams, skuIDs)
}
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
sql = fmt.Sprintf(sql, tableName, fieldPrefix, fieldPrefix, vendorSkuNameField, imgField, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
sql = fmt.Sprintf(sql, tableName, fieldPrefix, fieldPrefix, vendorSkuNameField, GetImgFieldName(vendorID), fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
sql += " ORDER BY t1.price"
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
@@ -170,7 +175,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf
sql := `
SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, t2.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status,
t2.*,
t3.id name_id, t3.prefix, t3.name, t3.unit, t3.img,
t3.id name_id, t3.prefix, t3.name, t3.unit, t3.%s img,
t4.%s_category_id vendor_vendor_cat_id,
t4.%s_sync_status cat_sync_status, t4.%s_id vendor_cat_id,
t5sku.%s_sync_status sku_cat_sync_status, t5sku.%s_id sku_vendor_cat_id
@@ -188,7 +193,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf
utils.DefaultTimeValue,
}
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
sql = fmt.Sprintf(sql, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
sql = fmt.Sprintf(sql, fieldPrefix, fieldPrefix, GetImgFieldName(vendorID), fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
@@ -246,3 +251,11 @@ func SetStoreCategorySyncStatus(db *DaoDB, vendorID, storeID int, catIDs []int,
}
return ExecuteSQL(db, sql, sqlParams...)
}
func GetImgFieldName(vendorID int) (fieldName string) {
fieldName = imgFieldMap[vendorID]
if fieldName == "" {
fieldName = "img"
}
return fieldName
}