Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
Commits
4077215a
提交
4077215a
authored
7月 12, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
角色权限配置优化
上级
adc05e79
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
114 行增加
和
112 行删除
+114
-112
MenuInfoController.java
...java/com/mmc/iuav/user/controller/MenuInfoController.java
+3
-17
RoleController.java
...ain/java/com/mmc/iuav/user/controller/RoleController.java
+15
-0
MenuInfoDao.java
...user/src/main/java/com/mmc/iuav/user/dao/MenuInfoDao.java
+1
-6
RoleDao.java
...ice-user/src/main/java/com/mmc/iuav/user/dao/RoleDao.java
+5
-0
MenuInfoDO.java
...er/src/main/java/com/mmc/iuav/user/entity/MenuInfoDO.java
+24
-1
MenuInfoService.java
.../main/java/com/mmc/iuav/user/service/MenuInfoService.java
+0
-5
RoleService.java
.../src/main/java/com/mmc/iuav/user/service/RoleService.java
+3
-0
MenuInfoServiceImpl.java
...a/com/mmc/iuav/user/service/impl/MenuInfoServiceImpl.java
+0
-37
RoleServiceImpl.java
.../java/com/mmc/iuav/user/service/impl/RoleServiceImpl.java
+32
-0
MenuTreeUtil.java
...er/src/main/java/com/mmc/iuav/user/util/MenuTreeUtil.java
+4
-4
MenuInfoDao.xml
...ms-service-user/src/main/resources/mapper/MenuInfoDao.xml
+0
-42
RoleDao.xml
...ce/cms-service-user/src/main/resources/mapper/RoleDao.xml
+27
-0
没有找到文件。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/MenuInfoController.java
浏览文件 @
4077215a
...
...
@@ -2,16 +2,15 @@ package com.mmc.iuav.user.controller;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.MenuInfoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.
*
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.web.bind.annotation.
GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author: zj
...
...
@@ -31,17 +30,4 @@ public class MenuInfoController extends BaseController {
return
menuInfoService
.
listMenuInfo
();
}
@ApiOperation
(
value
=
"根据角色id获取权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MenuInfoDTO
.
class
)})
@GetMapping
(
"listRoleMenuInfo"
)
public
ResultBody
listRoleMenuInfo
(
@RequestParam
Integer
roleId
)
{
return
menuInfoService
.
listRoleMenuInfo
(
roleId
);
}
@ApiOperation
(
value
=
"修改角色菜单权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateRoleMenuInfo"
)
public
ResultBody
updateRoleMenuInfo
(
HttpServletRequest
request
,
@RequestBody
RoleMenuInfoVO
roleMenuInfoVO
)
{
return
menuInfoService
.
updateRoleMenuInfo
(
roleMenuInfoVO
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/RoleController.java
浏览文件 @
4077215a
...
...
@@ -4,9 +4,11 @@ import com.mmc.iuav.group.Create;
import
com.mmc.iuav.group.Page
;
import
com.mmc.iuav.group.Update
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.dto.RoleInfoDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.RoleService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -60,5 +62,18 @@ public class RoleController extends BaseController {
return
ResultBody
.
success
(
roleService
.
listPageRoleInfo
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"根据角色id获取权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MenuInfoDTO
.
class
)})
@GetMapping
(
"listRoleMenuInfo"
)
public
ResultBody
listRoleMenuInfo
(
@RequestParam
Integer
roleId
)
{
return
roleService
.
listRoleMenuInfo
(
roleId
);
}
@ApiOperation
(
value
=
"修改角色菜单权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateRoleMenuInfo"
)
public
ResultBody
updateRoleMenuInfo
(
HttpServletRequest
request
,
@RequestBody
RoleMenuInfoVO
roleMenuInfoVO
)
{
return
roleService
.
updateRoleMenuInfo
(
roleMenuInfoVO
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/MenuInfoDao.java
浏览文件 @
4077215a
...
...
@@ -2,7 +2,6 @@ package com.mmc.iuav.user.dao;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -12,11 +11,7 @@ import java.util.List;
*/
@Mapper
public
interface
MenuInfoDao
{
List
<
MenuInfoDO
>
listMenuInfo
();
List
<
MenuInfoDO
>
listRoleMenuInfo
(
Integer
roleId
);
void
batchAddMenuIds
(
Integer
roleId
,
@Param
(
"addMenuIds"
)
List
<
Integer
>
addMenuIds
);
List
<
MenuInfoDO
>
listMenuInfo
(
);
void
batchDeleteMenuIds
(
Integer
roleId
,
@Param
(
"deleteMenuIds"
)
List
<
Integer
>
deleteMenuIds
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/RoleDao.java
浏览文件 @
4077215a
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
@@ -34,6 +35,10 @@ public interface RoleDao {
Integer
countNotDelUserAccountByRole
(
Integer
id
);
List
<
MenuInfoDO
>
listRoleMenuInfo
(
Integer
roleId
);
void
batchAddMenuIds
(
Integer
roleId
,
List
<
Integer
>
addMenuIds
);
void
batchDeleteMenuIds
(
Integer
roleId
,
List
<
Integer
>
deleteMenuIds
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/MenuInfoDO.java
浏览文件 @
4077215a
...
...
@@ -18,14 +18,37 @@ import java.util.Date;
public
class
MenuInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4992870152816350664L
;
private
Integer
id
;
/**
* 父级id
*/
private
Integer
pid
;
/**
* 菜单名
*/
private
String
menuName
;
private
String
portType
;
/**
* 菜单类型:0菜单,1按钮
*/
private
String
domType
;
/**
* 菜单路径
*/
private
String
pathInfo
;
/**
* 菜单图标
*/
private
String
icon
;
/**
* 序号
*/
private
Integer
sort
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
public
MenuInfoDTO
buildMenuInfoDTO
()
{
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/MenuInfoService.java
浏览文件 @
4077215a
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
/**
* @author: zj
* @Date: 2023/7/11 14:13
*/
public
interface
MenuInfoService
{
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
listMenuInfo
();
ResultBody
listRoleMenuInfo
(
Integer
roleId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/RoleService.java
浏览文件 @
4077215a
...
...
@@ -5,6 +5,7 @@ import com.mmc.iuav.response.ResultBody;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
/**
...
...
@@ -21,5 +22,7 @@ public interface RoleService {
PageResult
listPageRoleInfo
(
RoleInfoQO
param
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
listRoleMenuInfo
(
Integer
roleId
);
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
userLoginInfoFromRedis
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/MenuInfoServiceImpl.java
浏览文件 @
4077215a
...
...
@@ -2,18 +2,12 @@ package com.mmc.iuav.user.service.impl;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.dao.MenuInfoDao
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.MenuInfoService
;
import
com.mmc.iuav.user.util.MenuTreeUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -27,31 +21,6 @@ public class MenuInfoServiceImpl implements MenuInfoService {
@Autowired
private
MenuInfoDao
menuInfoDao
;
@Autowired
private
RoleDao
roleDao
;
@Transactional
@Override
public
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
loginSuccessDTO
)
{
// 判断该角色的菜单是否可以修改
RoleInfoDO
roleInfo
=
roleDao
.
getRoleInfo
(
roleMenuInfoVO
.
getRoleId
());
if
(!
CollectionUtils
.
isEmpty
(
roleMenuInfoVO
.
getMenuInfoIds
()))
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listRoleMenuInfo
(
roleMenuInfoVO
.
getRoleId
());
List
<
Integer
>
existMenuIds
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 新添加的权限
List
<
Integer
>
addMenuIds
=
roleMenuInfoVO
.
getMenuInfoIds
().
stream
().
filter
(
v
->
!
existMenuIds
.
contains
(
v
)).
collect
(
Collectors
.
toList
());
// 需删除的权限
List
<
Integer
>
deleteMenuIds
=
existMenuIds
.
stream
().
filter
(
v
->
!
roleMenuInfoVO
.
getMenuInfoIds
().
contains
(
v
)).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
addMenuIds
))
{
menuInfoDao
.
batchAddMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
addMenuIds
);
}
if
(!
CollectionUtils
.
isEmpty
(
deleteMenuIds
))
{
menuInfoDao
.
batchDeleteMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
deleteMenuIds
);
}
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
listMenuInfo
()
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listMenuInfo
();
...
...
@@ -59,10 +28,4 @@ public class MenuInfoServiceImpl implements MenuInfoService {
return
ResultBody
.
success
(
MenuTreeUtil
.
buildTreePCMenu
(
menuInfoDTOS
));
}
@Override
public
ResultBody
listRoleMenuInfo
(
Integer
roleId
)
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listRoleMenuInfo
(
roleId
);
List
<
MenuInfoDTO
>
menuInfoDTOS
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
buildMenuInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
MenuTreeUtil
.
buildTreePCMenu
(
menuInfoDTOS
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/RoleServiceImpl.java
浏览文件 @
4077215a
...
...
@@ -5,14 +5,20 @@ import com.mmc.iuav.page.PageResult;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.RoleService
;
import
com.mmc.iuav.user.util.MenuTreeUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -76,5 +82,31 @@ public class RoleServiceImpl implements RoleService {
}).
collect
(
Collectors
.
toList
()));
}
@Override
public
ResultBody
listRoleMenuInfo
(
Integer
roleId
)
{
List
<
MenuInfoDO
>
menuInfoDOList
=
roleDao
.
listRoleMenuInfo
(
roleId
);
List
<
MenuInfoDTO
>
menuInfoDTOS
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
buildMenuInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
MenuTreeUtil
.
buildTreePCMenu
(
menuInfoDTOS
));
}
@Override
public
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
// 判断该角色的菜单是否可以修改
if
(!
CollectionUtils
.
isEmpty
(
roleMenuInfoVO
.
getMenuInfoIds
()))
{
List
<
MenuInfoDO
>
menuInfoDOList
=
roleDao
.
listRoleMenuInfo
(
roleMenuInfoVO
.
getRoleId
());
List
<
Integer
>
existMenuIds
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 新添加的权限
List
<
Integer
>
addMenuIds
=
roleMenuInfoVO
.
getMenuInfoIds
().
stream
().
filter
(
v
->
!
existMenuIds
.
contains
(
v
)).
collect
(
Collectors
.
toList
());
// 需删除的权限
List
<
Integer
>
deleteMenuIds
=
existMenuIds
.
stream
().
filter
(
v
->
!
roleMenuInfoVO
.
getMenuInfoIds
().
contains
(
v
)).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
addMenuIds
))
{
roleDao
.
batchAddMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
addMenuIds
);
}
if
(!
CollectionUtils
.
isEmpty
(
deleteMenuIds
))
{
roleDao
.
batchDeleteMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
deleteMenuIds
);
}
}
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/MenuTreeUtil.java
浏览文件 @
4077215a
...
...
@@ -9,8 +9,8 @@ import java.util.List;
* @author zj
*/
public
class
MenuTreeUtil
{
public
final
static
Integer
SXTB
_PC_MENU_PID
=
1
;
public
final
static
String
SXTB
_PC_MENU_NAME
=
"云享飞管理后台"
;
public
final
static
Integer
IUAV
_PC_MENU_PID
=
1
;
public
final
static
String
IUAV
_PC_MENU_NAME
=
"云享飞管理后台"
;
public
static
void
builderTree
(
List
<
MenuInfoDTO
>
treeEntityList
,
MenuInfoDTO
pTreeEntity
)
{
List
<
MenuInfoDTO
>
childMenus
=
new
ArrayList
<
MenuInfoDTO
>();
...
...
@@ -46,8 +46,8 @@ public class MenuTreeUtil {
*/
public
static
MenuInfoDTO
buildTreePCMenu
(
List
<
MenuInfoDTO
>
treeEntityList
)
{
MenuInfoDTO
parent
=
new
MenuInfoDTO
();
parent
.
setId
(
MenuTreeUtil
.
SXTB
_PC_MENU_PID
);
parent
.
setMenuName
(
SXTB
_PC_MENU_NAME
);
parent
.
setId
(
MenuTreeUtil
.
IUAV
_PC_MENU_PID
);
parent
.
setMenuName
(
IUAV
_PC_MENU_NAME
);
MenuTreeUtil
.
builderTree
(
treeEntityList
,
parent
);
return
parent
;
}
...
...
csm-service/cms-service-user/src/main/resources/mapper/MenuInfoDao.xml
浏览文件 @
4077215a
...
...
@@ -3,39 +3,6 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.iuav.user.dao.MenuInfoDao"
>
<resultMap
id=
"menuInfoResultMap"
type=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"pid"
column=
"pid"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"portType"
column=
"port_type"
/>
<result
property=
"domType"
column=
"dom_type"
/>
<result
property=
"pathInfo"
column=
"path_info"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<insert
id=
"batchAddMenuIds"
>
insert into menu_role_rel
(
role_id,menu_id,create_time
)
values
<foreach
collection=
"addMenuIds"
item=
"menuId"
separator=
","
>
(
#{roleId},#{menuId},NOW()
)
</foreach>
</insert>
<delete
id=
"batchDeleteMenuIds"
>
delete from menu_role_rel where role_id = #{roleId} and menu_id in
<foreach
collection=
"deleteMenuIds"
item=
"menuId"
open=
"("
separator=
","
close=
")"
>
#{menuId}
</foreach>
</delete>
<select
id=
"listMenuInfo"
resultType=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
select m.id,m.pid,m.menu_name,m.dom_type,m.path_info
...
...
@@ -43,12 +10,4 @@
order by m.sort ASC
</select>
<select
id=
"listRoleMenuInfo"
resultType=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
select m.id,m.pid,m.menu_name,m.dom_type,m.path_info
from menu_info m
inner join menu_role_rel mr on mr.menu_id=m.id
where mr.role_id = #{roleId}
order by m.sort ASC
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/RoleDao.xml
浏览文件 @
4077215a
...
...
@@ -69,6 +69,18 @@
values (#{roleNo}, #{roleName}, #{userAccountId}, #{remark}, NOW(), NOW())
</insert>
<insert
id=
"batchAddMenuIds"
>
insert into menu_role_rel
(
role_id,menu_id,create_time
)
values
<foreach
collection=
"addMenuIds"
item=
"menuId"
separator=
","
>
(
#{roleId},#{menuId},NOW()
)
</foreach>
</insert>
<update
id=
"updateRoleInfo"
parameterType=
"com.mmc.iuav.user.entity.RoleInfoDO"
>
...
...
@@ -96,6 +108,14 @@
where id = #{id}
</delete>
<delete
id=
"batchDeleteMenuIds"
>
delete from menu_role_rel where role_id = #{roleId} and menu_id in
<foreach
collection=
"deleteMenuIds"
item=
"menuId"
open=
"("
separator=
","
close=
")"
>
#{menuId}
</foreach>
</delete>
<select
id=
"getRoleInfo"
resultMap=
"roleInfoResultMap"
parameterType=
"int"
>
select r.id,
...
...
@@ -155,5 +175,12 @@
AND ua.is_deleted = 0
</select>
<select
id=
"listRoleMenuInfo"
resultType=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
select m.id,m.pid,m.menu_name,m.dom_type,m.path_info
from menu_info m
inner join menu_role_rel mr on mr.menu_id=m.id
where mr.role_id = #{roleId}
order by m.sort ASC
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论