fix:logo历史列表调整
This commit is contained in:
@@ -63,23 +63,71 @@ func (l *defaultImageHandle) LogoInfo(ctx context.Context, in *LogoInfoReq) (*Lo
|
||||
var metadata *string
|
||||
var logoUrl *string
|
||||
|
||||
userMaterialModel := gmodel.NewFsUserMaterialModel(l.MysqlConn)
|
||||
userMaterialInfo, err := userMaterialModel.FindLatestOne(ctx, in.UserId, in.GuestId)
|
||||
|
||||
// 更新用户信息
|
||||
var module = "profile"
|
||||
userInfoGorm := l.MysqlConn.Where("module = ?", module)
|
||||
userInfo := gmodel.FsUserInfo{}
|
||||
if in.UserId > 0 {
|
||||
userInfoGorm.Where("user_id = ?", in.UserId)
|
||||
userInfo.UserId = &in.UserId
|
||||
} else {
|
||||
userInfoGorm.Where("guest_id = ?", in.GuestId)
|
||||
userInfo.GuestId = &in.GuestId
|
||||
}
|
||||
resFirst := userInfoGorm.First(&userInfo)
|
||||
err := resFirst.Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
userMaterialInfoDefault, err := userMaterialModel.FindOneById(ctx, 0)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
metadataB := string(*userMaterialInfoDefault.Metadata)
|
||||
metadata = &metadataB
|
||||
logoUrl = userMaterialInfoDefault.ResourceUrl
|
||||
} else {
|
||||
logx.Error(err)
|
||||
if err != gorm.ErrRecordNotFound {
|
||||
logc.Errorf(ctx, "FsUserInfo First err:%+v", err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
var userMaterialInfo gmodel.FsUserMaterial
|
||||
userMaterialModel := gmodel.NewFsUserMaterialModel(l.MysqlConn)
|
||||
|
||||
if userInfo.Id == 0 {
|
||||
userMaterialInfo, err = userMaterialModel.FindLatestOne(ctx, in.UserId, in.GuestId)
|
||||
if err != gorm.ErrRecordNotFound {
|
||||
logc.Errorf(ctx, "FsUserMaterial FindLatestOne err:%+v", err)
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
if userInfo.Metadata != nil {
|
||||
var metadata map[string]interface{}
|
||||
err = json.Unmarshal([]byte(*userInfo.Metadata), &metadata)
|
||||
if err != nil {
|
||||
logc.Errorf(ctx, "userInfo.Metadata Unmarshal err:%+v", err)
|
||||
return nil, err
|
||||
}
|
||||
logoSelectedId, isEx := metadata["logo_selected_id"]
|
||||
if isEx {
|
||||
var materialId int64 = int64(logoSelectedId.(float64))
|
||||
userMaterialInfos, err := userMaterialModel.FindOneById(ctx, materialId)
|
||||
if err != nil {
|
||||
if err != gorm.ErrRecordNotFound {
|
||||
logc.Errorf(ctx, "FsUserInfo First err:%+v", err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if userMaterialInfos.Id != 0 {
|
||||
userMaterialInfo = *userMaterialInfos
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if userMaterialInfo.Id == 0 {
|
||||
userMaterialInfoDefault, err := userMaterialModel.FindOneById(ctx, 0)
|
||||
if err != nil {
|
||||
if err != gorm.ErrRecordNotFound {
|
||||
logc.Errorf(ctx, "userMaterialModel FindOneById defaul err:%+v", err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
metadataB := string(*userMaterialInfoDefault.Metadata)
|
||||
metadata = &metadataB
|
||||
logoUrl = userMaterialInfoDefault.ResourceUrl
|
||||
|
||||
} else {
|
||||
metadataB := string(*userMaterialInfo.Metadata)
|
||||
metadata = &metadataB
|
||||
|
||||
Reference in New Issue
Block a user