浏览代码

Merge branch 'han' of uskycloud/usky-cloud into system-165

hanzhengyi 9 月之前
父节点
当前提交
0fdada6196

+ 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));
+    }
+
     /**
      * 获取路由信息
      *

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

@@ -3,10 +3,16 @@ package com.usky.system.controller.web;
 
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessErrorCode;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.system.domain.SysMenu;
 import com.usky.system.domain.SysMobileMenu;
 import com.usky.system.domain.SysMobilePlatformMenu;
+import com.usky.system.domain.constants.UserConstants;
+import com.usky.system.mapper.SysTenantPlatformMapper;
 import com.usky.system.service.ISysMenuService;
 import com.usky.system.service.SysPlatformService;
 import com.usky.system.service.vo.PlatformMenuVo;
@@ -34,6 +40,9 @@ public class SysPlatformController {
     @Autowired
     private ISysMenuService menuService;
 
+    @Autowired
+    private SysTenantPlatformMapper tenantPlatformMapper;
+
     /**
      * 平台挂管理-列表查询
      *
@@ -116,5 +125,20 @@ public class SysPlatformController {
         sysPlatformService.updateMobilePlatformMenu(mobilePlatformMenuVO);
         return ApiResult.success();
     }
+
+    /**
+     * 删除应用
+     */
+    @Log(title = "删除应用", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{platformId}")
+    public ApiResult<Void> remove(@PathVariable Integer platformId)
+    {
+        if (tenantPlatformMapper.checkPlatformUnique(platformId)>0)
+        {
+            return ApiResult.error("500", "删除应用失败,存在在用的租户单位");
+        }
+        sysPlatformService.deletePlatformById(platformId);
+        return ApiResult.success();
+    }
 }
 

+ 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查询菜单树信息
      *

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysTenantMenu;
 import com.usky.system.domain.SysTenantPlatform;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -15,4 +16,12 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface SysTenantPlatformMapper extends CrudMapper<SysTenantPlatform> {
+
+    /**
+     * 校验应用是否在用
+     *
+     * @param platformId 用户名称
+     * @return 结果
+     */
+    public int checkPlatformUnique(@Param("platformId") Integer platformId);
 }

+ 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);

+ 8 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysPlatformService.java

@@ -32,4 +32,12 @@ public interface SysPlatformService extends CrudService<SysPlatform> {
     void updateMobilePlatformMenu(MobilePlatformMenuVO mobilePlatformMenuV0);
 
     List<SysPlatformVo> getPlatformAllList();
+
+    /**
+     * 通过应用ID删除应用
+     *
+     * @param platformId 应用ID
+     * @return 结果
+     */
+    void deletePlatformById(Integer platformId);
 }

+ 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);

+ 14 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java

@@ -12,6 +12,7 @@ import com.usky.system.domain.SysPlatformMenu;
 import com.usky.system.domain.SysMobilePlatformMenu;
 import com.usky.system.mapper.SysMenuMapper;
 import com.usky.system.mapper.SysPlatformMapper;
+import com.usky.system.mapper.SysTenantPlatformMapper;
 import com.usky.system.service.SysMobilePlatformMenuService;
 import com.usky.system.service.SysPlatformMenuService;
 import com.usky.system.service.SysPlatformService;
@@ -37,8 +38,6 @@ import java.util.Map;
 @Service
 public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMapper, SysPlatform> implements SysPlatformService {
 
-    @Autowired
-    private SysMenuMapper menuMapper;
     @Autowired
     private SysPlatformMenuService sysPlatformMenuService;
     @Autowired
@@ -260,4 +259,17 @@ public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMappe
         List<SysPlatformVo> list1 = baseMapper.getPlatformList(null, null, null, null, null, null);
         return list1;
     }
+
+    /**
+     * 通过应用ID删除应用
+     *
+     * @param platformId 应用ID
+     * @return 结果
+     */
+    @Override
+    @Transactional
+    public void deletePlatformById(Integer platformId) {
+        baseMapper.deleteById(platformId);
+    }
+
 }

+ 10 - 12
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantPlatformServiceImpl.java

@@ -89,19 +89,17 @@ public class SysTenantPlatformServiceImpl extends AbstractCrudService<SysTenantP
         queryWrapper1.eq(SysTenantPlatform::getTenantId,tenantId);
         List<SysTenantPlatform> list = this.list(queryWrapper1);
         List<SysPlatformVo> list1 = sysPlatformService.getPlatformAllList();
-        if(CollectionUtils.isNotEmpty(list1)){
-            for(int i=0;i<list1.size();i++){
+        if(CollectionUtils.isNotEmpty(list)){
+            for(int i=0;i<list.size();i++){
                 TenantPlatformListVo tenantPlatformListVo = new TenantPlatformListVo();
-                tenantPlatformListVo.setPlatformName(list1.get(i).getPlatformName());
-                tenantPlatformListVo.setPlatformId(list1.get(i).getId());
-                tenantPlatformListVo.setIcon(list1.get(i).getIcon());
-                tenantPlatformListVo.setIsDefault(0);
-                tenantPlatformListVo.setIsSelected(0);
-                if(CollectionUtils.isNotEmpty(list)){
-                    for(int j=0;j<list.size();j++){
-                        if (list1.get(i).getId().equals(list.get(j).getPlatformId())){
-                            tenantPlatformListVo.setIsDefault(list.get(j).getIsDefault());
-                            tenantPlatformListVo.setIsSelected(1);
+                tenantPlatformListVo.setIsDefault(list.get(i).getIsDefault());
+                tenantPlatformListVo.setIsSelected(1);
+                if(CollectionUtils.isNotEmpty(list1)){
+                    for(int j=0;j<list1.size();j++){
+                        if (list1.get(j).getId().equals(list.get(i).getPlatformId())){
+                            tenantPlatformListVo.setPlatformName(list1.get(j).getPlatformName());
+                            tenantPlatformListVo.setPlatformId(list1.get(j).getId());
+                            tenantPlatformListVo.setIcon(list1.get(j).getIcon());
                         }
                     }
                 }

+ 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

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantPlatformMapper.xml

@@ -8,4 +8,9 @@
         <result column="platform_id" property="platformId" />
         <result column="is_default" property="isDefault" />
     </resultMap>
+
+    <select id="checkPlatformUnique" resultType="int">
+        select count(1) from sys_tenant_platform where platform_id = #{platformId} limit 1
+    </select>
+
 </mapper>