Browse Source

增加应用级路由查询接口

hanzhengyi 8 months ago
parent
commit
ba4b45cb3b

+ 19 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMenuController.java

@@ -150,6 +150,25 @@ public class SysMenuController extends BaseController
     }
 
 
+    /**
+     * 获取路由信息(应用级改造)
+     *
+     * @return 路由信息
+     */
+    @GetMapping("getRouters1/{platformId}")
+    public ApiResult getRouters1(@PathVariable("platformId") Integer platformId)
+    {
+        Long userId = SecurityUtils.getUserId();
+        SysUser sysUser = userService.selectUserByIdOne(userId);
+        List<SysMenu> menus = new ArrayList<>();
+        if ("01".equals(sysUser.getUserType())){
+            menus = menuService.selectMenuTreeByUserIdOne1(SecurityUtils.getTenantId(),platformId);
+        }else {
+            menus = menuService.selectMenuTreeByUserId1(userId,platformId);
+        }
+        return ApiResult.success(menuService.buildMenus(menus));
+    }
+
     /**
      * 获取路由信息
      *

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysTenantMenu.java

@@ -43,5 +43,10 @@ public class SysTenantMenu implements Serializable {
 
     private String menuAliasName;
 
+    /**
+     * 应用ID
+     */
+    private Integer platformId;
+
 
 }

+ 11 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMenuMapper.java

@@ -79,8 +79,19 @@ public interface SysMenuMapper extends CrudMapper<SysMenu> {
      */
     public List<SysMenu> selectMenuTreeByUserId(@Param("userId") Long userId);
 
+    /**
+     * 根据用户ID查询菜单
+     *
+     * @param userId 用户ID
+     * @param platformId 应用ID
+     * @return 应用级菜单列表
+     */
+    public List<SysMenu> selectMenuTreeByUserId1(@Param("userId") Long userId,@Param("platformId") Integer platformId);
+
     public List<SysMenu> selectMenuTreeByUserIdOne(@Param("tenantId") Integer tenantId);
 
+    public List<SysMenu> selectMenuTreeByUserIdOne1(@Param("tenantId") Integer tenantId,@Param("platformId") Integer platformId);
+
     /**
      * 根据角色ID查询菜单树信息
      *

+ 10 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysMenuService.java

@@ -66,8 +66,18 @@ public interface ISysMenuService extends CrudService<SysMenu>
      */
     public List<SysMenu> selectMenuTreeByUserId(Long userId);
 
+    /**
+     * 根据用户ID查询菜单树信息
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectMenuTreeByUserId1(Long userId,Integer platformId);
+
     List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId);
 
+    List<SysMenu> selectMenuTreeByUserIdOne1(Integer tenantId,Integer platformId);
+
     List<SysTenantMenu> selectTenantMenuList(Integer tenantId);
 
     void updateTenantMenu(SysTenantMenu tenantMenu);

+ 26 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java

@@ -184,12 +184,38 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
         return getChildPerms(menus, 0);
     }
 
+    /**
+     * 根据用户ID查询菜单
+     *
+     * @param userId 用户名称
+     * @return 菜单列表
+     */
+    @Override
+    public List<SysMenu> selectMenuTreeByUserId1(Long userId,Integer platformId)
+    {
+        List<SysMenu> menus = null;
+        if (1L == userId)
+        {
+            menus = menuMapper.selectMenuTreeAll();
+        }
+        else
+        {
+            menus = menuMapper.selectMenuTreeByUserId1(userId,platformId);
+        }
+        return getChildPerms(menus, 0);
+    }
+
 
     public List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId){
         List<SysMenu> menus = menuMapper.selectMenuTreeByUserIdOne(tenantId);
         return getChildPerms(menus, 0);
     }
 
+    public List<SysMenu> selectMenuTreeByUserIdOne1(Integer tenantId,Integer platformId){
+        List<SysMenu> menus = menuMapper.selectMenuTreeByUserIdOne1(tenantId,platformId);
+        return getChildPerms(menus, 0);
+    }
+
     @Override
     public List<SysTenantMenu> selectTenantMenuList(Integer tenantId){
         List<SysTenantMenu> menus = tenantMenuMapper.selectTenantMenuList(tenantId);

+ 65 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -204,6 +204,38 @@
         order by m.parent_id, m.order_num
     </select>
 
+    <select id="selectMenuTreeByUserId1" parameterType="Long" resultMap="SysMenuResult">
+        select distinct m.menu_id,
+                        m.parent_id,
+                        m.menu_name,
+                        rm.menu_alias_name,
+                        m.path,
+                        m.component,
+                        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,
+                        m.remark,
+                        m.isNew
+        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
+                 left join sys_tenant_menu t on u.tenant_id = t.tenant_id
+        where u.user_id = #{userId}
+          and m.menu_type in ('M', 'C')
+          and m.status = 0
+          AND ro.status = 0
+          AND t.platform_id=#{platformId}
+        order by m.parent_id, m.order_num
+    </select>
+
     <select id="selectMenuTreeByUserIdOne" resultMap="SysMenuResult">
         SELECT
             m.menu_id,
@@ -236,6 +268,39 @@
             m.order_num
     </select>
 
+    <select id="selectMenuTreeByUserIdOne1" resultMap="SysMenuResult">
+        SELECT
+            m.menu_id,
+            m.parent_id,
+            m.menu_name,
+            t.menu_alias_name,
+            m.path,
+            m.component,
+            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,
+            m.remark,
+            m.isNew
+        FROM
+            sys_menu m
+                JOIN sys_tenant_menu t
+        WHERE
+            m.menu_id = t.menu_id
+          AND m.menu_type IN ('M', 'C')
+          AND m. STATUS = 0
+          AND t.tenant_id=#{tenantId}
+          AND t.platform_id=#{platformId}
+        ORDER BY
+            m.parent_id,
+            m.order_num
+    </select>
+
     <select id="selectMenuListByRoleId" resultType="Integer">
         select m.menu_id
         from sys_menu m

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantMenuMapper.xml

@@ -9,6 +9,7 @@
         <result column="parent_id" property="parentId" />
         <result property="menuName" column="menu_name"/>
         <result column="menu_alias_name" property="menuAliasName" />
+        <result column="platform_id" property="platformId" />
     </resultMap>
 
     <select id="selectTenantMenuList" resultMap="BaseResultMap">