Преглед изворни кода

Merge branch 'master' of http://49.233.37.222:3000/wjm/mec-cloud_IntelligentManufacturing_CRM

lph пре 1 година
родитељ
комит
76b4b5dde5

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java

@@ -149,7 +149,7 @@ public class SysMenuController extends BaseController
     @GetMapping("/getMenuList")
     public AjaxResult getMenuList()
     {
-        List<SysMenu> menus = menuService.getMenuList();
+        List<SysMenu> menus = menuService.getMenuList(getTenantId());
         return success(menus);
     }
 

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java

@@ -140,7 +140,7 @@ public interface SysMenuMapper
     /**
      * 动态表格获取菜单
      */
-    List<SysMenu> getMenuList();
+    List<SysMenu> getMenuList(Long tenantId);
 
     /**
      * 根据路由地址查询信息

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,6 +1,8 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
+import java.util.Set;
+
 import org.apache.ibatis.annotations.Param;
 import com.ruoyi.common.core.domain.entity.SysUser;
 
@@ -129,4 +131,9 @@ public interface SysUserMapper
      * 查询所有用户信息接口
      */
     List<SysUser> selectAllUser();
+
+    /**
+     * 根据租户编号查询用户编号
+     */
+    Long[] selectUserIdByTenantIds(Long[] tenantIds);
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java

@@ -145,7 +145,7 @@ public interface ISysMenuService
     /**
      * 动态表格菜单列表
      */
-    public List<SysMenu> getMenuList();
+    public List<SysMenu> getMenuList(Long tenantId);
 
     /**
      * 根据路由地址查询信息

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java

@@ -362,7 +362,7 @@ public class SysMenuServiceImpl implements ISysMenuService
     }
 
     @Override
-    public List<SysMenu> getMenuList() {
+    public List<SysMenu> getMenuList(Long tenantId) {
 
 //        List<SysMenu> menuList = null;
         // 管理员显示所有菜单信息
@@ -370,7 +370,7 @@ public class SysMenuServiceImpl implements ISysMenuService
 //        {
 //            menuList = menuMapper.getMenuList();
 //        }
-        return menuMapper.getMenuList();
+        return menuMapper.getMenuList(tenantId);
     }
 
     @Override

+ 15 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java

@@ -5,10 +5,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Scanner;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -17,6 +14,8 @@ import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.system.domain.SysTenantMenu;
 import com.ruoyi.system.mapper.SysMenuMapper;
 import com.ruoyi.system.mapper.SysTenantMenuMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.SysTenantMapper;
@@ -42,6 +41,12 @@ public class SysTenantServiceImpl implements ISysTenantService
     @Autowired
     private SysMenuMapper sysMenuMapper;
 
+    @Autowired
+    private ISysUserService userService;
+
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
     /**
      * 查询租户信息
      * 
@@ -98,8 +103,14 @@ public class SysTenantServiceImpl implements ISysTenantService
      * @return 结果
      */
     @Override
+    @Transactional
     public int deleteSysTenantByTenantIds(Long[] tenantIds)
     {
+        //查询删除用户信息编号
+        Long[] userIds = sysUserMapper.selectUserIdByTenantIds(tenantIds);
+        //删除用户
+        userService.deleteUserByIds(userIds);
+        //删除租户
         return sysTenantMapper.deleteSysTenantByTenantIds(tenantIds);
     }
 

+ 25 - 7
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -55,20 +55,20 @@
 		sys_menu m
 		LEFT JOIN sys_user u on m.create_by = u.user_name
 		LEFT JOIN sys_tenant t on t.tenant_id = u.tenant_id
-		<where>
+		where
+		m.menu_id not in (select DISTINCT menu_id from sys_tenant_menu)
 			<if test="menuName != null and menuName != ''">
-				AND menu_name like concat('%', #{menuName}, '%')
+				AND m.menu_name like concat('%', #{menuName}, '%')
 			</if>
 			<if test="visible != null and visible != ''">
-				AND visible = #{visible}
+				AND m.visible = #{visible}
 			</if>
 			<if test="status != null and status != ''">
-				AND status = #{status}
+				AND m.status = #{status}
 			</if>
 			<if test="tenantName != null and tenantName != ''">
 				AND t.tenant_name like concat('%', #{tenantName}, '%')
 			</if>
-		</where>
 		order by parent_id, order_num
 	</select>
 
@@ -246,8 +246,26 @@
 	</delete>
 
 	<select id="getMenuList" resultMap="SysMenuResult">
-		<include refid="selectMenuVo"></include>
-		where menu_type != 'F'
+		SELECT
+			m.menu_id,
+			m.menu_name,
+			m.parent_id,
+			m.order_num,
+			m.path,
+			m.component,
+			m.`query`,
+			m.is_frame,
+			m.is_cache,
+			m.menu_type,
+			m.visible,
+			m.STATUS,
+			ifnull( m.perms, '' ) AS perms,
+			m.icon,
+			m.create_time
+		FROM
+			sys_menu m
+				join sys_tenant_menu tm on m.menu_id = tm.menu_id
+		where m.menu_type != 'F' and m.STATUS = '0' and tm.tenant_id = #{tenantId}
 	</select>
 
 	<select id="selectMenuByPath" parameterType="string" resultMap="SysMenuResult">

+ 7 - 0
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -302,5 +302,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="selectAllUser" resultMap="SysUserInfoResult">
 		select * from sys_user where del_flag = '0'
 	</select>
+
+	<select id="selectUserIdByTenantIds" resultType="Long">
+		SELECT user_id FROM `sys_user` where del_flag = '0' and tenant_id in
+		<foreach collection="array" item="tenantId" open="(" close=")" separator=",">
+			#{tenantId}
+		</foreach>
+	</select>
 	
 </mapper> 

+ 3 - 0
ruoyi-ui/src/views/tableMange/index.vue

@@ -1258,4 +1258,7 @@ export default {
 ::v-deep .right_card {
   min-height: 500px !important;
 }
+::v-deep .vue-treeselect--has-value .vue-treeselect__input{
+  vertical-align: middle !important;
+}
 </style>