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) {
sql := `
for _, storeId := range storeIDs {
sql := `
SELECT t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name
FROM(
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
AND a.order_created_at BETWEEN ? and NOW()
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
model.SkuStatusNormal,
utils.DefaultTimeValue,
time.Now().AddDate(0, -1, 0),
}
if len(storeIDs) > 0 {
sql += " AND a.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
sql += `
sqlParams := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
model.SkuStatusNormal,
utils.DefaultTimeValue,
time.Now().AddDate(0, -1, 0),
}
if storeId > 0 {
sql += " AND a.store_id = ? "
sqlParams = append(sqlParams, storeId)
}
sql += `
AND b.sale_price > ?
GROUP BY 2,3,4 LIMIT 0, 1000 )t1
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 = ?
WHERE 1=1
`
sqlParams = append(sqlParams, salePriceLimit, utils.DefaultTimeValue, utils.DefaultTimeValue)
if len(storeIDs) > 0 {
sql += " AND a.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
sql +=
`
sqlParams = append(sqlParams, salePriceLimit, utils.DefaultTimeValue, utils.DefaultTimeValue)
if storeId > 0 {
sql += " AND a.store_id = ?"
sqlParams = append(sqlParams, storeId)
}
sql +=
`
AND NOW() BETWEEN d.begin_at AND d.end_at
AND a.status = ?
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_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 <> ?
WHERE a.store_id IN (` + GenQuestionMarks(len(storeIDs)) + `)
WHERE a.store_id = ?
AND a.deleted_at = ? AND a.status = ?
ORDER BY 1 DESC
LIMIT ?
`
sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill,
utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.StoreStatusDisabled,
storeIDs, utils.DefaultTimeValue, model.StoreSkuBindStatusNormal, 30)
err = GetRows(db, &storeSkuNameExt, sql, sqlParams...)
var skuNamesInfo = &StoreSkuNamesInfo{
SkuNames: storeSkuNameExt,
}
var skuIdList = make([]int, 0, 0)
sql2 := `
sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill,
utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.SkuStatusNormal, utils.DefaultTimeValue, model.StoreStatusDisabled,
storeId, utils.DefaultTimeValue, model.StoreSkuBindStatusNormal, 30)
storeSkuName := make([]*StoreSkuNameExt, 0, 0)
err = GetRows(db, &storeSkuName, sql, sqlParams...)
var skuNamesInfo = &StoreSkuNamesInfo{
SkuNames: storeSkuName,
}
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,
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,
@@ -1254,24 +1260,27 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
WHERE a.id = ?
AND a.deleted_at = ?
`
for _, v := range storeSkuNameExt {
var skus []*StoreSkuExt
sqlParams2 := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
v.SkuID,
utils.DefaultTimeValue,
}
if len(storeIDs) > 0 {
sql2 += " AND t4.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams2 = append(sqlParams2, storeIDs)
}
if err = GetRows(db, &skus, sql2, sqlParams2...); err == nil {
v.Skus = skus
skuIdList = append(skuIdList, v.SkuID)
for _, v := range storeSkuName {
var skus []*StoreSkuExt
sqlParams2 := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
v.SkuID,
utils.DefaultTimeValue,
}
if storeId > 0 {
sql2 += " AND t4.store_id = ? "
sqlParams2 = append(sqlParams2, storeId)
}
if err = GetRows(db, &skus, sql2, sqlParams2...); err == nil {
v.Skus = skus
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
}