소스 검색

租户模块

24282 2 년 전
부모
커밋
e0a775e3dd

+ 15 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.system.domain.SysRoleMenu;
 import com.ruoyi.system.domain.SysRoleMenu;
+import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -42,4 +43,18 @@ public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
      * @return 结果
      * @return 结果
      */
      */
     public int batchRoleMenu(List<SysRoleMenu> roleMenuList);
     public int batchRoleMenu(List<SysRoleMenu> roleMenuList);
+
+    /**
+     * 删除角色除传入目录id职位的其他目录
+     *
+     * @param roleIdList 角色id列表
+     * @param menuIdList 目录id列表
+     */
+    void removeOtherMenu(@Param("roleIdList") List<Long> roleIdList, @Param("menuIdList") List<Long> menuIdList);
+
+    /**
+     * 获取指定角色目录id
+     */
+    List<Long> getMenuIdByRoleId(@Param("adminRoleId") Long adminRoleId);
+
 }
 }

+ 84 - 52
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -5,42 +5,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 <mapper namespace="com.ruoyi.system.mapper.SysDeptMapper">
 <mapper namespace="com.ruoyi.system.mapper.SysDeptMapper">
 
 
 	<resultMap type="SysDept" id="SysDeptResult">
 	<resultMap type="SysDept" id="SysDeptResult">
-		<id     property="deptId"     column="dept_id"     />
-		<result property="parentId"   column="parent_id"   />
-		<result property="ancestors"  column="ancestors"   />
-		<result property="deptName"   column="dept_name"   />
-		<result property="orderNum"   column="order_num"   />
-		<result property="leader"     column="leader"      />
-		<result property="phone"      column="phone"       />
-		<result property="email"      column="email"       />
-		<result property="status"     column="status"      />
-		<result property="delFlag"    column="del_flag"    />
-		<result property="parentName" column="parent_name" />
-		<result property="createBy"   column="create_by"   />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy"   column="update_by"   />
-		<result property="updateTime" column="update_time" />
+		<id property="deptId" column="dept_id"/>
+		<result property="parentId" column="parent_id"/>
+		<result property="ancestors" column="ancestors"/>
+		<result property="deptName" column="dept_name"/>
+		<result property="orderNum" column="order_num"/>
+		<result property="leaderId" column="leader_id"/>
+		<result property="directorId" column="director_id"/>
+		<result property="type" column="type"/>
+		<result property="phone" column="phone"/>
+		<result property="email" column="email"/>
+		<result property="status" column="status"/>
+		<result property="delFlag" column="del_flag"/>
+		<result property="parentName" column="parent_name"/>
+		<result property="createBy" column="create_by"/>
+		<result property="createTime" column="create_time"/>
+		<result property="updateBy" column="update_by"/>
+		<result property="updateTime" column="update_time"/>
 	</resultMap>
 	</resultMap>
-	
+
 	<sql id="selectDeptVo">
 	<sql id="selectDeptVo">
-        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time 
-        from sys_dept d
-    </sql>
+		select d.dept_id,
+			   d.parent_id,
+			   d.ancestors,
+			   d.dept_name,
+			   d.order_num,
+			   d.leader_id,
+			   d.director_id,
+			   d.phone,
+			   d.email,
+			   d.status,
+			   d.del_flag,
+			   d.create_by,
+			   d.create_time
+		from sys_dept d
+	</sql>
     
     
 	<select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">
 	<select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">
         <include refid="selectDeptVo"/>
         <include refid="selectDeptVo"/>
         where d.del_flag = '0'
         where d.del_flag = '0'
 		<if test="deptId != null and deptId != 0">
 		<if test="deptId != null and deptId != 0">
-			AND dept_id = #{deptId}
+			AND d.dept_id = #{deptId}
 		</if>
 		</if>
         <if test="parentId != null and parentId != 0">
         <if test="parentId != null and parentId != 0">
-			AND parent_id = #{parentId}
+			AND d.parent_id = #{parentId}
 		</if>
 		</if>
 		<if test="deptName != null and deptName != ''">
 		<if test="deptName != null and deptName != ''">
-			AND dept_name like concat('%', #{deptName}, '%')
+			AND d.dept_name like concat('%', #{deptName}, '%')
 		</if>
 		</if>
 		<if test="status != null and status != ''">
 		<if test="status != null and status != ''">
-			AND status = #{status}
+			AND sd.tatus = #{status}
+		</if>
+		<if test="tenantId != null and tenantId != ''">
+			AND d.tenant_id = #{tenantId}
 		</if>
 		</if>
 		<!-- 数据范围过滤 -->
 		<!-- 数据范围过滤 -->
 		${params.dataScope}
 		${params.dataScope}
@@ -59,8 +76,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	</select>
     
     
     <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
     <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
-		select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
-			(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
+		select d.dept_id,
+			   d.parent_id,
+			   d.ancestors,
+			   d.dept_name,
+			   d.order_num,
+			   d.leader_id,
+			   d.director_id,
+			   d.phone,
+			   d.email,
+			   d.status,
+			   (select dept_name from sys_dept where dept_id = d.parent_id) parent_name
 		from sys_dept d
 		from sys_dept d
 		where d.dept_id = #{deptId}
 		where d.dept_id = #{deptId}
 	</select>
 	</select>
@@ -88,32 +114,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	</select>
     
     
     <insert id="insertDept" parameterType="SysDept">
     <insert id="insertDept" parameterType="SysDept">
- 		insert into sys_dept(
- 			<if test="deptId != null and deptId != 0">dept_id,</if>
- 			<if test="parentId != null and parentId != 0">parent_id,</if>
- 			<if test="deptName != null and deptName != ''">dept_name,</if>
- 			<if test="ancestors != null and ancestors != ''">ancestors,</if>
- 			<if test="orderNum != null">order_num,</if>
- 			<if test="leader != null and leader != ''">leader,</if>
- 			<if test="phone != null and phone != ''">phone,</if>
- 			<if test="email != null and email != ''">email,</if>
- 			<if test="status != null">status,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="deptId != null and deptId != 0">#{deptId},</if>
- 			<if test="parentId != null and parentId != 0">#{parentId},</if>
- 			<if test="deptName != null and deptName != ''">#{deptName},</if>
- 			<if test="ancestors != null and ancestors != ''">#{ancestors},</if>
- 			<if test="orderNum != null">#{orderNum},</if>
- 			<if test="leader != null and leader != ''">#{leader},</if>
- 			<if test="phone != null and phone != ''">#{phone},</if>
- 			<if test="email != null and email != ''">#{email},</if>
- 			<if test="status != null">#{status},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
+        insert into sys_dept(
+        <if test="deptId != null and deptId != 0">dept_id,</if>
+        <if test="parentId != null and parentId != 0">parent_id,</if>
+        <if test="deptName != null and deptName != ''">dept_name,</if>
+        <if test="ancestors != null and ancestors != ''">ancestors,</if>
+        <if test="orderNum != null">order_num,</if>
+        <if test="leaderId != null and leaderId != ''">leader_id,</if>
+        <if test="directorId != null and directorId != ''">director_id,</if>
+        <if test="type != null and type != ''">type,</if>
+        <if test="phone != null and phone != ''">phone,</if>
+        <if test="email != null and email != ''">email,</if>
+        <if test="status != null">status,</if>
+        <if test="createBy != null and createBy != ''">create_by,</if>
+        create_time
+        )values(
+        <if test="deptId != null and deptId != 0">#{deptId},</if>
+        <if test="parentId != null and parentId != 0">#{parentId},</if>
+        <if test="deptName != null and deptName != ''">#{deptName},</if>
+        <if test="ancestors != null and ancestors != ''">#{ancestors},</if>
+        <if test="orderNum != null">#{orderNum},</if>
+        <if test="leaderId != null and leaderId != ''">#{leaderId},</if>
+        <if test="directorId != null and directorId != ''">#{directorId},</if>
+        <if test="type != null and type != ''">#{type},</if>
+        <if test="phone != null and phone != ''">#{phone},</if>
+        <if test="email != null and email != ''">#{email},</if>
+        <if test="status != null">#{status},</if>
+        <if test="createBy != null and createBy != ''">#{createBy},</if>
+        sysdate()
+        )
+    </insert>
 	
 	
 	<update id="updateDept" parameterType="SysDept">
 	<update id="updateDept" parameterType="SysDept">
  		update sys_dept
  		update sys_dept
@@ -122,7 +152,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
  			<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
  			<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
  			<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
  			<if test="orderNum != null">order_num = #{orderNum},</if>
  			<if test="orderNum != null">order_num = #{orderNum},</if>
- 			<if test="leader != null">leader = #{leader},</if>
+			<if test="leaderId != null">leader_id = #{leaderId},</if>
+			<if test="directorId != null">director_id = #{directorId},</if>
+			<if test="type != null">type = #{type},</if>
  			<if test="phone != null">phone = #{phone},</if>
  			<if test="phone != null">phone = #{phone},</if>
  			<if test="email != null">email = #{email},</if>
  			<if test="email != null">email = #{email},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
  			<if test="status != null and status != ''">status = #{status},</if>

+ 20 - 1
ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml

@@ -13,6 +13,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	    select count(1) from sys_role_menu where menu_id = #{menuId}
 	    select count(1) from sys_role_menu where menu_id = #{menuId}
 	</select>
 	</select>
 
 
+    <delete id="removeOtherMenu">
+        DELETE FROM sys_role_menu WHERE role_id in
+        <foreach item="item" collection="roleIdList" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+        <if test="menuIdList neq null and menuIdList.size() > 0">
+            and menu_id not in
+            <foreach item="item" collection="menuIdList" separator="," open="(" close=")" index="">
+                #{item}
+            </foreach>
+        </if>
+    </delete>
+
+	<select id="getMenuIdByRoleId" resultType="java.lang.Long">
+        select menu_id
+        from sys_role_menu
+        where role_id = #{adminRoleId}
+    </select>
+
 	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
 	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
 		delete from sys_role_menu where role_id=#{roleId}
 		delete from sys_role_menu where role_id=#{roleId}
 	</delete>
 	</delete>
@@ -30,5 +49,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			(#{item.roleId},#{item.menuId})
 			(#{item.roleId},#{item.menuId})
 		</foreach>
 		</foreach>
 	</insert>
 	</insert>
-	
+
 </mapper> 
 </mapper> 

+ 17 - 10
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -29,14 +29,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
     </resultMap>
 	
 	
     <resultMap id="deptResult" type="SysDept">
     <resultMap id="deptResult" type="SysDept">
-        <id     property="deptId"    column="dept_id"     />
-        <result property="parentId"  column="parent_id"   />
-        <result property="deptName"  column="dept_name"   />
-        <result property="ancestors" column="ancestors"   />
-        <result property="orderNum"  column="order_num"   />
-        <result property="leader"    column="leader"      />
-        <result property="status"    column="dept_status" />
-    </resultMap>
+		<id property="deptId" column="dept_id"/>
+		<result property="parentId" column="parent_id"/>
+		<result property="deptName" column="dept_name"/>
+		<result property="ancestors" column="ancestors"/>
+		<result property="orderNum" column="order_num"/>
+		<result property="leaderId" column="leader_id"/>
+		<result property="directorId" column="director_id"/>
+		<result property="type" column="type"/>
+		<result property="status" column="dept_status"/>
+	</resultMap>
 	
 	
     <resultMap id="RoleResult" type="SysRole">
     <resultMap id="RoleResult" type="SysRole">
         <id     property="roleId"       column="role_id"        />
         <id     property="roleId"       column="role_id"        />
@@ -70,7 +72,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			   d.ancestors,
 			   d.ancestors,
 			   d.dept_name,
 			   d.dept_name,
 			   d.order_num,
 			   d.order_num,
-			   d.leader,
+			   d.leader_id,
+			   d.director_id,
+			   d.type,
 			   d.status as dept_status,
 			   d.status as dept_status,
 			   r.role_id,
 			   r.role_id,
 			   r.role_name,
 			   r.role_name,
@@ -85,7 +89,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</sql>
 	</sql>
     
     
     <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
     <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
-		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
+		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,
+		u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader_id, d.director_id, d.type
+		from
+		sys_user u
 		left join sys_dept d on u.dept_id = d.dept_id
 		left join sys_dept d on u.dept_id = d.dept_id
 		where u.del_flag = '0'
 		where u.del_flag = '0'
 		<if test="userId != null and userId != 0">
 		<if test="userId != null and userId != 0">