Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RuoYi-Vue-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
融通安全管理系统
RuoYi-Vue-master
Commits
39a9ee5b
Commit
39a9ee5b
authored
Jul 06, 2023
by
陈晓晋
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://git.censoft.com.cn/rongtong/ruoyi-vue-master
into xjchen
parents
db314a96
dfa89ab2
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
509 additions
and
335 deletions
+509
-335
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/controller/RiskPlanAppController.java
...oft/censoftrongtong/controller/RiskPlanAppController.java
+16
-5
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/domain/RiskPlanUserBuilding.java
.../censoft/censoftrongtong/domain/RiskPlanUserBuilding.java
+6
-0
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/mapper/RiskPlanMapper.java
...va/com/censoft/censoftrongtong/mapper/RiskPlanMapper.java
+5
-1
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/IRiskPlanService.java
...com/censoft/censoftrongtong/service/IRiskPlanService.java
+4
-1
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/IRiskPlanUserBuildingService.java
...censoftrongtong/service/IRiskPlanUserBuildingService.java
+2
-0
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/impl/RiskPlanServiceImpl.java
...oft/censoftrongtong/service/impl/RiskPlanServiceImpl.java
+21
-6
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/impl/RiskPlanUserBuildingServiceImpl.java
...ongtong/service/impl/RiskPlanUserBuildingServiceImpl.java
+57
-0
censoft-rongtong/src/main/resources/mapper/system/RiskPlanMapper.xml
...gtong/src/main/resources/mapper/system/RiskPlanMapper.xml
+23
-0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/SysMenuAppController.java
...va/com/ruoyi/web/controller/app/SysMenuAppController.java
+70
-0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
.../src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
+7
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
...c/main/java/com/ruoyi/system/service/ISysMenuService.java
+27
-20
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
...ava/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+98
-150
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
...system/src/main/resources/mapper/system/SysMenuMapper.xml
+173
-152
No files found.
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/controller/RiskPlanAppController.java
View file @
39a9ee5b
...
...
@@ -143,7 +143,7 @@ public class RiskPlanAppController extends BaseController {
,
RiskPlanStatusType
.
PROJECT_REPORT
,
RiskPlanStatusType
.
FINISH
);
state
=
"已执行"
;
}
List
<
RiskPlanAppListDto
>
list
=
riskPlanService
.
getRiskPlanAppListDtoList
(
statusList
,
getUserId
(),
null
);
List
<
RiskPlanAppListDto
>
list
=
riskPlanService
.
getRiskPlanAppListDtoList
(
statusList
,
getUserId
(),
null
,
null
);
String
finalState
=
state
;
list
.
forEach
(
dto
->
{
dto
.
setState
(
finalState
);
...
...
@@ -172,7 +172,7 @@ public class RiskPlanAppController extends BaseController {
,
RiskPlanStatusType
.
PROJECT_REPORT
,
RiskPlanStatusType
.
FINISH
);
state
=
"已完成"
;
}
List
<
RiskPlanAppListDto
>
list
=
riskPlanService
.
getRiskPlanAppListDtoList
(
statusList
,
getUserId
(),
null
);
List
<
RiskPlanAppListDto
>
list
=
riskPlanService
.
getRiskPlanAppListDtoList
(
statusList
,
getUserId
(),
null
,
null
);
String
finalState
=
state
;
list
.
forEach
(
dto
->
{
Long
finishNumber
=
riskPlanUserBuildingService
.
countStatusByPlanIdAndStatus
(
dto
.
getId
(),
"finish"
);
...
...
@@ -201,7 +201,7 @@ public class RiskPlanAppController extends BaseController {
*/
@GetMapping
(
"/task/list"
)
public
R
<
List
<
RiskPlanAppListDto
>>
getRiskPlanAppListDtoListByLeaderUser
()
{
return
R
.
ok
(
riskPlanService
.
getRiskPlanAppListDtoList
(
null
,
null
,
getUserId
()));
return
R
.
ok
(
riskPlanService
.
getRiskPlanAppListDtoList
(
null
,
null
,
getUserId
()
,
null
));
}
/**
...
...
@@ -394,6 +394,18 @@ public class RiskPlanAppController extends BaseController {
return
R
.
ok
(
riskPlanExistingListService
.
saveRiskExistingListSaveDto
(
saveDto
));
}
/**
* 风险评估-任务完成
*
* @param planId 任务id
* @param buildingId 楼宇id
* @real_return {@link R<Integer>}
*/
@PostMapping
(
"/submit/{planId}/{building}"
)
public
R
<
Integer
>
submitByPlanIdAndBuildingId
(
@PathVariable
Long
planId
,
@PathVariable
Long
buildingId
)
{
return
R
.
ok
(
riskPlanUserBuildingService
.
submitByPlanIdAndBuildingId
(
planId
,
buildingId
,
getUserId
()));
}
/**
* 根据风险任务审批列表
...
...
@@ -402,8 +414,7 @@ public class RiskPlanAppController extends BaseController {
*/
@GetMapping
(
"/approve/list"
)
public
R
<
List
<
RiskPlanAppListDto
>>
getRiskPlanAppListDtoListByApproveUser
()
{
List
<
RiskPlanStatusType
>
statusList
=
Arrays
.
asList
(
RiskPlanStatusType
.
WAIT_LEADER_APPROVE
);
return
R
.
ok
(
riskPlanService
.
getRiskPlanAppListDtoList
(
statusList
,
null
,
getUserId
()));
return
R
.
ok
(
riskPlanService
.
getRiskPlanAppListDtoListByApproveUser
(
getUserId
()));
}
...
...
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/domain/RiskPlanUserBuilding.java
View file @
39a9ee5b
...
...
@@ -57,4 +57,10 @@ public class RiskPlanUserBuilding {
@TableField
(
"status"
)
private
String
status
;
/**
* 提交人id
*/
@TableField
(
"submit_user_id"
)
private
Long
submitUserId
;
}
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/mapper/RiskPlanMapper.java
View file @
39a9ee5b
...
...
@@ -2,8 +2,10 @@ package com.censoft.censoftrongtong.mapper;
import
com.censoft.censoftrongtong.domain.RiskPlan
;
import
com.censoft.censoftrongtong.domain.dto.*
;
import
com.censoft.censoftrongtong.enums.RiskPlanStatusType
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Arrays
;
import
java.util.List
;
/**
...
...
@@ -63,7 +65,7 @@ public interface RiskPlanMapper
public
int
deleteRiskPlanByIds
(
Long
[]
ids
);
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoList
(
@Param
(
"statusStringList"
)
List
<
String
>
statusStringList
,
@Param
(
"createUserId"
)
Long
createUserId
,
@Param
(
"leaderUserId"
)
Long
leaderUserId
);
,
@Param
(
"createUserId"
)
Long
createUserId
,
@Param
(
"leaderUserId"
)
Long
leaderUserId
,
@Param
(
"workUserId"
)
Long
workUserId
);
RiskPlanAppDetailsDto
getRiskPlanAppDetailsDtoByPlanId
(
@Param
(
"planId"
)
Long
planId
);
...
...
@@ -73,4 +75,6 @@ public interface RiskPlanMapper
,
@Param
(
"buildingId"
)
Long
buildingId
);
List
<
RiskPlanAppApproveListDto
>
getApproveListDtoByPlanId
(
@Param
(
"planId"
)
Long
planId
);
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoListByApproveUser
(
@Param
(
"userId"
)
Long
userId
);
}
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/IRiskPlanService.java
View file @
39a9ee5b
...
...
@@ -67,7 +67,8 @@ public interface IRiskPlanService
int
saveRiskPlan
(
RiskPlan
riskPlan
);
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoList
(
List
<
RiskPlanStatusType
>
statusList
,
Long
createUserId
,
Long
leaderUserId
);
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoList
(
List
<
RiskPlanStatusType
>
statusList
,
Long
createUserId
,
Long
leaderUserId
,
Long
workUserId
);
RiskPlanAppDetailsDto
getRiskPlanAppDetailsDtoByPlanId
(
Long
planId
,
Long
buildingId
);
...
...
@@ -76,4 +77,6 @@ public interface IRiskPlanService
int
approveAppApproveDto
(
RiskPlanAppApproveDto
appApproveDto
);
int
revokeByPlanId
(
Long
planId
,
Long
userId
);
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoListByApproveUser
(
Long
userId
);
}
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/IRiskPlanUserBuildingService.java
View file @
39a9ee5b
...
...
@@ -17,4 +17,6 @@ public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuild
Long
countStatusByPlanIdAndStatus
(
Long
planId
,
String
status
);
List
<
RiskPlanAppBuildingListDto
>
getRiskPlanAppBuildingListDtoByPlanId
(
Long
planId
);
Integer
submitByPlanIdAndBuildingId
(
Long
planId
,
Long
buildingId
,
Long
userId
);
}
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/impl/RiskPlanServiceImpl.java
View file @
39a9ee5b
...
...
@@ -154,7 +154,8 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
}
@Override
public
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoList
(
List
<
RiskPlanStatusType
>
statusList
,
Long
createUserId
,
Long
leaderUserId
)
{
public
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoList
(
List
<
RiskPlanStatusType
>
statusList
,
Long
createUserId
,
Long
leaderUserId
,
Long
workUserId
)
{
List
<
String
>
statusStringList
=
null
;
//枚举类转化为数据库存的状态值
if
(
statusList
!=
null
)
{
...
...
@@ -164,7 +165,9 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
}
//查询并把状态值转化为状态名称
return
riskPlanMapper
.
getRiskPlanAppListDtoList
(
statusStringList
,
createUserId
,
leaderUserId
).
stream
().
map
(
dto
->
{
return
riskPlanMapper
.
getRiskPlanAppListDtoList
(
statusStringList
,
createUserId
,
leaderUserId
,
workUserId
)
.
stream
()
.
map
(
dto
->
{
String
status
=
RiskPlanStatusType
.
getTitleByStatus
(
dto
.
getStatus
()).
getTitle
();
dto
.
setStatus
(
status
);
return
dto
;
...
...
@@ -265,6 +268,18 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
return
1
;
}
@Override
public
List
<
RiskPlanAppListDto
>
getRiskPlanAppListDtoListByApproveUser
(
Long
userId
)
{
//查询并把状态值转化为状态名称
return
riskPlanMapper
.
getRiskPlanAppListDtoListByApproveUser
(
userId
)
.
stream
()
.
map
(
dto
->
{
String
status
=
RiskPlanStatusType
.
getTitleByStatus
(
dto
.
getStatus
()).
getTitle
();
dto
.
setStatus
(
status
);
return
dto
;
}).
collect
(
Collectors
.
toList
());
}
private
String
getNo
()
{
Random
random
=
new
Random
();
int
randomNumber
=
random
.
nextInt
(
1000
);
// 生成0到999之间的随机数
...
...
censoft-rongtong/src/main/java/com/censoft/censoftrongtong/service/impl/RiskPlanUserBuildingServiceImpl.java
View file @
39a9ee5b
...
...
@@ -2,13 +2,19 @@ package com.censoft.censoftrongtong.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.censoft.censoftrongtong.domain.RiskPlan
;
import
com.censoft.censoftrongtong.domain.RiskPlanTask
;
import
com.censoft.censoftrongtong.domain.RiskPlanUserBuilding
;
import
com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto
;
import
com.censoft.censoftrongtong.enums.RiskPlanStatusType
;
import
com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper
;
import
com.censoft.censoftrongtong.service.IRiskPlanService
;
import
com.censoft.censoftrongtong.service.IRiskPlanTaskService
;
import
com.censoft.censoftrongtong.service.IRiskPlanUserBuildingService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -25,6 +31,12 @@ public class RiskPlanUserBuildingServiceImpl
@Resource
private
RiskPlanUserBuildingMapper
riskPlanUserBuildingMapper
;
@Resource
private
IRiskPlanService
riskPlanService
;
@Resource
private
IRiskPlanTaskService
riskPlanTaskService
;
@Override
public
Long
countStatusByPlanIdAndStatus
(
Long
planId
,
String
status
)
{
...
...
@@ -37,4 +49,49 @@ public class RiskPlanUserBuildingServiceImpl
public
List
<
RiskPlanAppBuildingListDto
>
getRiskPlanAppBuildingListDtoByPlanId
(
Long
planId
)
{
return
riskPlanUserBuildingMapper
.
getRiskPlanAppBuildingListDtoByPlanId
(
planId
);
}
@Override
public
Integer
submitByPlanIdAndBuildingId
(
Long
planId
,
Long
buildingId
,
Long
userId
)
{
//更新楼宇人员关系表状态
LambdaQueryWrapper
<
RiskPlanUserBuilding
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
=
wrapper
.
eq
(
RiskPlanUserBuilding:
:
getPlanId
,
planId
).
eq
(
RiskPlanUserBuilding:
:
getBuildingId
,
buildingId
);
RiskPlanUserBuilding
riskPlanUserBuilding
=
getOne
(
wrapper
);
riskPlanUserBuilding
.
setStatus
(
"finish"
);
riskPlanUserBuilding
.
setFinishTime
(
new
Date
());
riskPlanUserBuilding
.
setSubmitUserId
(
userId
);
updateById
(
riskPlanUserBuilding
);
//查看是否全部楼宇提交
LambdaQueryWrapper
<
RiskPlanUserBuilding
>
wrapper2
=
new
LambdaQueryWrapper
<>();
wrapper2
=
wrapper2
.
eq
(
RiskPlanUserBuilding:
:
getPlanId
,
planId
).
eq
(
RiskPlanUserBuilding:
:
getBuildingId
,
buildingId
);
List
<
RiskPlanUserBuilding
>
list
=
list
(
wrapper2
);
if
(
list
.
stream
().
allMatch
(
po
->
po
.
getStatus
().
equals
(
"finish"
))){
//获取最新的task
RiskPlanTask
lastRiskPlanTask
=
riskPlanTaskService
.
getLastRiskPlanTaskByPlanId
(
planId
);
lastRiskPlanTask
.
setStatus
(
"completed"
);
lastRiskPlanTask
.
setCompletedTime
(
new
Date
());
riskPlanTaskService
.
updateRiskPlanTask
(
lastRiskPlanTask
);
//计划
RiskPlan
riskPlan
=
riskPlanService
.
selectRiskPlanById
(
planId
);
//插入任务表 组长验收任务
RiskPlanTask
riskPlanTask1
=
new
RiskPlanTask
();
riskPlanTask1
.
setPlanId
(
lastRiskPlanTask
.
getPlanId
());
riskPlanTask1
.
setApprovalUserId
(
riskPlan
.
getLeaderUserId
());
riskPlanTask1
.
setTaskKey
(
RiskPlanStatusType
.
WAIT_LEADER_APPROVE
.
getStatus
());
riskPlanTask1
.
setTaskName
(
RiskPlanStatusType
.
WAIT_LEADER_APPROVE
.
getStatus
());
riskPlanTask1
.
setStatus
(
"running"
);
riskPlanTask1
.
setStartTime
(
new
Date
());
riskPlanTaskService
.
insertRiskPlanTask
(
riskPlanTask1
);
//修改计划状态
riskPlan
.
setStatus
(
RiskPlanStatusType
.
WAIT_LEADER_APPROVE
.
getStatus
());
riskPlanService
.
updateRiskPlan
(
riskPlan
);
}
return
1
;
}
}
censoft-rongtong/src/main/resources/mapper/system/RiskPlanMapper.xml
View file @
39a9ee5b
...
...
@@ -65,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if
test=
"createUserId != null"
>
and rp.create_user_id = #{createUserId}
</if>
<if
test=
"leaderUserId != null"
>
and rp.leader_user_id = #{leaderUserId}
</if>
<if
test=
"workUserId != null"
>
and (find_in_set(#{leaderUserId},rp.work_user_ids) or rp.leader_user_id = #{leaderUserId})
</if>
<if
test=
"statusStringList != null and statusStringList.size >0"
>
and rp.`status` in
<foreach
collection=
"statusStringList"
item=
"status"
open=
"("
separator=
","
close=
")"
>
...
...
@@ -174,6 +175,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY
rpt.start_time ASC
</select>
<select
id=
"getRiskPlanAppListDtoListByApproveUser"
resultType=
"com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto"
>
SELECT
rp.id,
rp.`name`,
rp.start_time AS startTime,
rp.`status`,
su.nick_name AS leaderUserName
FROM
risk_plan rp
LEFT JOIN sys_user su ON su.user_id = rp.leader_user_id
<where>
<if
test=
"userId != null"
>
and ((rp.approval_user_id = #{userId} and rp.`status` = 'WAIT_LEADER_APPROVE')
or
(rp.create_user_id = #{userId} and rp.`status` = 'WAIT_APPROVE'))
</if>
</where>
ORDER BY
rp.start_time DESC
</select>
<insert
id=
"insertRiskPlan"
parameterType=
"com.censoft.censoftrongtong.domain.RiskPlan"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into risk_plan
...
...
ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/SysMenuAppController.java
0 → 100644
View file @
39a9ee5b
package
com
.
ruoyi
.
web
.
controller
.
app
;
import
com.censoft.censoftrongtong.domain.*
;
import
com.censoft.censoftrongtong.domain.dto.*
;
import
com.censoft.censoftrongtong.enums.RiskPlanStatusType
;
import
com.censoft.censoftrongtong.service.*
;
import
com.ruoyi.common.config.RuoYiConfig
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.domain.entity.SysDictData
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.core.domain.model.LoginUser
;
import
com.ruoyi.system.service.ISysDictDataService
;
import
com.ruoyi.system.service.ISysMenuService
;
import
com.ruoyi.system.service.ISysUploadFileService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 菜单app端接口
*
* @author censoft
* @date 2023-06-27
* @module 融通项目
*/
@RestController
@RequestMapping
(
"/app-api/menu"
)
public
class
SysMenuAppController
extends
BaseController
{
@Autowired
private
ISysMenuService
menuService
;
/**
* 菜单栏
*
* @param httpServletRequest
* @return
*/
@GetMapping
(
"/getMenu"
)
@ResponseBody
public
AjaxResult
menu
(
HttpServletRequest
httpServletRequest
)
{
SysMenu
menu
=
new
SysMenu
();
menu
.
setParentId
(
2055L
);
menu
.
getParams
().
put
(
"userId"
,
getUserId
());
Map
menus
=
new
HashMap
<>();
if
(
SysUser
.
isAdmin
(
getUserId
()))
{
menu
.
getParams
().
put
(
"isAdmin"
,
true
);
}
List
<
SysMenu
>
title
=
menuService
.
selectMenusApp
(
menu
);
for
(
int
i
=
0
;
i
<
title
.
size
();
i
++)
{
menu
.
setParentId
(
title
.
get
(
i
).
getMenuId
());
List
<
SysMenu
>
menus1
=
menuService
.
selectMenusApp
(
menu
);
menus
.
put
(
title
.
get
(
i
).
getMenuName
(),
menus1
);
}
return
AjaxResult
.
success
(
menus
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
View file @
39a9ee5b
...
...
@@ -19,6 +19,13 @@ public interface SysMenuMapper
*/
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
);
/**
* 查询移动端菜单
* @param menu
* @return
*/
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
);
/**
* 根据用户所有权限
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
View file @
39a9ee5b
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import
java.util.List
;
import
java.util.Set
;
import
com.ruoyi.common.core.domain.TreeSelect
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
import
com.ruoyi.system.domain.vo.RouterVo
;
...
...
@@ -11,8 +12,7 @@ import com.ruoyi.system.domain.vo.RouterVo;
*
* @author ruoyi
*/
public
interface
ISysMenuService
{
public
interface
ISysMenuService
{
/**
* 根据用户查询系统菜单列表
*
...
...
@@ -21,6 +21,13 @@ public interface ISysMenuService
*/
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
);
/**
* 根据用户查询移动端菜单列表
*
* @return 菜单列表
*/
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
);
/**
* 根据用户查询系统菜单列表
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
View file @
39a9ee5b
...
...
@@ -8,6 +8,7 @@ import java.util.LinkedList;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.common.constant.Constants
;
...
...
@@ -31,8 +32,7 @@ import com.ruoyi.system.service.ISysMenuService;
* @author ruoyi
*/
@Service
public
class
SysMenuServiceImpl
implements
ISysMenuService
{
public
class
SysMenuServiceImpl
implements
ISysMenuService
{
public
static
final
String
PREMISSION_STRING
=
"perms[\"{0}\"]"
;
@Autowired
...
...
@@ -51,11 +51,20 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
)
{
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
)
{
return
selectMenuList
(
new
SysMenu
(),
userId
);
}
/**
* 查询移动端菜单
* @param menu
* @return
*/
@Override
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
)
{
return
menuMapper
.
selectMenusApp
(
menu
);
}
/**
* 查询系统菜单列表
*
...
...
@@ -63,16 +72,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
,
Long
userId
)
{
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
,
Long
userId
)
{
List
<
SysMenu
>
menuList
=
null
;
// 管理员显示所有菜单信息
if
(
SysUser
.
isAdmin
(
userId
))
{
if
(
SysUser
.
isAdmin
(
userId
))
{
menuList
=
menuMapper
.
selectMenuList
(
menu
);
}
else
{
}
else
{
menu
.
getParams
().
put
(
"userId"
,
userId
);
menuList
=
menuMapper
.
selectMenuListByUserId
(
menu
);
}
...
...
@@ -86,14 +91,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 权限列表
*/
@Override
public
Set
<
String
>
selectMenuPermsByUserId
(
Long
userId
)
{
public
Set
<
String
>
selectMenuPermsByUserId
(
Long
userId
)
{
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByUserId
(
userId
);
Set
<
String
>
permsSet
=
new
HashSet
<>();
for
(
String
perm
:
perms
)
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
for
(
String
perm
:
perms
)
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
}
}
...
...
@@ -107,14 +109,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 权限列表
*/
@Override
public
Set
<
String
>
selectMenuPermsByRoleId
(
Long
roleId
)
{
public
Set
<
String
>
selectMenuPermsByRoleId
(
Long
roleId
)
{
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByRoleId
(
roleId
);
Set
<
String
>
permsSet
=
new
HashSet
<>();
for
(
String
perm
:
perms
)
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
for
(
String
perm
:
perms
)
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
}
}
...
...
@@ -128,15 +127,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public
List
<
SysMenu
>
selectMenuTreeByUserId
(
Long
userId
)
{
public
List
<
SysMenu
>
selectMenuTreeByUserId
(
Long
userId
)
{
List
<
SysMenu
>
menus
=
null
;
if
(
SecurityUtils
.
isAdmin
(
userId
))
{
if
(
SecurityUtils
.
isAdmin
(
userId
))
{
menus
=
menuMapper
.
selectMenuTreeAll
();
}
else
{
}
else
{
menus
=
menuMapper
.
selectMenuTreeByUserId
(
userId
);
}
return
getChildPerms
(
menus
,
0
);
...
...
@@ -149,8 +144,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 选中菜单列表
*/
@Override
public
List
<
Long
>
selectMenuListByRoleId
(
Long
roleId
)
{
public
List
<
Long
>
selectMenuListByRoleId
(
Long
roleId
)
{
SysRole
role
=
roleMapper
.
selectRoleById
(
roleId
);
return
menuMapper
.
selectMenuListByRoleId
(
roleId
,
role
.
isMenuCheckStrictly
());
}
...
...
@@ -162,11 +156,9 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 路由列表
*/
@Override
public
List
<
RouterVo
>
buildMenus
(
List
<
SysMenu
>
menus
)
{
public
List
<
RouterVo
>
buildMenus
(
List
<
SysMenu
>
menus
)
{
List
<
RouterVo
>
routers
=
new
LinkedList
<
RouterVo
>();
for
(
SysMenu
menu
:
menus
)
{
for
(
SysMenu
menu
:
menus
)
{
RouterVo
router
=
new
RouterVo
();
router
.
setHidden
(
"1"
.
equals
(
menu
.
getVisible
()));
router
.
setName
(
getRouteName
(
menu
));
...
...
@@ -175,14 +167,11 @@ public class SysMenuServiceImpl implements ISysMenuService
router
.
setQuery
(
menu
.
getQuery
());
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
(),
StringUtils
.
equals
(
"1"
,
menu
.
getIsCache
()),
menu
.
getPath
()));
List
<
SysMenu
>
cMenus
=
menu
.
getChildren
();
if
(
StringUtils
.
isNotEmpty
(
cMenus
)
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
()))
{
if
(
StringUtils
.
isNotEmpty
(
cMenus
)
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
()))
{
router
.
setAlwaysShow
(
true
);
router
.
setRedirect
(
"noRedirect"
);
router
.
setChildren
(
buildMenus
(
cMenus
));
}
else
if
(
isMenuFrame
(
menu
))
{
}
else
if
(
isMenuFrame
(
menu
))
{
router
.
setMeta
(
null
);
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
RouterVo
children
=
new
RouterVo
();
...
...
@@ -193,9 +182,7 @@ public class SysMenuServiceImpl implements ISysMenuService
children
.
setQuery
(
menu
.
getQuery
());
childrenList
.
add
(
children
);
router
.
setChildren
(
childrenList
);
}
else
if
(
menu
.
getParentId
().
intValue
()
==
0
&&
isInnerLink
(
menu
))
{
}
else
if
(
menu
.
getParentId
().
intValue
()
==
0
&&
isInnerLink
(
menu
))
{
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
()));
router
.
setPath
(
"/"
);
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
...
...
@@ -220,22 +207,18 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 树结构列表
*/
@Override
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
{
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
{
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
Long
>
tempList
=
menus
.
stream
().
map
(
SysMenu:
:
getMenuId
).
collect
(
Collectors
.
toList
());
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();)
{
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();
)
{
SysMenu
menu
=
(
SysMenu
)
iterator
.
next
();
// 如果是顶级节点, 遍历该父节点的所有子节点
if
(!
tempList
.
contains
(
menu
.
getParentId
()))
{
if
(!
tempList
.
contains
(
menu
.
getParentId
()))
{
recursionFn
(
menus
,
menu
);
returnList
.
add
(
menu
);
}
}
if
(
returnList
.
isEmpty
())
{
if
(
returnList
.
isEmpty
())
{
returnList
=
menus
;
}
return
returnList
;
...
...
@@ -248,8 +231,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 下拉树结构列表
*/
@Override
public
List
<
TreeSelect
>
buildMenuTreeSelect
(
List
<
SysMenu
>
menus
)
{
public
List
<
TreeSelect
>
buildMenuTreeSelect
(
List
<
SysMenu
>
menus
)
{
List
<
SysMenu
>
menuTrees
=
buildMenuTree
(
menus
);
return
menuTrees
.
stream
().
map
(
TreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
...
...
@@ -261,8 +243,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单信息
*/
@Override
public
SysMenu
selectMenuById
(
Long
menuId
)
{
public
SysMenu
selectMenuById
(
Long
menuId
)
{
return
menuMapper
.
selectMenuById
(
menuId
);
}
...
...
@@ -273,8 +254,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
boolean
hasChildByMenuId
(
Long
menuId
)
{
public
boolean
hasChildByMenuId
(
Long
menuId
)
{
int
result
=
menuMapper
.
hasChildByMenuId
(
menuId
);
return
result
>
0
;
}
...
...
@@ -286,8 +266,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
boolean
checkMenuExistRole
(
Long
menuId
)
{
public
boolean
checkMenuExistRole
(
Long
menuId
)
{
int
result
=
roleMenuMapper
.
checkMenuExistRole
(
menuId
);
return
result
>
0
;
}
...
...
@@ -299,8 +278,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
int
insertMenu
(
SysMenu
menu
)
{
public
int
insertMenu
(
SysMenu
menu
)
{
return
menuMapper
.
insertMenu
(
menu
);
}
...
...
@@ -311,8 +289,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
int
updateMenu
(
SysMenu
menu
)
{
public
int
updateMenu
(
SysMenu
menu
)
{
return
menuMapper
.
updateMenu
(
menu
);
}
...
...
@@ -323,8 +300,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
int
deleteMenuById
(
Long
menuId
)
{
public
int
deleteMenuById
(
Long
menuId
)
{
return
menuMapper
.
deleteMenuById
(
menuId
);
}
...
...
@@ -335,12 +311,10 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
*/
@Override
public
boolean
checkMenuNameUnique
(
SysMenu
menu
)
{
public
boolean
checkMenuNameUnique
(
SysMenu
menu
)
{
Long
menuId
=
StringUtils
.
isNull
(
menu
.
getMenuId
())
?
-
1L
:
menu
.
getMenuId
();
SysMenu
info
=
menuMapper
.
checkMenuNameUnique
(
menu
.
getMenuName
(),
menu
.
getParentId
());
if
(
StringUtils
.
isNotNull
(
info
)
&&
info
.
getMenuId
().
longValue
()
!=
menuId
.
longValue
())
{
if
(
StringUtils
.
isNotNull
(
info
)
&&
info
.
getMenuId
().
longValue
()
!=
menuId
.
longValue
())
{
return
UserConstants
.
NOT_UNIQUE
;
}
return
UserConstants
.
UNIQUE
;
...
...
@@ -352,12 +326,10 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 路由名称
*/
public
String
getRouteName
(
SysMenu
menu
)
{
public
String
getRouteName
(
SysMenu
menu
)
{
String
routerName
=
StringUtils
.
capitalize
(
menu
.
getPath
());
// 非外链并且是一级目录(类型为目录)
if
(
isMenuFrame
(
menu
))
{
if
(
isMenuFrame
(
menu
))
{
routerName
=
StringUtils
.
EMPTY
;
}
return
routerName
;
...
...
@@ -369,23 +341,19 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 路由地址
*/
public
String
getRouterPath
(
SysMenu
menu
)
{
public
String
getRouterPath
(
SysMenu
menu
)
{
String
routerPath
=
menu
.
getPath
();
// 内链打开外网方式
if
(
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
if
(
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
routerPath
=
innerLinkReplaceEach
(
routerPath
);
}
// 非外链并且是一级目录(类型为目录)
if
(
0
==
menu
.
getParentId
().
intValue
()
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
())
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
{
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
{
routerPath
=
"/"
+
menu
.
getPath
();
}
// 非外链并且是一级目录(类型为菜单)
else
if
(
isMenuFrame
(
menu
))
{
else
if
(
isMenuFrame
(
menu
))
{
routerPath
=
"/"
;
}
return
routerPath
;
...
...
@@ -397,19 +365,13 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 组件信息
*/
public
String
getComponent
(
SysMenu
menu
)
{
public
String
getComponent
(
SysMenu
menu
)
{
String
component
=
UserConstants
.
LAYOUT
;
if
(
StringUtils
.
isNotEmpty
(
menu
.
getComponent
())
&&
!
isMenuFrame
(
menu
))
{
if
(
StringUtils
.
isNotEmpty
(
menu
.
getComponent
())
&&
!
isMenuFrame
(
menu
))
{
component
=
menu
.
getComponent
();
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
component
=
UserConstants
.
INNER_LINK
;
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
isParentView
(
menu
))
{
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
isParentView
(
menu
))
{
component
=
UserConstants
.
PARENT_VIEW
;
}
return
component
;
...
...
@@ -421,8 +383,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 结果
*/
public
boolean
isMenuFrame
(
SysMenu
menu
)
{
public
boolean
isMenuFrame
(
SysMenu
menu
)
{
return
menu
.
getParentId
().
intValue
()
==
0
&&
UserConstants
.
TYPE_MENU
.
equals
(
menu
.
getMenuType
())
&&
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
);
}
...
...
@@ -433,8 +394,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 结果
*/
public
boolean
isInnerLink
(
SysMenu
menu
)
{
public
boolean
isInnerLink
(
SysMenu
menu
)
{
return
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
)
&&
StringUtils
.
ishttp
(
menu
.
getPath
());
}
...
...
@@ -444,8 +404,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @return 结果
*/
public
boolean
isParentView
(
SysMenu
menu
)
{
public
boolean
isParentView
(
SysMenu
menu
)
{
return
menu
.
getParentId
().
intValue
()
!=
0
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
());
}
...
...
@@ -456,15 +415,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param parentId 传入的父节点ID
* @return String
*/
public
List
<
SysMenu
>
getChildPerms
(
List
<
SysMenu
>
list
,
int
parentId
)
{
public
List
<
SysMenu
>
getChildPerms
(
List
<
SysMenu
>
list
,
int
parentId
)
{
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
for
(
Iterator
<
SysMenu
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();)
{
for
(
Iterator
<
SysMenu
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();
)
{
SysMenu
t
=
(
SysMenu
)
iterator
.
next
();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if
(
t
.
getParentId
()
==
parentId
)
{
if
(
t
.
getParentId
()
==
parentId
)
{
recursionFn
(
list
,
t
);
returnList
.
add
(
t
);
}
...
...
@@ -478,15 +434,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param list 分类表
* @param t 子节点
*/
private
void
recursionFn
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
private
void
recursionFn
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
// 得到子节点列表
List
<
SysMenu
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildren
(
childList
);
for
(
SysMenu
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
for
(
SysMenu
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
}
}
...
...
@@ -495,15 +448,12 @@ public class SysMenuServiceImpl implements ISysMenuService
/**
* 得到子节点列表
*/
private
List
<
SysMenu
>
getChildList
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
private
List
<
SysMenu
>
getChildList
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
List
<
SysMenu
>
tlist
=
new
ArrayList
<
SysMenu
>();
Iterator
<
SysMenu
>
it
=
list
.
iterator
();
while
(
it
.
hasNext
())
{
while
(
it
.
hasNext
())
{
SysMenu
n
=
(
SysMenu
)
it
.
next
();
if
(
n
.
getParentId
().
longValue
()
==
t
.
getMenuId
().
longValue
())
{
if
(
n
.
getParentId
().
longValue
()
==
t
.
getMenuId
().
longValue
())
{
tlist
.
add
(
n
);
}
}
...
...
@@ -513,8 +463,7 @@ public class SysMenuServiceImpl implements ISysMenuService
/**
* 判断是否有子节点
*/
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
return
getChildList
(
list
,
t
).
size
()
>
0
;
}
...
...
@@ -523,9 +472,8 @@ public class SysMenuServiceImpl implements ISysMenuService
*
* @return 替换后的内链域名
*/
public
String
innerLinkReplaceEach
(
String
path
)
{
return
StringUtils
.
replaceEach
(
path
,
new
String
[]
{
Constants
.
HTTP
,
Constants
.
HTTPS
,
Constants
.
WWW
,
"."
},
new
String
[]
{
""
,
""
,
""
,
"/"
});
public
String
innerLinkReplaceEach
(
String
path
)
{
return
StringUtils
.
replaceEach
(
path
,
new
String
[]{
Constants
.
HTTP
,
Constants
.
HTTPS
,
Constants
.
WWW
,
"."
},
new
String
[]{
""
,
""
,
""
,
"/"
});
}
}
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
View file @
39a9ee5b
...
...
@@ -5,26 +5,26 @@
<mapper
namespace=
"com.ruoyi.system.mapper.SysMenuMapper"
>
<resultMap
type=
"SysMenu"
id=
"SysMenuResult"
>
<id
property=
"menuId"
column=
"menu_id"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"parentName"
column=
"parent_name"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
<result
property=
"orderNum"
column=
"order_num"
/>
<result
property=
"path"
column=
"path"
/>
<result
property=
"component"
column=
"component"
/>
<result
property=
"query"
column=
"query"
/>
<result
property=
"isFrame"
column=
"is_frame"
/>
<result
property=
"isCache"
column=
"is_cache"
/>
<result
property=
"menuType"
column=
"menu_type"
/>
<result
property=
"visible"
column=
"visible"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"perms"
column=
"perms"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"remark"
column=
"remark"
/>
<id
property=
"menuId"
column=
"menu_id"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"parentName"
column=
"parent_name"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
<result
property=
"orderNum"
column=
"order_num"
/>
<result
property=
"path"
column=
"path"
/>
<result
property=
"component"
column=
"component"
/>
<result
property=
"query"
column=
"query"
/>
<result
property=
"isFrame"
column=
"is_frame"
/>
<result
property=
"isCache"
column=
"is_cache"
/>
<result
property=
"menuType"
column=
"menu_type"
/>
<result
property=
"visible"
column=
"visible"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"perms"
column=
"perms"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"remark"
column=
"remark"
/>
</resultMap>
<sql
id=
"selectMenuVo"
>
...
...
@@ -48,6 +48,25 @@
order by parent_id, order_num
</select>
<select
id=
"selectMenusApp"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
LEFT JOIN sys_role ro on ur.role_id = ro.role_id
<where>
and m.parent_id = #{parentId}
<if
test=
" params.isAdmin ==null or !params.isAdmin "
>
AND ro.status = 0
and ur.user_id = #{params.userId}
</if>
</where>
order by m.parent_id, m.order_num
</select>
<select
id=
"selectMenuTreeAll"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
...
...
@@ -55,7 +74,8 @@
</select>
<select
id=
"selectMenuListByUserId"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
...
...
@@ -90,7 +110,8 @@
left join sys_role_menu rm on m.menu_id = rm.menu_id
where rm.role_id = #{roleId}
<if
test=
"menuCheckStrictly"
>
and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id =
rm.menu_id and rm.role_id = #{roleId})
</if>
order by m.parent_id, m.order_num
</select>
...
...
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