用户菜单返回

This commit is contained in:
guosl 2024-08-01 19:18:00 +08:00
parent 38ee5d1010
commit a87c903304
3 changed files with 32 additions and 0 deletions

View File

@ -13,4 +13,7 @@ type ApplicationService interface {
Search(ctx context.Context, query *appModel.Query) (rsp appModel.List, err error) Search(ctx context.Context, query *appModel.Query) (rsp appModel.List, err error)
Menus(ctx context.Context, info *appModel.MenusReq) (rsp []appModel.Menu, err error) Menus(ctx context.Context, info *appModel.MenusReq) (rsp []appModel.Menu, err error)
Modify(ctx context.Context, info *appModel.ApplicationInfo) error Modify(ctx context.Context, info *appModel.ApplicationInfo) error
CreateMenu(ctx context.Context, info *appModel.CreateMenuReq) error
ModifyMenu(ctx context.Context, info *appModel.ModifyMenuReq) error
DeleteMenu(ctx context.Context, info *appModel.DelMenuReq) error
} }

View File

@ -2,10 +2,13 @@ package user
import ( import (
"busniess-user-center/config" "busniess-user-center/config"
appModel "busniess-user-center/internal/models/application"
"busniess-user-center/internal/models/base" "busniess-user-center/internal/models/base"
orgModel "busniess-user-center/internal/models/organization"
"busniess-user-center/internal/models/role" "busniess-user-center/internal/models/role"
userModel "busniess-user-center/internal/models/user" userModel "busniess-user-center/internal/models/user"
"busniess-user-center/internal/repo" "busniess-user-center/internal/repo"
"busniess-user-center/internal/service/application"
"busniess-user-center/pkg/redis" "busniess-user-center/pkg/redis"
contextUtil "busniess-user-center/pkg/utils/context" contextUtil "busniess-user-center/pkg/utils/context"
stringUtil "busniess-user-center/pkg/utils/string" stringUtil "busniess-user-center/pkg/utils/string"
@ -38,6 +41,7 @@ type userService struct {
tokenRefresher *token.TokenRefresher tokenRefresher *token.TokenRefresher
roleRepo repo.RoleRepo roleRepo repo.RoleRepo
orgRepo repo.OrganizationRepo orgRepo repo.OrganizationRepo
appService application.ApplicationService
} }
func NewUserService(i *do.Injector) (UserService, error) { func NewUserService(i *do.Injector) (UserService, error) {
@ -49,6 +53,7 @@ func NewUserService(i *do.Injector) (UserService, error) {
tokenRefresher: do.MustInvoke[*token.TokenRefresher](i), tokenRefresher: do.MustInvoke[*token.TokenRefresher](i),
roleRepo: do.MustInvoke[repo.RoleRepo](i), roleRepo: do.MustInvoke[repo.RoleRepo](i),
orgRepo: do.MustInvoke[repo.OrganizationRepo](i), orgRepo: do.MustInvoke[repo.OrganizationRepo](i),
appService: do.MustInvoke[application.ApplicationService](i),
}, nil }, nil
} }
@ -293,8 +298,19 @@ func (u *userService) GetUser(ctx context.Context, req *userModel.GetUserReq) (u
user = convertUser(rUser) user = convertUser(rUser)
aRoles := removeRepeatRole(uRoles, oRoles) aRoles := removeRepeatRole(uRoles, oRoles)
// 获取菜单
user.Roles = make([]role.Role, 0, len(aRoles)) user.Roles = make([]role.Role, 0, len(aRoles))
copier.Copy(&user.Roles, aRoles) copier.Copy(&user.Roles, aRoles)
user.Orgs = make([]orgModel.Organization, 0, len(orgs))
copier.Copy(&user.Orgs, orgs)
appInfo, err := u.appService.GetApp(ctx, &appModel.GetAppReq{Code: req.AppCode})
if err != nil {
return
}
user.Menus = appModel.MenuTree{Menus: appInfo.Menus}
return return
} }

View File

@ -36,6 +36,7 @@ func RegisterRoute(api *gin.RouterGroup) {
api.GET("/search", ginUtil.Wrap(server.Search)) api.GET("/search", ginUtil.Wrap(server.Search))
api.GET("/application", ginUtil.Wrap(server.Get)) api.GET("/application", ginUtil.Wrap(server.Get))
api.POST("/modify", ginUtil.WrapNoRsp(server.Modify)) api.POST("/modify", ginUtil.WrapNoRsp(server.Modify))
// api.POST("/get_menu", ginUtil.WrapNoRsp(server.Modify))
} }
func (u *ApplicationServer) Create(ctx context.Context, req *appModel.CreateReq) (err error) { func (u *ApplicationServer) Create(ctx context.Context, req *appModel.CreateReq) (err error) {
@ -63,3 +64,15 @@ func (u *ApplicationServer) DelApp(ctx context.Context, req *appModel.DeleteAppR
func (u *ApplicationServer) Modify(ctx context.Context, info *appModel.ApplicationInfo) error { func (u *ApplicationServer) Modify(ctx context.Context, info *appModel.ApplicationInfo) error {
return u.applicationService.Modify(ctx, info) return u.applicationService.Modify(ctx, info)
} }
func (u *ApplicationServer) CreateMenu(ctx context.Context, info *appModel.CreateMenuReq) error {
return u.applicationService.CreateMenu(ctx, info)
}
func (u *ApplicationServer) ModifyMenu(ctx context.Context, info *appModel.ModifyMenuReq) error {
return u.applicationService.ModifyMenu(ctx, info)
}
func (u *ApplicationServer) DeleteMenu(ctx context.Context, info *appModel.DelMenuReq) error {
return u.applicationService.DeleteMenu(ctx, info)
}