Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
commit
e8a2778db0
|
@ -78,6 +78,40 @@ func (l *GetProductModelsLogic) GetProductModels(req *types.GetProductModelsReq,
|
||||||
for k, v := range lightList {
|
for k, v := range lightList {
|
||||||
mapLight[v.Id] = k
|
mapLight[v.Id] = k
|
||||||
}
|
}
|
||||||
|
//获取配件默认贴图
|
||||||
|
fittingPublicTemplateIds := make([]int64, 0, len(modelList)) //绑定了公共模板
|
||||||
|
fittingNotPublicIds := make([]int64, 0, len(modelList)) //没绑定公共模板
|
||||||
|
for _, v := range modelList {
|
||||||
|
if *v.Tag != constants.TAG_PARTS {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
//配件绑定公共模板
|
||||||
|
if *v.OptionTemplate > 0 {
|
||||||
|
fittingPublicTemplateIds = append(fittingPublicTemplateIds, *v.OptionTemplate)
|
||||||
|
} else {
|
||||||
|
fittingNotPublicIds = append(fittingNotPublicIds, v.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//公共模板配件的模板列表
|
||||||
|
fittingPublicTemplateList, err := l.svcCtx.AllModels.FsProductTemplateV2.FindAllByIds(l.ctx, fittingPublicTemplateIds, "id,model_id,material_img")
|
||||||
|
if err != nil {
|
||||||
|
logx.Error(err)
|
||||||
|
return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "failed to get fitting templates!")
|
||||||
|
}
|
||||||
|
mapFittingPublicTemplate := make(map[int64]int)
|
||||||
|
for k, v := range fittingPublicTemplateList {
|
||||||
|
mapFittingPublicTemplate[v.Id] = k
|
||||||
|
}
|
||||||
|
//非公共模板配件的模板列表
|
||||||
|
fittingNotPublicTemplateList, err := l.svcCtx.AllModels.FsProductTemplateV2.FindAllByFittingIds(l.ctx, fittingNotPublicIds)
|
||||||
|
if err != nil {
|
||||||
|
logx.Error(err)
|
||||||
|
return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "failed to get fitting templates!!")
|
||||||
|
}
|
||||||
|
mapFittingNotPublicTemplate := make(map[int64]int)
|
||||||
|
for k, v := range fittingNotPublicTemplateList {
|
||||||
|
mapFittingNotPublicTemplate[*v.ModelId] = k
|
||||||
|
}
|
||||||
for _, v := range modelList {
|
for _, v := range modelList {
|
||||||
//模型设计信息
|
//模型设计信息
|
||||||
var modelDesignInfo interface{}
|
var modelDesignInfo interface{}
|
||||||
|
@ -98,13 +132,28 @@ func (l *GetProductModelsLogic) GetProductModels(req *types.GetProductModelsReq,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fittingMaterialImage := ""
|
||||||
|
//配件有默认贴图
|
||||||
|
if *v.Tag == constants.TAG_PARTS {
|
||||||
|
switch *v.OptionTemplate {
|
||||||
|
case 0: //没有绑定公共模板的配件
|
||||||
|
if index, ok := mapFittingNotPublicTemplate[v.Id]; ok {
|
||||||
|
fittingMaterialImage = *fittingNotPublicTemplateList[index].MaterialImg
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
if index, ok := mapFittingPublicTemplate[*v.OptionTemplate]; ok {
|
||||||
|
fittingMaterialImage = *fittingPublicTemplateList[index].MaterialImg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
mapProductModels[*v.ProductId] = append(mapProductModels[*v.ProductId], types.ModelItem{
|
mapProductModels[*v.ProductId] = append(mapProductModels[*v.ProductId], types.ModelItem{
|
||||||
Id: v.Id,
|
Id: v.Id,
|
||||||
Type: *v.Tag,
|
Type: *v.Tag,
|
||||||
Title: *v.Title,
|
Title: *v.Title,
|
||||||
Name: *v.Name,
|
Name: *v.Name,
|
||||||
DesignInfo: modelDesignInfo,
|
MaterialImage: fittingMaterialImage,
|
||||||
LightInfo: lightDesignInfo,
|
DesignInfo: modelDesignInfo,
|
||||||
|
LightInfo: lightDesignInfo,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
mapProductInfo := make(map[int64][]types.ModelItem)
|
mapProductInfo := make(map[int64][]types.ModelItem)
|
||||||
|
|
|
@ -181,12 +181,13 @@ type ProductItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type ModelItem struct {
|
type ModelItem struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Type int64 `json:"type"` //1模型 2配件 3场景
|
Type int64 `json:"type"` //1模型 2配件 3场景
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
DesignInfo interface{} `json:"design_info"`
|
MaterialImage string `json:"material_image"` //默认贴图
|
||||||
LightInfo interface{} `json:"light_info"`
|
DesignInfo interface{} `json:"design_info"`
|
||||||
|
LightInfo interface{} `json:"light_info"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Request struct {
|
type Request struct {
|
||||||
|
|
|
@ -197,10 +197,11 @@ type ProductItem {
|
||||||
ModelList []ModelItem `json:"model_list"`
|
ModelList []ModelItem `json:"model_list"`
|
||||||
}
|
}
|
||||||
type ModelItem {
|
type ModelItem {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Type int64 `json:"type"` //1模型 2配件 3场景
|
Type int64 `json:"type"` //1模型 2配件 3场景
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
DesignInfo interface{} `json:"design_info"`
|
MaterialImage string `json:"material_image"` //默认贴图
|
||||||
LightInfo interface{} `json:"light_info"`
|
DesignInfo interface{} `json:"design_info"`
|
||||||
|
LightInfo interface{} `json:"light_info"`
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user