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.

135 lines
3.5 KiB

package goods
import (
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/goods"
"recook/internal/v2/model/recommendedlist"
"recook/tools"
"git.oa00.com/go/mysql"
"github.com/gin-gonic/gin"
)
type UserParam struct {
UserID uint `json:"user_id"`
IsSale bool `json:"is_sale"`
}
func QueryHotSellGoodsList(c *gin.Context) {
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
var goodsList []goods.Information
sub := mysql.Db.Table((&recommendedlist.RecookCommendList{}).TableName()).
Where("is_sale=?", p.IsSale).Select("goods_id").Where("status = 10")
mysql.Db.Find(&goodsList, "id in (?)", sub)
list := GetGoodsRespByInfoList(goodsList, p.UserID, false)
back.Suc(c, "", list)
}
type ql struct {
Status uint `json:"status"`
UserID uint `json:"user_id"`
IsSale bool `json:"is_sale"`
}
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 && p.Status != 10 {
back.Fail(c, "传入参数有误")
return
}
var goodsList []goods.Information
sub := mysql.Db.Table((&recommendedlist.RecookCommendList{}).TableName()).
Where("is_sale=?", p.IsSale).Select("goods_id").Where("status = ?", p.Status)
mysql.Db.Find(&goodsList, "id in (?)", sub)
list := GetGoodsRespByInfoList(goodsList, p.UserID, false)
back.Suc(c, "", list)
//var goodsIdList []uint
//mysql.Db.Table((&recommendedlist.RecookCommendList{}).TableName()).Where("status=?", p.Status).Pluck("goods_id", &goodsIdList)
//list := make([]QueryCategoryGoodsListResp, 0, 0)
//if len(goodsIdList) > 0 {
// var goodsList []goods.Information
// mysql.Db.Find(&goodsList, "id in (?)", goodsIdList)
// list = GetGoodsRespByInfoList(goodsList, p.UserID, false)
//}
//
//back.Suc(c, "", list)
}
func QueryRecookMake(c *gin.Context) {
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
goodsIdList := []uint{23, 35, 66, 68, 173, 188, 227, 231, 314, 317}
list := make([]QueryCategoryGoodsListResp, 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)
}
list = GetGoodsRespByInfoList(goodsList, p.UserID, p.IsSale)
}
back.Suc(c, "", list)
}
func QueryDigital(c *gin.Context) {
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
goodsIdList := []uint{9, 12, 35, 44, 49, 311, 23, 39, 42, 27}
list := make([]QueryCategoryGoodsListResp, 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)
}
list = GetGoodsRespByInfoList(goodsList, p.UserID, p.IsSale)
}
back.Suc(c, "", list)
}
func QueryHomeLive(c *gin.Context) {
var p UserParam
if err := tools.ParseParams(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
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)
}
list = GetGoodsRespByInfoList(goodsList, p.UserID, p.IsSale)
}
back.Suc(c, "", list)
}