推荐分类

This commit is contained in:
苏尹岚
2019-12-03 11:03:52 +08:00
parent dc58180729
commit d570664efa
4 changed files with 73 additions and 1 deletions

View File

@@ -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
}

View File

@@ -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:

View File

@@ -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
})
}

View File

@@ -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",