13693261870
2024-09-05 3d879a1df4c1c9c389e43f5dd5c249ed35d7e607
修改菜单功能
已修改7个文件
133 ■■■■ 文件已修改
docker-compose/docker-compose.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docker-compose/mysql/initdb/se_cloud_20240629.sql 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/controller/SysMenuController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/mapper/SysMenuMapper.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/service/ISysMenuService.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/service/impl/SysMenuServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/resources/mapper/system/SysMenuMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docker-compose/docker-compose.yml
@@ -35,8 +35,9 @@
      - ./nacos/logs/:/home/nacos/logs
      - ./nacos/conf/application.properties:/home/nacos/conf/application.properties
    ports:
#      - 7848:7848
      - 8848:8848
#      - 9848:9848
      - 9848:9848
#      - 9849:9849
    depends_on:
      - se-mysql
docker-compose/mysql/initdb/se_cloud_20240629.sql
@@ -390,6 +390,9 @@
-- insert into sys_role_menu values ('2', '1059');
-- insert into sys_role_menu values ('2', '1060');
update sys_role_menu set role_id = 1;
-- select * from sys_role_menu;
-- ----------------------------
-- 8、角色和部门关联表  角色1-N部门
-- ----------------------------
se-modules/se-system/src/main/java/com/se/system/controller/SysMenuController.java
@@ -157,4 +157,18 @@
        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
        return success(menuService.buildMenus(menus));
    }
    /**
     * 根据标识获取菜单
     *
     * @return 菜单
     */
    @GetMapping("getMenusByMark")
    public AjaxResult getMenusByMark(String mark)
    {
        Long userId = SecurityUtils.getUserId();
        List<SysMenu> menus = menuService.selectMenusByUserIdAndMark(userId, mark);
        return success(menus);
    }
}
se-modules/se-system/src/main/java/com/se/system/mapper/SysMenuMapper.java
@@ -10,11 +10,10 @@
 * 
 * @author admin
 */
public interface SysMenuMapper
{
public interface SysMenuMapper {
    /**
     * 查询系统菜单列表
     *
     *
     * @param menu 菜单信息
     * @return 菜单列表
     */
@@ -22,14 +21,14 @@
    /**
     * 根据用户所有权限
     *
     *
     * @return 权限列表
     */
    public List<String> selectMenuPerms();
    /**
     * 根据用户查询系统菜单列表
     *
     *
     * @param menu 菜单信息
     * @return 菜单列表
     */
@@ -37,7 +36,7 @@
    /**
     * 根据角色ID查询权限
     *
     *
     * @param roleId 角色ID
     * @return 权限列表
     */
@@ -45,7 +44,7 @@
    /**
     * 根据用户ID查询权限
     *
     *
     * @param userId 用户ID
     * @return 权限列表
     */
@@ -53,14 +52,14 @@
    /**
     * 根据用户ID查询菜单
     *
     *
     * @return 菜单列表
     */
    public List<SysMenu> selectMenuTreeAll();
    /**
     * 根据用户ID查询菜单
     *
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
@@ -68,8 +67,8 @@
    /**
     * 根据角色ID查询菜单树信息
     *
     * @param roleId 角色ID
     *
     * @param roleId            角色ID
     * @param menuCheckStrictly 菜单树选择项是否关联显示
     * @return 选中菜单列表
     */
@@ -77,7 +76,7 @@
    /**
     * 根据菜单ID查询信息
     *
     *
     * @param menuId 菜单ID
     * @return 菜单信息
     */
@@ -85,7 +84,7 @@
    /**
     * 是否存在菜单子节点
     *
     *
     * @param menuId 菜单ID
     * @return 结果
     */
@@ -93,7 +92,7 @@
    /**
     * 新增菜单信息
     *
     *
     * @param menu 菜单信息
     * @return 结果
     */
@@ -101,7 +100,7 @@
    /**
     * 修改菜单信息
     *
     *
     * @param menu 菜单信息
     * @return 结果
     */
@@ -109,7 +108,7 @@
    /**
     * 删除菜单管理信息
     *
     *
     * @param menuId 菜单ID
     * @return 结果
     */
@@ -117,10 +116,19 @@
    /**
     * 校验菜单名称是否唯一
     *
     *
     * @param menuName 菜单名称
     * @param parentId 父菜单ID
     * @return 结果
     */
    public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
    /**
     * 根据用户ID和标识查询菜单
     *
     * @param userId 用户ID
     * @param mark   标识
     * @return 菜单集合
     */
    List<SysMenu> selectMenusByUserIdAndMark(@Param("userId") Long userId, @Param("mark") String mark);
}
se-modules/se-system/src/main/java/com/se/system/service/ISysMenuService.java
@@ -11,11 +11,10 @@
 * 
 * @author admin
 */
public interface ISysMenuService
{
public interface ISysMenuService {
    /**
     * 根据用户查询系统菜单列表
     *
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
@@ -23,8 +22,8 @@
    /**
     * 根据用户查询系统菜单列表
     *
     * @param menu 菜单信息
     *
     * @param menu   菜单信息
     * @param userId 用户ID
     * @return 菜单列表
     */
@@ -32,7 +31,7 @@
    /**
     * 根据用户ID查询权限
     *
     *
     * @param userId 用户ID
     * @return 权限列表
     */
@@ -40,7 +39,7 @@
    /**
     * 根据角色ID查询权限
     *
     *
     * @param roleId 角色ID
     * @return 权限列表
     */
@@ -48,7 +47,7 @@
    /**
     * 根据用户ID查询菜单树信息
     *
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
@@ -56,7 +55,7 @@
    /**
     * 根据角色ID查询菜单树信息
     *
     *
     * @param roleId 角色ID
     * @return 选中菜单列表
     */
@@ -64,7 +63,7 @@
    /**
     * 构建前端路由所需要的菜单
     *
     *
     * @param menus 菜单列表
     * @return 路由列表
     */
@@ -72,7 +71,7 @@
    /**
     * 构建前端所需要树结构
     *
     *
     * @param menus 菜单列表
     * @return 树结构列表
     */
@@ -80,7 +79,7 @@
    /**
     * 构建前端所需要下拉树结构
     *
     *
     * @param menus 菜单列表
     * @return 下拉树结构列表
     */
@@ -88,7 +87,7 @@
    /**
     * 根据菜单ID查询信息
     *
     *
     * @param menuId 菜单ID
     * @return 菜单信息
     */
@@ -96,7 +95,7 @@
    /**
     * 是否存在菜单子节点
     *
     *
     * @param menuId 菜单ID
     * @return 结果 true 存在 false 不存在
     */
@@ -104,7 +103,7 @@
    /**
     * 查询菜单是否存在角色
     *
     *
     * @param menuId 菜单ID
     * @return 结果 true 存在 false 不存在
     */
@@ -112,7 +111,7 @@
    /**
     * 新增保存菜单信息
     *
     *
     * @param menu 菜单信息
     * @return 结果
     */
@@ -120,7 +119,7 @@
    /**
     * 修改保存菜单信息
     *
     *
     * @param menu 菜单信息
     * @return 结果
     */
@@ -128,7 +127,7 @@
    /**
     * 删除菜单管理信息
     *
     *
     * @param menuId 菜单ID
     * @return 结果
     */
@@ -136,9 +135,18 @@
    /**
     * 校验菜单名称是否唯一
     *
     *
     * @param menu 菜单信息
     * @return 结果
     */
    public boolean checkMenuNameUnique(SysMenu menu);
    /**
     * 根据用户ID和标识查询菜单
     *
     * @param userId 用户ID
     * @param mark   标识
     * @return 菜单集合
     */
    List<SysMenu> selectMenusByUserIdAndMark(Long userId, String mark);
}
se-modules/se-system/src/main/java/com/se/system/service/impl/SysMenuServiceImpl.java
@@ -143,6 +143,13 @@
        return getChildPerms(menus, 0);
    }
    @Override
    public List<SysMenu> selectMenusByUserIdAndMark(Long userId, String mark) {
        List<SysMenu> menus = menuMapper.selectMenusByUserIdAndMark(userId, mark);
        return getChildPerms(menus, 0);
    }
    /**
     * 根据角色ID查询菜单树信息
     * 
se-modules/se-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -74,7 +74,7 @@
        </if>
        order by m.parent_id, m.order_num
    </select>
    <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, 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
@@ -85,7 +85,21 @@
        where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0  AND ro.status = 0
        order by m.parent_id, m.order_num
    </select>
    <select id="selectMenusByUserIdAndMark" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, 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
            left join sys_user u on ur.user_id = u.user_id
        where u.user_id = #{userId} and m.menu_type in ('M', 'C', 'F') and m.status = 0  AND ro.status = 0
            <if test="mark != null and mark != ''">
                AND m.mark = #{mark}
            </if>
        order by m.parent_id, m.order_num
    </select>
    <select id="selectMenuListByRoleId" resultType="Long">
        select m.menu_id
        from sys_menu m