This commit is contained in:
laodaming 2023-10-25 14:09:12 +08:00
parent 16fc420030
commit afc6088f70
3 changed files with 12 additions and 7 deletions

View File

@ -129,10 +129,11 @@ func (l *GetTagProductListLogic) GetTagProductList(req *types.GetTagProductListR
return resp.SetStatusAddMessage(basic.CodeServiceErr, "failed to deal with tag data")
}
//组装等级从属关系
rspTagList, TotalCategoryProduct := l.organizationLevelRelation(minLevel, mapTagLevel, productList, mapTagProduct)
rspTagList, mapTagList, TotalCategoryProduct := l.organizationLevelRelation(minLevel, mapTagLevel, productList, mapTagProduct)
return resp.SetStatusWithMessage(basic.CodeOK, "success", types.GetTagProductListRsp{
TotalCategoryProduct: TotalCategoryProduct,
TagList: rspTagList,
TagMap: mapTagList,
})
}
@ -320,8 +321,9 @@ func (l *GetTagProductListLogic) dealWithTagMenuData(req dealWithTagMenuDataReq)
}
// 组织等级从属关系
func (l *GetTagProductListLogic) organizationLevelRelation(minLevel int, mapTagLevel map[string]*types.TagItem, productList []gmodel.FsProduct, mapTagProduct map[int64]types.TagProduct) (rspTagList []types.TagItem, productCount int) {
func (l *GetTagProductListLogic) organizationLevelRelation(minLevel int, mapTagLevel map[string]*types.TagItem, productList []gmodel.FsProduct, mapTagProduct map[int64]types.TagProduct) (rspTagList []types.TagItem, mapTagList map[int64]types.TagItem, productCount int) {
mapTop := make(map[string]struct{})
mapTagList = make(map[int64]types.TagItem)
//设置归属关系
for prefix, tagItem := range mapTagLevel {
prefixSlice := strings.Split(prefix, "/")
@ -377,12 +379,13 @@ func (l *GetTagProductListLogic) organizationLevelRelation(minLevel int, mapTagL
}
productCount += len(mapTagLevel[prefix].TagProductList)
rspList = append(rspList, *mapTagLevel[prefix])
mapTagList[mapTagLevel[prefix].TypeId] = *mapTagLevel[prefix]
}
//排序
sort.SliceStable(rspList, func(i, j int) bool {
return rspList[i].Sort < rspList[j].Sort
})
return rspList, productCount
return rspList, mapTagList, productCount
}
// 获取某个tag的直属产品

View File

@ -35,8 +35,9 @@ type GetTagProductListReq struct {
}
type GetTagProductListRsp struct {
TotalCategoryProduct int `json:"total_category_product"`
TagList []TagItem `json:"tag_list"`
TotalCategoryProduct int `json:"total_category_product"`
TagList []TagItem `json:"tag_list"`
TagMap interface{} `json:"tag_map"`
}
type TagItem struct {

View File

@ -77,8 +77,9 @@ type GetTagProductListReq {
WithProduct bool `form:"with_product,optional"` //是否携带分类下的产品
}
type GetTagProductListRsp {
TotalCategoryProduct int `json:"total_category_product"`
TagList []TagItem `json:"tag_list"`
TotalCategoryProduct int `json:"total_category_product"`
TagList []TagItem `json:"tag_list"`
TagMap interface{} `json:"tag_map"`
}
type TagItem {
TypeName string `json:"type_name"`