Accept Merge Request #102: (yonghui -> mark)
Merge Request: 畅销商品 Created By: @苏尹岚 Accepted By: @苏尹岚 URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/102
This commit is contained in:
@@ -18,6 +18,7 @@ var (
|
||||
model.VendorIDMTWM: "mtwm_url",
|
||||
model.VendorIDEBAI: "ebai_url",
|
||||
}
|
||||
salePriceLimit = 100
|
||||
)
|
||||
|
||||
type SkuStoreCatInfo struct {
|
||||
@@ -195,6 +196,15 @@ type StoreSkuExt struct {
|
||||
Times int `json:"times"`
|
||||
}
|
||||
|
||||
type SkuNameAndPlace struct {
|
||||
model.SkuName
|
||||
CityCode int `json:"cityCode"`
|
||||
CityName string `json:"cityName"`
|
||||
Sequence int `json:"sequence"`
|
||||
Count int `json:"count"`
|
||||
Type int `json:"type"`
|
||||
}
|
||||
|
||||
// todo 应该通过需要同步的skuid来驱动同步分类,而不是当前这种分开的逻辑
|
||||
// 单门店模式厂商适用
|
||||
// 从store_sku_bind中,得到所有依赖的商家分类信息
|
||||
@@ -1027,7 +1037,7 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
|
||||
ORDER BY t1.count DESC
|
||||
LIMIT ?
|
||||
`
|
||||
sqlParams = append(sqlParams, 100, 30)
|
||||
sqlParams = append(sqlParams, salePriceLimit, 30)
|
||||
err = GetRows(db, &storeSkuNameExt, sql, sqlParams...)
|
||||
var skuNamesInfo = &StoreSkuNamesInfo{
|
||||
SkuNames: storeSkuNameExt,
|
||||
@@ -1063,6 +1073,32 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
|
||||
return storeSkuNameExt, err
|
||||
}
|
||||
|
||||
func GetTopSkusByCityCode(db *DaoDB, cityCode int, orderCreate time.Time) (skuNameAndPlace []*SkuNameAndPlace, err error) {
|
||||
sql := `
|
||||
SELECT SUM(b.count) count, e.name city_name, d.city_code, f.*
|
||||
FROM goods_order a
|
||||
JOIN order_sku b ON a.vendor_order_id = b.vendor_order_id AND a.vendor_id = b.vendor_id
|
||||
JOIN sku c ON b.sku_id = c.id AND c.deleted_at = ?
|
||||
JOIN sku_name f ON f.id = c.name_id
|
||||
JOIN store d ON d.id = IF(a.jx_store_id = 0,a.store_id,a.jx_store_id) AND d.deleted_at = ? AND d.city_code = ?
|
||||
JOIN place e ON e.code = d.city_code
|
||||
WHERE 1=1
|
||||
AND b.sale_price > ?
|
||||
AND a.created_at BETWEEN ? and NOW()
|
||||
GROUP BY 2,3,4
|
||||
ORDER BY count DESC
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
cityCode,
|
||||
salePriceLimit,
|
||||
orderCreate,
|
||||
}
|
||||
err = GetRows(db, &skuNameAndPlace, sql, sqlParams...)
|
||||
return skuNameAndPlace, err
|
||||
}
|
||||
|
||||
func GetTopCategoriesByStoreIDs(db *DaoDB, storeIDs []int, limit int) (skuCategory []*model.SkuCategory, err error) {
|
||||
sql := `
|
||||
SELECT DISTINCT t5.* FROM(
|
||||
@@ -1102,7 +1138,7 @@ func GetTopCategoriesByStoreIDs(db *DaoDB, storeIDs []int, limit int) (skuCatego
|
||||
Order by t4.count DESC)t5
|
||||
LIMIT ?
|
||||
`
|
||||
sqlParams = append(sqlParams, time.Now().AddDate(0, -1, 0), 100, 2, utils.DefaultTimeValue, 1, limit)
|
||||
sqlParams = append(sqlParams, time.Now().AddDate(0, -1, 0), salePriceLimit, 2, utils.DefaultTimeValue, 1, limit)
|
||||
err = GetRows(db, &skuCategory, sql, sqlParams...)
|
||||
return skuCategory, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user