- 整理StoreSkuSyncInfo

This commit is contained in:
gazebo
2019-05-25 10:19:24 +08:00
parent 1a91ae1732
commit 9aa074a595

View File

@@ -42,32 +42,42 @@ type StoreCatSyncInfo struct {
}
type StoreSkuSyncInfo struct {
BindID int `orm:"column(bind_id)"`
Price int64
UnitPrice int64
// 平台无关的store sku信息
BindID int `orm:"column(bind_id)"` // 换名的原因是与Sku.ID同名区别
StoreID int `orm:"column(store_id)"`
SkuID int `orm:"column(sku_id)"` // 这个与Sku.ID的区别是SkuID是必然存在的
Price int64
UnitPrice int64
// 平台相关的store sku信息
StoreSkuStatus int
SkuSyncStatus int8
SkuID int `orm:"column(sku_id)"`
VendorSkuID string `orm:"column(vendor_sku_id)"`
model.Sku
VendorSkuID string `orm:"column(vendor_sku_id)"`
// sku_name
Prefix string
NameID int `orm:"column(name_id)"`
VendorNameID string `orm:"column(vendor_name_id)"`
Name string
Unit string
Img string
Upc string
DescImg string
VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"`
// 平台相关的图片信息
Img string
DescImg string
CatSyncStatus int8
VendorCatID string `orm:"column(vendor_cat_id)"`
VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"` // 平台商品分类
// sku的商家分类信息
SkuCatSyncStatus int8
SkuVendorCatID string `orm:"column(sku_vendor_cat_id)"`
// sku_name的商家分类信息
CatSyncStatus int8
VendorCatID string `orm:"column(vendor_cat_id)"`
CatPricePercentage int
}
@@ -135,6 +145,7 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*St
return cats, err
}
// 以store_sku_bind为基础来做同步正常情况下使用
// 单多门店模式厂商通用
func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*StoreSkuSyncInfo, err error) {
isSingleStorePF := model.MultiStoresVendorMap[vendorID] != 1
@@ -148,7 +159,7 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
}
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
sql := `
SELECT t1.id bind_id, t1.sku_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status, %s vendor_name_id,
SELECT t1.id bind_id, t1.sku_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status, %s vendor_name_id, t1.store_id,
t2.*,
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img, t3.upc, t3.%s desc_img,
t4.%s_category_id vendor_vendor_cat_id, t4.%s_price_percentage cat_price_percentage
@@ -197,12 +208,13 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
return skus, err
}
// 以sku为基础来做全同步
// 多门店模式厂商适用
func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInfo, err error) {
globals.SugarLogger.Debugf("GetFullStoreSkus, storeID:%d, vendorID:%d", storeID, vendorID)
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,
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, t1.store_id,
t2.*, t2.id sku_id,
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img,
t4.%s_category_id vendor_vendor_cat_id,