mirror of https://gitee.com/stylefeng/roses
Merge branch 'master' into group5-msg
commit
57df605600
File diff suppressed because one or more lines are too long
|
@ -10,6 +10,7 @@ import javax.validation.constraints.Max;
|
||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统菜单参数
|
* 系统菜单参数
|
||||||
|
@ -75,7 +76,7 @@ public class SysMenuRequest extends BaseRequest {
|
||||||
* 排序
|
* 排序
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "排序不能为空", groups = {add.class, edit.class})
|
@NotNull(message = "排序不能为空", groups = {add.class, edit.class})
|
||||||
private Integer menuSort;
|
private BigDecimal menuSort;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图标
|
* 图标
|
||||||
|
|
|
@ -34,11 +34,6 @@ public class AntdSysMenuResponse {
|
||||||
*/
|
*/
|
||||||
private String antdvRouter;
|
private String antdvRouter;
|
||||||
|
|
||||||
/**
|
|
||||||
* 前端用路径,适用于antdvue版本
|
|
||||||
*/
|
|
||||||
private String antdvPath;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图标,适用于antd vue版本
|
* 图标,适用于antd vue版本
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -100,12 +100,6 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode {
|
||||||
@TableField("antdv_router")
|
@TableField("antdv_router")
|
||||||
private String antdvRouter;
|
private String antdvRouter;
|
||||||
|
|
||||||
/**
|
|
||||||
* 前端用路径,适用于antdvue版本
|
|
||||||
*/
|
|
||||||
@TableField("antdv_path")
|
|
||||||
private String antdvPath;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图标,适用于antd vue版本
|
* 图标,适用于antd vue版本
|
||||||
*/
|
*/
|
||||||
|
@ -148,6 +142,12 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String appName;
|
private String appName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父级菜单的名称
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String menuParentName;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getNodeId() {
|
public String getNodeId() {
|
||||||
return menuId.toString();
|
return menuId.toString();
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class AntdMenusFactory {
|
||||||
// 填充路由等信息
|
// 填充路由等信息
|
||||||
antdvMenuItem.setRouter(antdSysMenuResponse.getAntdvRouter());
|
antdvMenuItem.setRouter(antdSysMenuResponse.getAntdvRouter());
|
||||||
antdvMenuItem.setIcon(antdSysMenuResponse.getAntdvIcon());
|
antdvMenuItem.setIcon(antdSysMenuResponse.getAntdvIcon());
|
||||||
antdvMenuItem.setPath(antdSysMenuResponse.getAntdvPath());
|
|
||||||
|
|
||||||
// 填充哪个角色绑定了这个菜单
|
// 填充哪个角色绑定了这个菜单
|
||||||
List<SimpleRoleInfo> roles = antdSysMenuResponse.getRoles();
|
List<SimpleRoleInfo> roles = antdSysMenuResponse.getRoles();
|
||||||
|
@ -61,10 +60,32 @@ public class AntdMenusFactory {
|
||||||
antdvMenuItems.add(antdvMenuItem);
|
antdvMenuItems.add(antdvMenuItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加入根节点
|
||||||
|
antdvMenuItems.add(createAntdVMenuRoot());
|
||||||
|
|
||||||
// 构造菜单树
|
// 构造菜单树
|
||||||
return new DefaultTreeBuildFactory<AntdvMenuItem>().doTreeBuild(antdvMenuItems);
|
return new DefaultTreeBuildFactory<AntdvMenuItem>(SystemConstants.VIRTUAL_ROOT_PARENT_ID.toString()).doTreeBuild(antdvMenuItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建虚拟根节点
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2020/12/30 20:38
|
||||||
|
*/
|
||||||
|
private static AntdvMenuItem createAntdVMenuRoot() {
|
||||||
|
AntdvMenuItem antdvMenuItem = new AntdvMenuItem();
|
||||||
|
antdvMenuItem.setRouter("root");
|
||||||
|
antdvMenuItem.setName("根节点");
|
||||||
|
antdvMenuItem.setMenuId(SystemConstants.DEFAULT_PARENT_ID);
|
||||||
|
antdvMenuItem.setMenuParentId(SystemConstants.VIRTUAL_ROOT_PARENT_ID);
|
||||||
|
|
||||||
|
antdvMenuItem.setAuthority(null);
|
||||||
|
|
||||||
|
return antdvMenuItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将数据库表的菜单,转化为vue antd admin识别的菜单路由格式
|
* 将数据库表的菜单,转化为vue antd admin识别的菜单路由格式
|
||||||
*
|
*
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
<result column="menu_parent_id" property="menuParentId"/>
|
<result column="menu_parent_id" property="menuParentId"/>
|
||||||
<result column="menu_name" property="menuName"/>
|
<result column="menu_name" property="menuName"/>
|
||||||
<result column="antdv_router" property="antdvRouter"/>
|
<result column="antdv_router" property="antdvRouter"/>
|
||||||
<result column="antdv_path" property="antdvPath"/>
|
|
||||||
<result column="antdv_icon" property="antdvIcon"/>
|
<result column="antdv_icon" property="antdvIcon"/>
|
||||||
<collection property="roles" ofType="cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo">
|
<collection property="roles" ofType="cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo">
|
||||||
<id column="role_id" property="roleId"/>
|
<id column="role_id" property="roleId"/>
|
||||||
|
@ -21,7 +20,6 @@
|
||||||
sm.menu_parent_id,
|
sm.menu_parent_id,
|
||||||
sm.menu_name,
|
sm.menu_name,
|
||||||
sm.antdv_router,
|
sm.antdv_router,
|
||||||
sm.antdv_path,
|
|
||||||
sm.antdv_icon,
|
sm.antdv_icon,
|
||||||
sr.role_id,
|
sr.role_id,
|
||||||
sr.role_name,
|
sr.role_name,
|
||||||
|
|
|
@ -34,11 +34,6 @@ public class AntdvMenuItem implements AbstractTreeNode {
|
||||||
*/
|
*/
|
||||||
private String icon;
|
private String icon;
|
||||||
|
|
||||||
/**
|
|
||||||
* 路径信息
|
|
||||||
*/
|
|
||||||
private String path;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 菜单名称
|
* 菜单名称
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -142,7 +142,25 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysMenu detail(SysMenuRequest sysMenuRequest) {
|
public SysMenu detail(SysMenuRequest sysMenuRequest) {
|
||||||
return this.querySysMenu(sysMenuRequest);
|
SysMenu sysMenu = this.querySysMenu(sysMenuRequest);
|
||||||
|
|
||||||
|
// 设置父级菜单名称
|
||||||
|
if (sysMenu != null) {
|
||||||
|
Long menuParentId = sysMenu.getMenuParentId();
|
||||||
|
if (SystemConstants.DEFAULT_PARENT_ID.equals(menuParentId)) {
|
||||||
|
sysMenu.setMenuParentName("顶级");
|
||||||
|
} else {
|
||||||
|
Long parentId = sysMenu.getMenuParentId();
|
||||||
|
SysMenu parentMenu = this.getById(parentId);
|
||||||
|
if (parentMenu == null) {
|
||||||
|
sysMenu.setMenuParentName("无");
|
||||||
|
} else {
|
||||||
|
sysMenu.setMenuParentName(parentMenu.getMenuName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sysMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue