fix
This commit is contained in:
parent
68b125f5a6
commit
f892a216d6
|
@ -4,11 +4,14 @@ import (
|
||||||
"context"
|
"context"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t *FsProductTemplateV2Model) FindAllByProductIds(ctx context.Context, productIds []int64, fields ...string) (resp []FsProductTemplateV2, err error) {
|
func (t *FsProductTemplateV2Model) FindAllByProductIds(ctx context.Context, productIds []int64, sort string, fields ...string) (resp []FsProductTemplateV2, err error) {
|
||||||
if len(productIds) == 0 {
|
if len(productIds) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
db := t.db.WithContext(ctx).Model(&FsProductTemplateV2{}).Where("`product_id` in (?) and `is_del` = ? and `status` = ?", productIds, 0, 1)
|
db := t.db.WithContext(ctx).Model(&FsProductTemplateV2{}).Where("`product_id` in (?) and `is_del` = ? and `status` = ?", productIds, 0, 1)
|
||||||
|
if sort != "" {
|
||||||
|
db = db.Order(sort)
|
||||||
|
}
|
||||||
if len(fields) != 0 {
|
if len(fields) != 0 {
|
||||||
db = db.Select(fields[0])
|
db = db.Select(fields[0])
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, useri
|
||||||
}
|
}
|
||||||
//获取模板
|
//获取模板
|
||||||
productTemplateModel := gmodel.NewFsProductTemplateV2Model(l.svcCtx.MysqlConn)
|
productTemplateModel := gmodel.NewFsProductTemplateV2Model(l.svcCtx.MysqlConn)
|
||||||
productTemplatesV2, err := productTemplateModel.FindAllByProductIds(l.ctx, productIds)
|
productTemplatesV2, err := productTemplateModel.FindAllByProductIds(l.ctx, productIds, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Error(err)
|
logx.Error(err)
|
||||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
||||||
|
|
|
@ -90,7 +90,7 @@ func (l *GetTagProductListLogic) GetTagProductList(req *types.GetTagProductListR
|
||||||
productTemplatesV2 []gmodel.FsProductTemplateV2 //产品模板列表(select 字段需要看查询的地方)
|
productTemplatesV2 []gmodel.FsProductTemplateV2 //产品模板列表(select 字段需要看查询的地方)
|
||||||
productSizeCountList []gmodel.CountProductSizeByStatusRsp //产品尺寸数量列表(select 字段需要看查询的地方)
|
productSizeCountList []gmodel.CountProductSizeByStatusRsp //产品尺寸数量列表(select 字段需要看查询的地方)
|
||||||
mapProductSizeCount = make(map[int64]int64) //产品尺寸数量map
|
mapProductSizeCount = make(map[int64]int64) //产品尺寸数量map
|
||||||
mapProductTemplate = make(map[int64]struct{}) //产品模板map
|
mapProductTemplate = make(map[int64]int64) //产品模板map
|
||||||
)
|
)
|
||||||
//携带产品
|
//携带产品
|
||||||
if req.WithProduct {
|
if req.WithProduct {
|
||||||
|
@ -170,13 +170,14 @@ func (l *GetTagProductListLogic) GetTagProductList(req *types.GetTagProductListR
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//获取模板(只是获取产品product_id)
|
//获取模板(只是获取产品product_id)
|
||||||
productTemplatesV2, err = l.svcCtx.AllModels.FsProductTemplateV2.FindAllByProductIds(l.ctx, productIds, "product_id")
|
productTemplatesV2, err = l.svcCtx.AllModels.FsProductTemplateV2.FindAllByProductIds(l.ctx, productIds, "sort ASC", "product_id")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Error(err)
|
logx.Error(err)
|
||||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
||||||
}
|
}
|
||||||
|
//只存第一个
|
||||||
for _, v := range productTemplatesV2 {
|
for _, v := range productTemplatesV2 {
|
||||||
mapProductTemplate[*v.ProductId] = struct{}{}
|
mapProductTemplate[*v.ProductId] = v.Id
|
||||||
}
|
}
|
||||||
//获取产品尺寸数量
|
//获取产品尺寸数量
|
||||||
productSizeCountList, err = l.svcCtx.AllModels.FsProductSize.GetGroupProductSizeByStatus(l.ctx, productIds, 1)
|
productSizeCountList, err = l.svcCtx.AllModels.FsProductSize.GetGroupProductSizeByStatus(l.ctx, productIds, 1)
|
||||||
|
@ -225,7 +226,7 @@ type dealWithTagMenuDataReq struct {
|
||||||
MapTagProp map[int64][]types.CoverDefaultItem
|
MapTagProp map[int64][]types.CoverDefaultItem
|
||||||
ProductTagPropList []gmodel.FsProductTagProp
|
ProductTagPropList []gmodel.FsProductTagProp
|
||||||
MapProductMinPrice map[int64]int64
|
MapProductMinPrice map[int64]int64
|
||||||
MapProductTemplate map[int64]struct{}
|
MapProductTemplate map[int64]int64
|
||||||
MapProductSizeCount map[int64]int64
|
MapProductSizeCount map[int64]int64
|
||||||
MapTagLevel map[string]*types.TagItem
|
MapTagLevel map[string]*types.TagItem
|
||||||
MapProductHaveOptionFitting map[int64]struct{}
|
MapProductHaveOptionFitting map[int64]struct{}
|
||||||
|
@ -334,7 +335,7 @@ type getTagProductsReq struct {
|
||||||
ProductList []gmodel.FsProduct
|
ProductList []gmodel.FsProduct
|
||||||
MapTagProp map[int64][]types.CoverDefaultItem
|
MapTagProp map[int64][]types.CoverDefaultItem
|
||||||
MapProductMinPrice map[int64]int64
|
MapProductMinPrice map[int64]int64
|
||||||
MapProductTemplate map[int64]struct{}
|
MapProductTemplate map[int64]int64
|
||||||
MapProductSizeCount map[int64]int64
|
MapProductSizeCount map[int64]int64
|
||||||
MapProductHaveOptionFitting map[int64]struct{}
|
MapProductHaveOptionFitting map[int64]struct{}
|
||||||
Size uint32
|
Size uint32
|
||||||
|
@ -350,7 +351,7 @@ func (l *GetTagProductListLogic) getTagProducts(req getTagProductsReq) (productL
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
minPrice, ok := req.MapProductMinPrice[productInfo.Id]
|
minPrice, ok := req.MapProductMinPrice[productInfo.Id]
|
||||||
_, tmpOk := req.MapProductTemplate[productInfo.Id]
|
templateId, tmpOk := req.MapProductTemplate[productInfo.Id]
|
||||||
//无最小价格则不显示 || 没有模板也不显示
|
//无最小价格则不显示 || 没有模板也不显示
|
||||||
if !ok || !tmpOk {
|
if !ok || !tmpOk {
|
||||||
continue
|
continue
|
||||||
|
@ -370,6 +371,7 @@ func (l *GetTagProductListLogic) getTagProducts(req getTagProductsReq) (productL
|
||||||
Title: *productInfo.Title,
|
Title: *productInfo.Title,
|
||||||
SizeNum: uint32(sizeNum),
|
SizeNum: uint32(sizeNum),
|
||||||
CoverDefault: []types.CoverDefaultItem{},
|
CoverDefault: []types.CoverDefaultItem{},
|
||||||
|
DefaultTemplateId: templateId,
|
||||||
MinPrice: minPrice,
|
MinPrice: minPrice,
|
||||||
HaveOptionalFitting: haveOptionalFitting,
|
HaveOptionalFitting: haveOptionalFitting,
|
||||||
Recommended: *productInfo.IsRecommend > 0,
|
Recommended: *productInfo.IsRecommend > 0,
|
||||||
|
|
|
@ -130,7 +130,7 @@ func (l *HomePageRecommendProductListLogic) HomePageRecommendProductList(req *ty
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//获取模板(只是获取产品product_id)
|
//获取模板(只是获取产品product_id)
|
||||||
productTemplatesV2, err = l.svcCtx.AllModels.FsProductTemplateV2.FindAllByProductIds(l.ctx, productIds, "product_id")
|
productTemplatesV2, err = l.svcCtx.AllModels.FsProductTemplateV2.FindAllByProductIds(l.ctx, productIds, "", "product_id")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Error(err)
|
logx.Error(err)
|
||||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
return resp.SetStatusWithMessage(basic.CodeServiceErr, "get product template_v2 err")
|
||||||
|
|
|
@ -275,6 +275,7 @@ type TagProduct struct {
|
||||||
SizeNum uint32 `json:"size_num"`
|
SizeNum uint32 `json:"size_num"`
|
||||||
MinPrice int64 `json:"min_price"`
|
MinPrice int64 `json:"min_price"`
|
||||||
CoverDefault []CoverDefaultItem `json:"cover_default"`
|
CoverDefault []CoverDefaultItem `json:"cover_default"`
|
||||||
|
DefaultTemplateId int64 `json:"default_template_id"`
|
||||||
HaveOptionalFitting bool `json:"have_optional_fitting"`
|
HaveOptionalFitting bool `json:"have_optional_fitting"`
|
||||||
Recommended bool `json:"recommended"`
|
Recommended bool `json:"recommended"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,6 +325,7 @@ type TagProduct {
|
||||||
MinPrice int64 `json:"min_price"`
|
MinPrice int64 `json:"min_price"`
|
||||||
//彩膜列表
|
//彩膜列表
|
||||||
CoverDefault []CoverDefaultItem `json:"cover_default"`
|
CoverDefault []CoverDefaultItem `json:"cover_default"`
|
||||||
|
DefaultTemplateId int64 `json:"default_template_id"`
|
||||||
HaveOptionalFitting bool `json:"have_optional_fitting"`
|
HaveOptionalFitting bool `json:"have_optional_fitting"`
|
||||||
Recommended bool `json:"recommended"`
|
Recommended bool `json:"recommended"`
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user