推荐分类
This commit is contained in:
@@ -2132,3 +2132,15 @@ func GetTopSkusByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (skuName []*mo
|
||||
}
|
||||
return skuName, err
|
||||
}
|
||||
|
||||
func GetTopCategorysByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (skuCategory []*model.SkuCategory, err error) {
|
||||
if len(storeIDs) == 0 {
|
||||
return skuCategory, err
|
||||
}
|
||||
db := dao.GetDB()
|
||||
skuCategory, err = dao.GetTopCategorysByStoreIDs(db, storeIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return skuCategory, err
|
||||
}
|
||||
|
||||
@@ -671,11 +671,12 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuName []*model.SkuName,
|
||||
FROM goods_order a
|
||||
JOIN order_sku b ON a.vendor_order_id = b.vendor_order_id
|
||||
JOIN sku c ON b.sku_id = c.id AND c.deleted_at = ?
|
||||
JOIN sku_name d ON d.id = c.name_id
|
||||
JOIN sku_name d ON d.id = c.name_id AND d.deleted_at = ?
|
||||
WHERE 1=1
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND a.store_id in(" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
@@ -693,6 +694,39 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuName []*model.SkuName,
|
||||
return skuName, err
|
||||
}
|
||||
|
||||
func GetTopCategorysByStoreIDs(db *DaoDB, storeIDs []int) (skuCategory []*model.SkuCategory, err error) {
|
||||
sql := `
|
||||
SELECT t3.*
|
||||
FROM(
|
||||
SELECT SUM(b.count) count,d.category_id
|
||||
FROM goods_order a
|
||||
JOIN order_sku b ON a.vendor_order_id = b.vendor_order_id
|
||||
JOIN sku c ON b.sku_id = c.id AND c.deleted_at = ?
|
||||
JOIN sku_name d ON d.id = c.name_id AND d.deleted_at = ?
|
||||
WHERE 1=1
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND a.store_id in(" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
sql += `
|
||||
AND b.sale_price > ?
|
||||
GROUP BY d.category_id)t1
|
||||
JOIN sku_category t3 ON t1.category_id = t3.id
|
||||
AND t3.level = ?
|
||||
AND t3.deleted_at = ?
|
||||
ORDER BY t1.count DESC
|
||||
LIMIT ?
|
||||
`
|
||||
sqlParams = append(sqlParams, 100, 10, 2, utils.DefaultTimeValue)
|
||||
err = GetRows(db, &skuCategory, sql, sqlParams...)
|
||||
return skuCategory, err
|
||||
}
|
||||
|
||||
func SetStoreSkuBindVendorPrice(storeSkuBind *model.StoreSkuBind, vendorID int, vendorPrice int) {
|
||||
switch vendorID {
|
||||
case model.VendorIDJD:
|
||||
|
||||
@@ -455,3 +455,20 @@ func (c *StoreSkuController) GetTopSkusByStoreIDs() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 根据门店信息查找推荐分类(按商品销量)
|
||||
// @Description 根据门店信息查找推荐分类(按商品销量)
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeIDs query string true "门店列表"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetTopCategorysByStoreIDs [get]
|
||||
func (c *StoreSkuController) GetTopCategorysByStoreIDs() {
|
||||
var storeIDList []int
|
||||
c.callGetTopCategorysByStoreIDs(func(params *tStoreSkuGetTopCategorysByStoreIDsParams) (retVal interface{}, errCode string, err error) {
|
||||
if jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||||
retVal, err = cms.GetTopCategorysByStoreIDs(params.Ctx, storeIDList)
|
||||
}
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1584,6 +1584,15 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetTopCategorysByStoreIDs",
|
||||
Router: `/GetTopCategorysByStoreIDs`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetTopSkusByStoreIDs",
|
||||
|
||||
Reference in New Issue
Block a user