This commit is contained in:
邹宗楠
2024-10-10 10:16:29 +08:00
parent 8ad9d064e3
commit 12918649cb

View File

@@ -1171,7 +1171,8 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St
} }
func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) { func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) {
sql := ` for _, storeId := range storeIDs {
sql := `
SELECT t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name SELECT t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name
FROM( FROM(
SELECT SUM(b.count) count,c.id,a.store_id,d.name store_name SELECT SUM(b.count) count,c.id,a.store_id,d.name store_name
@@ -1184,18 +1185,18 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
WHERE 1=1 WHERE 1=1
AND a.order_created_at BETWEEN ? and NOW() AND a.order_created_at BETWEEN ? and NOW()
` `
sqlParams := []interface{}{ sqlParams := []interface{}{
utils.DefaultTimeValue, utils.DefaultTimeValue,
utils.DefaultTimeValue, utils.DefaultTimeValue,
model.SkuStatusNormal, model.SkuStatusNormal,
utils.DefaultTimeValue, utils.DefaultTimeValue,
time.Now().AddDate(0, -1, 0), time.Now().AddDate(0, -1, 0),
} }
if len(storeIDs) > 0 { if storeId > 0 {
sql += " AND a.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")" sql += " AND a.store_id = ? "
sqlParams = append(sqlParams, storeIDs) sqlParams = append(sqlParams, storeId)
} }
sql += ` sql += `
AND b.sale_price > ? AND b.sale_price > ?
GROUP BY 2,3,4 LIMIT 0, 1000 )t1 GROUP BY 2,3,4 LIMIT 0, 1000 )t1
JOIN sku t2 ON t2.id = t1.id JOIN sku t2 ON t2.id = t1.id
@@ -1211,13 +1212,13 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
JOIN sku_name g ON g.id = f.name_id AND g.deleted_at = ? JOIN sku_name g ON g.id = f.name_id AND g.deleted_at = ?
WHERE 1=1 WHERE 1=1
` `
sqlParams = append(sqlParams, salePriceLimit, utils.DefaultTimeValue, utils.DefaultTimeValue) sqlParams = append(sqlParams, salePriceLimit, utils.DefaultTimeValue, utils.DefaultTimeValue)
if len(storeIDs) > 0 { if storeId > 0 {
sql += " AND a.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")" sql += " AND a.store_id = ?"
sqlParams = append(sqlParams, storeIDs) sqlParams = append(sqlParams, storeId)
} }
sql += sql +=
` `
AND NOW() BETWEEN d.begin_at AND d.end_at AND NOW() BETWEEN d.begin_at AND d.end_at
AND a.status = ? AND a.status = ?
AND a.deleted_at = ? AND a.deleted_at = ?
@@ -1228,20 +1229,25 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ? AND b.status = ? JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ? AND b.status = ?
JOIN sku_name c ON b.name_id = c.id AND c.deleted_at = ? AND c.status = ? JOIN sku_name c ON b.name_id = c.id AND c.deleted_at = ? AND c.status = ?
JOIN store d ON d.id = a.store_id AND d.deleted_at = ? AND d.status <> ? JOIN store d ON d.id = a.store_id AND d.deleted_at = ? AND d.status <> ?
WHERE a.store_id IN (` + GenQuestionMarks(len(storeIDs)) + `) WHERE a.store_id = ?
AND a.deleted_at = ? AND a.status = ? AND a.deleted_at = ? AND a.status = ?
ORDER BY 1 DESC ORDER BY 1 DESC
LIMIT ? LIMIT ?
` `
sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill, sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill,
utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.StoreStatusDisabled, utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.StoreStatusDisabled,
storeIDs, utils.DefaultTimeValue, model.StoreSkuBindStatusNormal, 30) storeId, utils.DefaultTimeValue, model.StoreSkuBindStatusNormal, 30)
err = GetRows(db, &storeSkuNameExt, sql, sqlParams...)
var skuNamesInfo = &StoreSkuNamesInfo{ storeSkuName := make([]*StoreSkuNameExt, 0, 0)
SkuNames: storeSkuNameExt, err = GetRows(db, &storeSkuName, sql, sqlParams...)
} var skuNamesInfo = &StoreSkuNamesInfo{
var skuIdList = make([]int, 0, 0) SkuNames: storeSkuName,
sql2 := ` }
if len(storeSkuName) != 0 {
storeSkuNameExt = append(storeSkuNameExt, storeSkuName...)
}
var skuIdList = make([]int, 0, 0)
sql2 := `
SELECT a.id sku_id,a.*,t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at, SELECT a.id sku_id,a.*,t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at, t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
t4.ebai_id, t4.mtwm_id,t4.dd_id,t4.tao_id, t4.ebai_id, t4.mtwm_id,t4.dd_id,t4.tao_id,
@@ -1254,24 +1260,27 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
WHERE a.id = ? WHERE a.id = ?
AND a.deleted_at = ? AND a.deleted_at = ?
` `
for _, v := range storeSkuNameExt { for _, v := range storeSkuName {
var skus []*StoreSkuExt var skus []*StoreSkuExt
sqlParams2 := []interface{}{ sqlParams2 := []interface{}{
utils.DefaultTimeValue, utils.DefaultTimeValue,
utils.DefaultTimeValue, utils.DefaultTimeValue,
v.SkuID, v.SkuID,
utils.DefaultTimeValue, utils.DefaultTimeValue,
} }
if len(storeIDs) > 0 { if storeId > 0 {
sql2 += " AND t4.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")" sql2 += " AND t4.store_id = ? "
sqlParams2 = append(sqlParams2, storeIDs) sqlParams2 = append(sqlParams2, storeId)
} }
if err = GetRows(db, &skus, sql2, sqlParams2...); err == nil { if err = GetRows(db, &skus, sql2, sqlParams2...); err == nil {
v.Skus = skus v.Skus = skus
skuIdList = append(skuIdList, v.SkuID) skuIdList = append(skuIdList, v.SkuID)
}
} }
err = UpdateActPrice4StoreSkuNameNew(db, []int{storeId}, skuIdList, skuNamesInfo, model.VendorIDJX)
} }
err = UpdateActPrice4StoreSkuNameNew(db, storeIDs, skuIdList, skuNamesInfo, model.VendorIDJX)
return storeSkuNameExt, err return storeSkuNameExt, err
} }