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
37d4a852
Commit
37d4a852
authored
Feb 27, 2019
by
fengshuonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复菜单修改不能更改子菜单pcode的bug
parent
4de6a804
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
63 additions
and
5 deletions
+63
-5
src/main/java/cn/stylefeng/guns/modular/system/controller/MenuController.java
+2
-4
src/main/java/cn/stylefeng/guns/modular/system/service/MenuService.java
+61
-1
No files found.
src/main/java/cn/stylefeng/guns/modular/system/controller/MenuController.java
View file @
37d4a852
...
@@ -118,10 +118,8 @@ public class MenuController extends BaseController {
...
@@ -118,10 +118,8 @@ public class MenuController extends BaseController {
@ResponseBody
@ResponseBody
public
ResponseData
edit
(
MenuDto
menu
)
{
public
ResponseData
edit
(
MenuDto
menu
)
{
//设置父级菜单编号
//如果修改了编号,则该菜单的子菜单也要修改对应编号
Menu
resultMenu
=
this
.
menuService
.
menuSetPcode
(
menu
);
this
.
menuService
.
updateMenu
(
menu
);
this
.
menuService
.
updateById
(
resultMenu
);
//刷新当前用户菜单
//刷新当前用户菜单
this
.
userService
.
refreshCurrentUser
();
this
.
userService
.
refreshCurrentUser
();
...
...
src/main/java/cn/stylefeng/guns/modular/system/service/MenuService.java
View file @
37d4a852
...
@@ -67,6 +67,66 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> {
...
@@ -67,6 +67,66 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> {
}
}
/**
/**
* 更新菜单
*
* @author fengshuonan
* @Date 2019/2/27 4:09 PM
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateMenu
(
MenuDto
menuDto
)
{
//如果菜单为空
if
(
menuDto
==
null
||
ToolUtil
.
isOneEmpty
(
menuDto
.
getMenuId
(),
menuDto
.
getCode
()))
{
throw
new
RequestEmptyException
();
}
//获取旧的菜单
Long
id
=
menuDto
.
getMenuId
();
Menu
menu
=
this
.
getById
(
id
);
if
(
menu
==
null
)
{
throw
new
RequestEmptyException
();
}
//如果菜单编号修改了,则遍历该菜单的所有子菜单,把对应的编码改了
if
(!
menu
.
getCode
().
equals
(
menuDto
.
getCode
()))
{
this
.
updateSubMenuCodes
(
menu
.
getCode
(),
menuDto
.
getCode
());
}
//设置父级菜单编号
Menu
resultMenu
=
this
.
menuSetPcode
(
menuDto
);
this
.
updateById
(
resultMenu
);
}
/**
* 更新所有子菜单的编码
*
* @param code 原编码
* @param newCode 新编码
* @author fengshuonan
* @Date 2019/2/27 4:25 PM
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateSubMenuCodes
(
String
code
,
String
newCode
)
{
QueryWrapper
<
Menu
>
wrapper
=
new
QueryWrapper
<>();
wrapper
=
wrapper
.
like
(
"PCODES"
,
"%["
+
code
+
"]%"
);
List
<
Menu
>
menus
=
menuMapper
.
selectList
(
wrapper
);
for
(
Menu
menu
:
menus
)
{
if
(
code
.
equals
(
menu
.
getPcode
()))
{
menu
.
setPcode
(
newCode
);
}
String
pcodes
=
menu
.
getPcodes
();
String
resultPcodes
=
pcodes
.
replaceFirst
(
"\\["
+
code
+
"\\]"
,
"\\["
+
newCode
+
"\\]"
);
menu
.
setPcodes
(
resultPcodes
);
this
.
updateById
(
menu
);
}
}
/**
* 删除菜单
* 删除菜单
*
*
* @author stylefeng
* @author stylefeng
...
@@ -250,7 +310,7 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> {
...
@@ -250,7 +310,7 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> {
public
List
<
Map
<
String
,
Object
>>
selectMenuTree
(
String
condition
,
String
level
)
{
public
List
<
Map
<
String
,
Object
>>
selectMenuTree
(
String
condition
,
String
level
)
{
List
<
Map
<
String
,
Object
>>
maps
=
this
.
baseMapper
.
selectMenuTree
(
condition
,
level
);
List
<
Map
<
String
,
Object
>>
maps
=
this
.
baseMapper
.
selectMenuTree
(
condition
,
level
);
if
(
maps
==
null
)
{
if
(
maps
==
null
)
{
maps
=
new
ArrayList
<>();
maps
=
new
ArrayList
<>();
}
}
...
...
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