Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
e5507c9d
Commit
e5507c9d
authored
Jul 12, 2017
by
naan1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决添加菜单编号和父编号一致会导致递归的bug
parent
ae3c75ae
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
0 deletions
+15
-0
src/main/java/com/stylefeng/guns/common/exception/BizExceptionEnum.java
+2
-0
src/main/java/com/stylefeng/guns/modular/system/controller/MenuController.java
+13
-0
No files found.
src/main/java/com/stylefeng/guns/common/exception/BizExceptionEnum.java
View file @
e5507c9d
...
...
@@ -46,6 +46,8 @@ public enum BizExceptionEnum {
/**
* 错误的请求
*/
MENU_PCODE_COINCIDENCE
(
400
,
"菜单编号和副编号不能一致"
),
EXISTED_THE_MENU
(
400
,
"菜单编号重复,不能添加"
),
DICT_MUST_BE_NUMBER
(
400
,
"字典的值必须为数字"
),
REQUEST_NULL
(
400
,
"请求有错误"
),
SESSION_TIMEOUT
(
400
,
"会话超时"
),
...
...
src/main/java/com/stylefeng/guns/modular/system/controller/MenuController.java
View file @
e5507c9d
...
...
@@ -140,6 +140,13 @@ public class MenuController extends BaseController {
if
(
result
.
hasErrors
())
{
throw
new
BussinessException
(
BizExceptionEnum
.
REQUEST_NULL
);
}
//判断是否存在该编号
String
existedMenuName
=
ConstantFactory
.
me
().
getMenuNameByCode
(
menu
.
getCode
());
if
(
ToolUtil
.
isNotEmpty
(
existedMenuName
))
{
throw
new
BussinessException
(
BizExceptionEnum
.
EXISTED_THE_MENU
);
}
//设置父级菜单编号
menuSetPcode
(
menu
);
...
...
@@ -230,6 +237,12 @@ public class MenuController extends BaseController {
Menu
pMenu
=
menuMapper
.
selectById
(
code
);
Integer
pLevels
=
pMenu
.
getLevels
();
menu
.
setPcode
(
pMenu
.
getCode
());
//如果编号和父编号一致会导致无限递归
if
(
menu
.
getCode
().
equals
(
menu
.
getPcode
()))
{
throw
new
BussinessException
(
BizExceptionEnum
.
MENU_PCODE_COINCIDENCE
);
}
menu
.
setLevels
(
pLevels
+
1
);
menu
.
setPcodes
(
pMenu
.
getPcodes
()
+
"["
+
pMenu
.
getCode
()
+
"],"
);
}
...
...
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