畅销商品

This commit is contained in:
苏尹岚
2019-12-24 11:39:15 +08:00
parent a1bdf6cde3
commit 70ecbf5114
4 changed files with 135 additions and 2 deletions

View File

@@ -2169,6 +2169,77 @@ func GetTopSkusByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (storeSkuNameE
return storeSkuNameExt, err
}
func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNameAndPlaceList []*dao.SkuNameAndPlace, err error) {
db := dao.GetDB()
orderCreate := time.Now().AddDate(0, -1, 0)
skuNameAndPlace, err := dao.GetTopSkusByCityCode(db, cityCode, orderCreate)
if storeID > 0 {
var skuNameList []*model.SkuName
//未关注不可售的商品nameID列表
sql := `
SELECT DISTINCT b.name_id
FROM store_sku_bind a
JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ?
WHERE a.deleted_at = ?
AND a.store_id = ?
AND a.status <> ?
AND b.name_id NOT IN(SELECT DISTINCT b.name_id
FROM store_sku_bind a
JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ?
WHERE a.deleted_at = ?
AND a.store_id = ?
AND a.status = ?)
UNION
SELECT DISTINCT a.name_id
FROM sku a
LEFT JOIN (SELECT DISTINCT b.name_id
FROM store_sku_bind a
JOIN sku b ON a.sku_id = b.id
WHERE a.deleted_at = ?
AND store_id = ?)b ON a.name_id = b.name_id
WHERE a.status = ?
AND a.deleted_at = ?
AND b.name_id IS NULL
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
storeID,
model.StoreSkuBindStatusNormal,
utils.DefaultTimeValue,
utils.DefaultTimeValue,
storeID,
model.StoreSkuBindStatusNormal,
utils.DefaultTimeValue,
storeID,
model.StoreSkuBindStatusNormal,
utils.DefaultTimeValue,
}
err = dao.GetRows(db, &skuNameList, sql, sqlParams...)
var skuNameMap = make(map[int]*model.SkuName)
for _, v := range skuNameList {
skuNameMap[v.ID] = v
}
for _, v := range skuNameAndPlace {
if skuNameMap[v.ID] != nil {
skuNameAndPlaceList = append(skuNameAndPlaceList, v)
}
}
} else {
skuNameAndPlace = skuNameAndPlaceList
}
i := 1
for _, v := range skuNameAndPlaceList {
v.Sequence = i
i++
}
if len(skuNameAndPlaceList) <= 100 {
return skuNameAndPlaceList, err
} else {
return skuNameAndPlaceList[0:100], err
}
}
func GetTopCategoriesByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (skuCategory []*model.SkuCategory, err error) {
var (
skuCategory2 []*model.SkuCategory