Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
5cc8b0af
Commit
5cc8b0af
authored
Dec 09, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增岗位菜单权限验证
parent
b3d002f0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
71 additions
and
8 deletions
+71
-8
MenuModule.cs
Edu.Module.System/MenuModule.cs
+40
-3
RB_MenuRepository.cs
Edu.Repository/System/RB_MenuRepository.cs
+26
-0
LoginController.cs
Edu.WebApi/Controllers/User/LoginController.cs
+5
-5
No files found.
Edu.Module.System/MenuModule.cs
View file @
5cc8b0af
...
...
@@ -55,6 +55,17 @@ namespace Edu.Module.System
return
menuRepository
.
GetMenuPageListRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
}
/// <summary>
/// 根据岗位编号获取岗位=>岗位角色列表=>角色列表=>角色菜单列表=>菜单列表
/// </summary>
/// <param name="postIds"></param>
/// <param name="MenuType">菜单类型</param>
/// <returns></returns>
public
List
<
RB_Menu_ViewModel
>
GetPostMenuListModule
(
string
postIds
,
int
MenuType
)
{
return
menuRepository
.
GetPostMenuListRepository
(
postIds
,
MenuType
);
}
/// <summary>
/// 新增修改菜单
/// </summary>
...
...
@@ -113,15 +124,31 @@ namespace Edu.Module.System
return
flag
;
}
/// <summary>
/// 获取岗位菜单树形列表
/// </summary>
/// <param name="query"></param>
/// <param name="postIds"></param>
/// <returns></returns>
public
List
<
MenuTree_ViewModel
>
GetPostMenuTreeModule
(
RB_Menu_ViewModel
query
,
string
postIds
=
""
)
{
List
<
RB_Menu_ViewModel
>
list
=
new
List
<
RB_Menu_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
postIds
))
{
list
=
GetPostMenuListModule
(
postIds
,
query
.
MenuType
);
}
return
GetMenuTreeModule
(
list
);
}
/// <summary>
/// 获取树形菜单
/// </summary>
/// <param name="query"></param>
/// <param name="roleId">角色编号</param>
/// <param name="postIds">岗位编号</param>
/// <returns></returns>
public
List
<
MenuTree_ViewModel
>
GetTreeMenuModule
(
RB_Menu_ViewModel
query
,
int
roleId
=
0
)
public
List
<
MenuTree_ViewModel
>
GetTreeMenuModule
(
RB_Menu_ViewModel
query
,
int
roleId
=
0
)
{
List
<
MenuTree_ViewModel
>
treeList
=
new
List
<
MenuTree_ViewModel
>();
List
<
RB_Menu_ViewModel
>
list
=
new
List
<
RB_Menu_ViewModel
>();
if
(
roleId
<=
0
)
{
...
...
@@ -131,7 +158,17 @@ namespace Edu.Module.System
{
list
=
GetRoleMenuListModule
(
query
,
roleId
:
roleId
);
}
return
GetMenuTreeModule
(
list
);
}
/// <summary>
/// 获取菜单树形列表
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private
List
<
MenuTree_ViewModel
>
GetMenuTreeModule
(
List
<
RB_Menu_ViewModel
>
list
)
{
List
<
MenuTree_ViewModel
>
treeList
=
new
List
<
MenuTree_ViewModel
>();
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
//一级菜单
...
...
Edu.Repository/System/RB_MenuRepository.cs
View file @
5cc8b0af
...
...
@@ -117,5 +117,31 @@ WHERE 1=1
builder
.
AppendFormat
(
" ORDER BY {0} DESC "
,
nameof
(
RB_Menu_ViewModel
.
MenuId
));
return
GetPage
<
RB_Menu_ViewModel
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
(),
parameters
).
ToList
();
}
/// <summary>
/// 根据岗位编号获取岗位=>岗位角色列表=>角色列表=>角色菜单列表=>菜单列表
/// </summary>
/// <param name="postIds"></param>
/// <param name="menuType"></param>
/// <returns></returns>
public
List
<
RB_Menu_ViewModel
>
GetPostMenuListRepository
(
string
postIds
,
int
menuType
)
{
if
(
string
.
IsNullOrEmpty
(
postIds
))
{
postIds
=
"0"
;
}
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT *
FROM rb_menu
WHERE Status=0 AND MenuType={0} AND MenuId IN
(
SELECT Menu_Id
FROM rb_role_permission
WHERE Role_Id IN(SELECT RoleId FROM rb_role WHERE Status=0 AND RoleId IN(SELECT RoleId FROM rb_post_role WHERE PostId IN({1})))
)
"
,
menuType
,
postIds
);
return
Get
<
RB_Menu_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
}
}
\ No newline at end of file
Edu.WebApi/Controllers/User/LoginController.cs
View file @
5cc8b0af
...
...
@@ -87,10 +87,10 @@ namespace Edu.WebApi.Controllers.User
string
token
=
WebApiTokenHelper
.
CreateToken
(
Common
.
GlobalKey
.
JWT_User_Key
,
eduUserInfo
);
string
erpToken
=
WebApiTokenHelper
.
CreateToken
(
Common
.
GlobalKey
.
JWT_ERP_User_Key
,
erpUserInfo
);
var
treeList
=
menuModule
.
Get
TreeMenu
Module
(
new
Model
.
ViewModel
.
System
.
RB_Menu_ViewModel
()
var
treeList
=
menuModule
.
Get
PostMenuTree
Module
(
new
Model
.
ViewModel
.
System
.
RB_Menu_ViewModel
()
{
MenuType
=
accountType
});
}
,
postIds
:
model
.
Post_Id
.
ToString
()
);
UserInfo
obj
=
new
UserInfo
{
Id
=
model
.
Id
,
...
...
@@ -138,10 +138,10 @@ namespace Edu.WebApi.Controllers.User
UserInfo
userInfo
=
UserReidsCache
.
GetUserLoginInfo
(
Uid
);
if
(
userInfo
!=
null
)
{
var
treeList
=
menuModule
.
Get
TreeMenu
Module
(
new
Model
.
ViewModel
.
System
.
RB_Menu_ViewModel
()
var
treeList
=
menuModule
.
Get
PostMenuTree
Module
(
new
Model
.
ViewModel
.
System
.
RB_Menu_ViewModel
()
{
MenuType
=
(
int
)
userInfo
.
AccountType
});
MenuType
=
(
int
)
userInfo
.
AccountType
}
,
userInfo
.
PostId
.
ToString
()
);
userInfo
.
MenuList
=
treeList
;
}
return
ApiResult
.
Success
(
data
:
userInfo
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment