fix:logo历史列表调整

This commit is contained in:
momo 2023-09-07 16:54:49 +08:00
parent b48417eee0
commit 818eee78be
5 changed files with 52 additions and 26 deletions

View File

@ -15,7 +15,7 @@ type RelaFsUserMaterial struct {
FsUserMaterial FsUserMaterial
// 关联字段填充 // 关联字段填充
ResourceInfo *RelaFsResource `json:"resource_info" gorm:"foreignkey:resource_id;references:resource_id"` ResourceInfo *RelaFsResource `json:"resource_info" gorm:"foreignkey:resource_id;references:resource_id"`
MetaDataMap map[string]interface{} `json:"meta_data_map" gorm:"-"` MetaDataMap map[string]interface{} `json:"metadata_map" gorm:"-"`
} }
func (p *FsUserMaterialModel) CreateOrUpdate(ctx context.Context, req *FsUserMaterial) (resp *FsUserMaterial, err error) { func (p *FsUserMaterialModel) CreateOrUpdate(ctx context.Context, req *FsUserMaterial) (resp *FsUserMaterial, err error) {

View File

@ -95,16 +95,19 @@ func (l *UserInfoSetLogic) UserInfoSet(req *types.UserInfoSetReq, userinfo *auth
var nowTime = time.Now().UTC() var nowTime = time.Now().UTC()
if userInfo.Id != 0 { if userInfo.Id != 0 {
var reqMetadata map[string]int64 var reqMetadata map[string]interface{}
json.Unmarshal([]byte(req.Metadata), &reqMetadata) json.Unmarshal([]byte(req.Metadata), &reqMetadata)
var metadataMapOld map[string]interface{}
json.Unmarshal(*userInfo.Metadata, &metadataMapOld)
var metadataMap map[string]interface{} var metadataMap map[string]interface{}
json.Unmarshal(*userInfo.Metadata, &metadataMap)
logoSelectedId, isEx := metadataMap["logo_selected_id"] err = l.svcCtx.MysqlConn.WithContext(l.ctx).Transaction(func(tx *gorm.DB) error {
if isEx {
var materialId int64 = int64(logoSelectedId.(float64))
// 更新merchant_category // 更新merchant_category
if req.Module == "merchant_category" { if req.Module == "merchant_category" {
err = l.svcCtx.MysqlConn.WithContext(l.ctx).Transaction(func(tx *gorm.DB) error { logoSelectedId, isEx := metadataMapOld["logo_selected_id"]
if isEx {
var materialId int64 = int64(logoSelectedId.(float64))
var userMaterialInfo gmodel.FsUserMaterial var userMaterialInfo gmodel.FsUserMaterial
userMaterialGorm := tx.Where("id = ?", materialId) userMaterialGorm := tx.Where("id = ?", materialId)
resUserMaterialInfo := userMaterialGorm.First(&userMaterialInfo) resUserMaterialInfo := userMaterialGorm.First(&userMaterialInfo)
@ -113,7 +116,6 @@ func (l *UserInfoSetLogic) UserInfoSet(req *types.UserInfoSetReq, userinfo *auth
logc.Errorf(l.ctx, "FsUserMaterial First err%+v", err) logc.Errorf(l.ctx, "FsUserMaterial First err%+v", err)
return err return err
} }
var metadataMap map[string]interface{}
var metadataMapOld map[string]interface{} var metadataMapOld map[string]interface{}
if userMaterialInfo.Id > 0 { if userMaterialInfo.Id > 0 {
err = json.Unmarshal(*userMaterialInfo.Metadata, &metadataMapOld) err = json.Unmarshal(*userMaterialInfo.Metadata, &metadataMapOld)
@ -143,15 +145,39 @@ func (l *UserInfoSetLogic) UserInfoSet(req *types.UserInfoSetReq, userinfo *auth
return err return err
} }
} }
}
return nil } else {
}) var metadataChild = make(map[string]interface{}, 1)
metadataChild["logo_selected_id"] = reqMetadata["logo_selected_id"]
metadataMap, err = metadata.SetMetadata(metadataChild, metadataMapOld)
if err != nil { if err != nil {
logx.Error(err) logc.Errorf(l.ctx, "metadata SetMetadata err%+v", err)
return resp.SetStatus(basic.CodeDbSqlErr, "service fail") return err
}
metadataB, err := json.Marshal(metadataMap)
if err != nil {
logc.Errorf(l.ctx, "metadata marshal err%+v", err)
return err
}
userInfo.Metadata = &metadataB
userInfo.Utime = &nowTime
resUpdates := tx.Model(&userInfo).Select("metadata").Where("id = ?", userInfo.Id).Updates(&userInfo)
err = resUpdates.Error
if err != nil {
if err != gorm.ErrRecordNotFound {
logc.Errorf(l.ctx, "FsUserInfo Updates err%+v", err)
return err
}
} }
} }
return nil
})
if err != nil {
logx.Error(err)
return resp.SetStatus(basic.CodeDbSqlErr, "service fail")
} }
return resp.SetStatus(basic.CodeOK) return resp.SetStatus(basic.CodeOK)
} else { } else {
userInfo.GuestId = &guestId userInfo.GuestId = &guestId

View File

@ -84,7 +84,7 @@ func (l *UserLogoListLogic) UserLogoList(req *types.UserLogoListReq, userinfo *a
merchantCategoryId := int64(merchantCategory.(float64)) merchantCategoryId := int64(merchantCategory.(float64))
merchantCategoryIds = append(merchantCategoryIds, merchantCategoryId) merchantCategoryIds = append(merchantCategoryIds, merchantCategoryId)
} }
metadataMap["merchant_category_info"] = nil
v.MetaDataMap = metadataMap v.MetaDataMap = metadataMap
} }

View File

@ -6,8 +6,8 @@ import (
) )
type UserInfoSetReq struct { type UserInfoSetReq struct {
Module string `form:"module,options=[merchant_category,logo_merchant_category]"` // json格式字符串 Module string `form:"module,options=[merchant_category,logo_merchant_category,profile]"` // json格式字符串
Metadata string `form:"metadata"` // json格式字符串 Metadata string `form:"metadata"` // json格式字符串
} }
type UserAgainOrderReq struct { type UserAgainOrderReq struct {

View File

@ -10,7 +10,7 @@ info (
import "basic.api" import "basic.api"
service home-user-auth { service home-user-auth {
// @handler UserRegisterHandler // @handler UserRegisterHandler
// post /api/user/register(RequestUserRegister) returns (response); // post /api/user/register(RequestUserRegister) returns (response);
//用户字体 //用户字体
@ -37,33 +37,33 @@ service home-user-auth {
//联系服务 //联系服务
@handler UserContactServiceHandler @handler UserContactServiceHandler
post /api/user/contact-service (RequestContactService) returns (response); post /api/user/contact-service (RequestContactService) returns (response);
// @handler UserOderListHandler // @handler UserOderListHandler
// get /api/user/order-list(RequestOrderId) returns (response); // get /api/user/order-list(RequestOrderId) returns (response);
//删除订单 //删除订单
@handler UserOderDeleteHandler @handler UserOderDeleteHandler
post /api/user/order-delete(RequestOrderId) returns (response); post /api/user/order-delete(RequestOrderId) returns (response);
//订单列表 //订单列表
@handler UserOrderListHandler @handler UserOrderListHandler
get /api/user/order-list (UserOrderListReq) returns (response); get /api/user/order-list (UserOrderListReq) returns (response);
//删除订单 //删除订单
@handler UserOrderDeleteHandler @handler UserOrderDeleteHandler
get /api/user/order-delete (UserOrderDeleteReq) returns (response); get /api/user/order-delete (UserOrderDeleteReq) returns (response);
//取消订单 //取消订单
@handler UserOrderCancelHandler @handler UserOrderCancelHandler
get /api/user/order-cancel (UserOrderCancelReq) returns (response); get /api/user/order-cancel (UserOrderCancelReq) returns (response);
// 用户logo列表 // 用户logo列表
@handler UserLogoListHandler @handler UserLogoListHandler
get /api/user/logo-list (UserLogoListReq) returns (response); get /api/user/logo-list (UserLogoListReq) returns (response);
// 再来一单 // 再来一单
@handler UserAgainOrderHandler @handler UserAgainOrderHandler
get /api/user/one-more-order (UserAgainOrderReq) returns (response); get /api/user/one-more-order (UserAgainOrderReq) returns (response);
// 保存商户信息 // 保存商户信息
@handler UserInfoSetHandler @handler UserInfoSetHandler
post /api/user/set_user_info (UserInfoSetReq) returns (response); post /api/user/set_user_info (UserInfoSetReq) returns (response);
@ -71,8 +71,8 @@ service home-user-auth {
type ( type (
UserInfoSetReq { UserInfoSetReq {
Module string `form:"module,options=[merchant_category,logo_merchant_category]"` // json格式字符串 Module string `form:"module,options=[merchant_category,logo_merchant_category,profile]"` // json格式字符串
Metadata string `form:"metadata"` // json格式字符串 Metadata string `form:"metadata"` // json格式字符串
} }
) )