fix
This commit is contained in:
parent
0f96eaac30
commit
e4925c2194
|
@ -44,7 +44,7 @@ func (p *FsProductModel) GetProductListByIdsWithoutStatus(ctx context.Context, p
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func (p *FsProductModel) GetProductListByTypeIds(ctx context.Context, productTypes []int64, sort string) (resp []FsProduct, err error) {
|
func (p *FsProductModel) GetProductListByTypeIds(ctx context.Context, productTypes []int64, page int, limit int, sort string) (resp []FsProduct, total int64, err error) {
|
||||||
if len(productTypes) == 0 {
|
if len(productTypes) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -55,11 +55,13 @@ func (p *FsProductModel) GetProductListByTypeIds(ctx context.Context, productTyp
|
||||||
case "sort-desc":
|
case "sort-desc":
|
||||||
db = db.Order("`sort` DESC")
|
db = db.Order("`sort` DESC")
|
||||||
}
|
}
|
||||||
err = db.Find(&resp).Error
|
err = db.Count(&total).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
return
|
offset := (page - 1) * limit
|
||||||
|
err = db.Offset(offset).Limit(limit).Find(&resp).Error
|
||||||
|
return resp, total, err
|
||||||
}
|
}
|
||||||
func (p *FsProductModel) GetRandomProductList(ctx context.Context, limit int) (resp []FsProduct, err error) {
|
func (p *FsProductModel) GetRandomProductList(ctx context.Context, limit int) (resp []FsProduct, err error) {
|
||||||
err = p.db.WithContext(ctx).Model(&FsProduct{}).
|
err = p.db.WithContext(ctx).Model(&FsProduct{}).
|
||||||
|
|
|
@ -15,6 +15,7 @@ import (
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
"math"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
@ -44,13 +45,14 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, useri
|
||||||
}
|
}
|
||||||
return resp.SetStatusWithMessage(basic.CodeOK, "success", demo)
|
return resp.SetStatusWithMessage(basic.CodeOK, "success", demo)
|
||||||
}
|
}
|
||||||
if req.Page <= 0 {
|
if req.Page <= 0 && req.Page > 10000 {
|
||||||
req.Page = 1
|
req.Page = constants.DEFAULT_PAGE
|
||||||
}
|
}
|
||||||
//获取合适尺寸
|
//获取合适尺寸
|
||||||
if req.Size > 0 {
|
if req.Size > 0 {
|
||||||
req.Size = image.GetCurrentSize(req.Size)
|
req.Size = image.GetCurrentSize(req.Size)
|
||||||
}
|
}
|
||||||
|
pageSize := constants.DEFAULT_PAGE_SIZE
|
||||||
//查询用户信息(不用判断存在)
|
//查询用户信息(不用判断存在)
|
||||||
userModel := gmodel.NewFsUserModel(l.svcCtx.MysqlConn)
|
userModel := gmodel.NewFsUserModel(l.svcCtx.MysqlConn)
|
||||||
user, err := userModel.FindUserById(l.ctx, userinfo.UserId)
|
user, err := userModel.FindUserById(l.ctx, userinfo.UserId)
|
||||||
|
@ -60,7 +62,7 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, useri
|
||||||
}
|
}
|
||||||
//查询符合的产品列表
|
//查询符合的产品列表
|
||||||
productModel := gmodel.NewFsProductModel(l.svcCtx.MysqlConn)
|
productModel := gmodel.NewFsProductModel(l.svcCtx.MysqlConn)
|
||||||
productList, err := productModel.GetProductListByTypeIds(l.ctx, []int64{req.Cid}, "sort-desc")
|
productList, total, err := productModel.GetProductListByTypeIds(l.ctx, []int64{req.Cid}, int(req.Page), pageSize, "sort-desc")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Error(err)
|
logx.Error(err)
|
||||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "failed to get product list")
|
return resp.SetStatusWithMessage(basic.CodeServiceErr, "failed to get product list")
|
||||||
|
@ -172,6 +174,14 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, useri
|
||||||
return resp.SetStatusWithMessage(basic.CodeOK, "success", types.GetProductListRsp{
|
return resp.SetStatusWithMessage(basic.CodeOK, "success", types.GetProductListRsp{
|
||||||
Ob: types.Ob{
|
Ob: types.Ob{
|
||||||
Items: itemList,
|
Items: itemList,
|
||||||
}, TypeName: *tagInfo.Title, Description: *tagInfo.Description,
|
Meta: types.Meta{
|
||||||
|
TotalCount: total,
|
||||||
|
PageCount: int64(math.Ceil(float64(total) / float64(pageSize))),
|
||||||
|
CurrentPage: int(req.Page),
|
||||||
|
PerPage: pageSize,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
TypeName: *tagInfo.Title,
|
||||||
|
Description: *tagInfo.Description,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user