- mtwm .SyncStoreSkus
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
type SkuStoreCatInfo struct {
|
||||
@@ -85,3 +86,57 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*St
|
||||
}
|
||||
return cats, err
|
||||
}
|
||||
|
||||
type StoreSkuSyncInfo struct {
|
||||
Price int64
|
||||
UnitPrice int64
|
||||
StoreSkuStatus int
|
||||
SkuSyncStatus int8
|
||||
model.Sku
|
||||
Prefix string
|
||||
Name string
|
||||
Unit string
|
||||
Img string
|
||||
|
||||
VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"`
|
||||
|
||||
CatSyncStatus int8
|
||||
VendorCatID string `orm:"column(vendor_cat_id)"`
|
||||
|
||||
SkuCatSyncStatus int8
|
||||
SkuVendorCatID string `orm:"column(sku_vendor_cat_id)"`
|
||||
}
|
||||
|
||||
func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*StoreSkuSyncInfo, err error) {
|
||||
sql := `
|
||||
SELECT t1.price, t1.unit_price, t1.status store_sku_status, t1.%s_id, t1.%s_sync_status sku_sync_status,
|
||||
t2.*,
|
||||
t3.prefix, t3.name, t3.unit, t3.img,
|
||||
t4.%s_category_id vendor_vendor_cat_id,
|
||||
t5.%s_sync_status cat_sync_status, t5.%s_id vendor_cat_id,
|
||||
t5sku.%s_sync_status sku_cat_sync_status, t5sku.%s_id sku_vendor_cat_id
|
||||
FROM store_sku_bind t1
|
||||
JOIN sku t2 ON t1.sku_id = t2.id
|
||||
JOIN sku_name t3 ON t2.name_id = t3.id
|
||||
JOIN sku_category t4 ON t3.category_id = t4.id
|
||||
JOIN store_sku_category_map t5 ON t4.id = t5.category_id AND t5.store_id = t1.store_id AND t5.deleted_at = ?
|
||||
LEFT JOIN store_sku_category_map t5sku ON t2.category_id = t5sku.category_id AND t5sku.store_id = t1.store_id AND t5sku.deleted_at = ?
|
||||
WHERE t1.store_id = ? AND t1.%s_sync_status <> 0
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
storeID,
|
||||
}
|
||||
if len(skuIDs) > 0 {
|
||||
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, skuIDs)
|
||||
}
|
||||
filedPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||
sql = fmt.Sprintf(sql, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix)
|
||||
globals.SugarLogger.Debug(sql)
|
||||
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return skus, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user