You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
3.4 KiB

4 years ago
package goods
import (
4 years ago
"git.oa00.com/go/mysql"
4 years ago
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/goods"
"recook/internal/v2/model/recommendedlist"
"recook/tools"
"time"
"github.com/gin-gonic/gin"
)
4 years ago
type UserParam struct {
4 years ago
UserID uint `json:"user_id"`
4 years ago
}
4 years ago
func QueryHotSellGoodsList(c *gin.Context) {
4 years ago
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
4 years ago
var rankings []goods.HotSellRankings
dbc.DB.Select("goods_id").Limit(10).Offset(0).
Order("sales desc, clicks desc").Find(&rankings, "date = ?", time.Now().Format("2006-01-02"))
var goodsIdList []uint
for _, v := range rankings {
goodsIdList = append(goodsIdList, v.GoodsId)
}
list := make([]QueryCategoryGoodsListResp, 0, 0)
if len(goodsIdList) > 0 {
var goodsList []goods.Information
for _, v := range goodsIdList {
var goodsInfo goods.Information
dbc.DB.First(&goodsInfo, v)
goodsList = append(goodsList, goodsInfo)
}
4 years ago
list = GetGoodsRespByInfoList(goodsList, p.UserID)
4 years ago
}
back.Suc(c, "", list)
}
type ql struct {
Status uint `json:"status"`
4 years ago
UserID uint `json:"user_id"`
4 years ago
}
func QueryRecommendList(c *gin.Context) {
var p ql
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
if p.Status != 1 && p.Status != 2 {
back.Fail(c, "传入参数有误")
return
}
var goodsIdList []uint
4 years ago
mysql.Db.Table((&recommendedlist.RecookCommendList{}).TableName()).Where("status=?", p.Status).Pluck("goods_id", &goodsIdList)
4 years ago
list := make([]QueryCategoryGoodsListResp, 0, 0)
if len(goodsIdList) > 0 {
var goodsList []goods.Information
4 years ago
mysql.Db.Find(&goodsList, "id in (?)", goodsIdList)
4 years ago
list = GetGoodsRespByInfoList(goodsList, p.UserID)
4 years ago
}
back.Suc(c, "", list)
}
func QueryRecookMake(c *gin.Context) {
4 years ago
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
4 years ago
goodsIdList := []uint{23, 35, 66, 68, 173, 188, 227, 231, 314, 317}
list := make([]QueryCategoryGoodsListResp, 0, 0)
if len(goodsIdList) > 0 {
var goodsList []goods.Information
for _, v := range goodsIdList {
var goodsInfo goods.Information
dbc.DB.First(&goodsInfo, v)
goodsList = append(goodsList, goodsInfo)
}
4 years ago
list = GetGoodsRespByInfoList(goodsList, p.UserID)
4 years ago
}
back.Suc(c, "", list)
}
func QueryDigital(c *gin.Context) {
4 years ago
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
4 years ago
goodsIdList := []uint{9, 12, 35, 44, 49, 311, 23, 39, 42, 27}
list := make([]QueryCategoryGoodsListResp, 0, 0)
if len(goodsIdList) > 0 {
var goodsList []goods.Information
for _, v := range goodsIdList {
var goodsInfo goods.Information
dbc.DB.First(&goodsInfo, v)
goodsList = append(goodsList, goodsInfo)
}
4 years ago
list = GetGoodsRespByInfoList(goodsList, p.UserID)
4 years ago
}
back.Suc(c, "", list)
}
func QueryHomeLive(c *gin.Context) {
4 years ago
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
4 years ago
goodsIdList := []uint{2, 385, 22, 60, 293, 34, 124, 128, 157, 254}
list := make([]QueryCategoryGoodsListResp, 0, 0)
if len(goodsIdList) > 0 {
var goodsList []goods.Information
for _, v := range goodsIdList {
var goodsInfo goods.Information
dbc.DB.First(&goodsInfo, v)
goodsList = append(goodsList, goodsInfo)
}
4 years ago
list = GetGoodsRespByInfoList(goodsList, p.UserID)
4 years ago
}
back.Suc(c, "", list)
}