From ce413c494cb7aebdcf1309953dde59e0b78703f7 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 16 Oct 2023 11:16:39 +0800 Subject: [PATCH] fix --- model/gmodel/fs_user_info_logic.go | 4 ++++ .../internal/logic/getproducttemplatetagslogic.go | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/model/gmodel/fs_user_info_logic.go b/model/gmodel/fs_user_info_logic.go index d21f79cf..52af5439 100644 --- a/model/gmodel/fs_user_info_logic.go +++ b/model/gmodel/fs_user_info_logic.go @@ -79,3 +79,7 @@ func (m *FsUserInfoModel) GetProfile(ctx context.Context, pkey string, userId in } return info, nil } +func (m *FsUserInfoModel) FindOneByUser(ctx context.Context, userId, guestId int64) (resp *FsUserInfo, err error) { + err = m.db.WithContext(ctx).Model(&FsUserInfo{}).Where("user_id = ? and guest_id = ?", userId, guestId).Take(&resp).Error + return resp, err +} diff --git a/server/product-template-tag/internal/logic/getproducttemplatetagslogic.go b/server/product-template-tag/internal/logic/getproducttemplatetagslogic.go index 7191f110..47803452 100644 --- a/server/product-template-tag/internal/logic/getproducttemplatetagslogic.go +++ b/server/product-template-tag/internal/logic/getproducttemplatetagslogic.go @@ -3,12 +3,14 @@ package logic import ( "context" "encoding/json" + "errors" "fusenapi/model/gmodel" "fusenapi/server/product-template-tag/internal/svc" "fusenapi/server/product-template-tag/internal/types" "fusenapi/utils/auth" "fusenapi/utils/basic" "fusenapi/utils/s3url_to_s3id" + "gorm.io/gorm" "github.com/zeromicro/go-zero/core/logx" ) @@ -67,9 +69,18 @@ func (l *GetProductTemplateTagsLogic) GetProductTemplateTags(req *types.GetProdu if logoInfo.Metadata == nil || len(*logoInfo.Metadata) == 0 { return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "logo info`s metadata is not set") } + //获取userInfo信息 + userProfile, err := l.svcCtx.AllModels.FsUserInfo.FindOneByUser(l.ctx, userinfo.UserId, userinfo.GuestId) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp.SetStatusWithMessage(basic.CodeDbRecordNotFoundErr, "user profile info is not found") + } + logx.Error(err) + return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "failed to get user profile info") + } //解析用户素材元数据 var metaData map[string]interface{} - if err = json.Unmarshal([]byte(*logoInfo.Metadata), &metaData); err != nil { + if err = json.Unmarshal(*logoInfo.Metadata, &metaData); err != nil { logx.Error(err) return resp.SetStatusWithMessage(basic.CodeJsonErr, "failed to parse user metadata") } @@ -91,7 +102,7 @@ func (l *GetProductTemplateTagsLogic) GetProductTemplateTags(req *types.GetProdu mapSelectColor := make(map[string]int) //key是模板标签val是选中的索引 //解析用户信息元数据 var logoSelectInfo LogoSelect - if err = json.Unmarshal(*logoInfo.Metadata, &logoSelectInfo); err != nil { + if err = json.Unmarshal(*userProfile.Metadata, &logoSelectInfo); err != nil { logx.Error(err) return resp.SetStatusWithMessage(basic.CodeJsonErr, "failed to parse user info metadata") }