Browse Source

部门与角色删除接口的修订

不吃鱼 2 years ago
parent
commit
c5881bad48

+ 5 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/DepartmentDao.java

@@ -103,4 +103,9 @@ public interface DepartmentDao {
      */
     Department queryParentDepartmentById(Integer departmentParentId);
 
+    /**
+     * 删除部门用户信息
+     */
+    Integer deleteDepartmentUserByIdList(@Param("idList") List<Integer> IdList);
+
 }

+ 5 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/RoleDao.java

@@ -170,4 +170,9 @@ public interface RoleDao {
      */
     Integer deleteUserRoleByUserIdList( @Param("userIdList") List<String> userIdList);
 
+    /**
+     * 删除角色以及对应的相关信息
+     */
+    Integer deleteRoleList(@Param("roleIdList") List<Integer> roleIdList);
+
 }

+ 1 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/DepartmentServiceImpl.java

@@ -116,6 +116,7 @@ public class DepartmentServiceImpl implements DepartmentService {
                 return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "删除失败,请检查所选部门是否存在成员或下级部门");
             }
         }
+        departmentDao.deleteDepartmentUserByIdList(id);
         Integer count = departmentDao.isDeleteByid(id);
         return Result.ok(count);
     }

+ 2 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/RoleServiceImpl.java

@@ -150,6 +150,7 @@ public class RoleServiceImpl implements RoleService {
         if (roleDao.queryUserNumByRoleIdList(roleIdList)>0){
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "无法删除!请检查所选角色是否已分配用户");
         }
+        roleDao.deleteRoleList(roleIdList);
         roleDao.deleteRoleIdList(roleIdList);
         return Result.ok("删除角色成功");
     }
@@ -232,7 +233,7 @@ public class RoleServiceImpl implements RoleService {
     public Result queryMenuByUserId(String userId) {
         List<Menu> menuList = roleDao.queryMenuByUserId(userId);
         if (Blank.isEmpty(menuList)){
-            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(),"用户暂菜单");
+            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(),"用户暂未分配菜单");
         }
         for (Menu m:menuList){
             List<Menu> menuChildren = menuChildren(m.getId(), userId);

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/UserServiceImpl.java

@@ -500,7 +500,6 @@ public class UserServiceImpl implements UserService {
         if (userDao.updateUserListState(userId,ConstantStr.TOMBSTONE) <= 0){
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "删除用户失败");
         }
-        roleDao.deleteUserRoleByUserIdList(userId);
         return Result.ok("删除用户成功");
     }
 

+ 10 - 1
chuanyi_server/src/main/resources/mapper/DepartmentDao.xml

@@ -119,7 +119,9 @@
     </select>
 
     <select id="queryUserDepartmentById" resultType="java.lang.Integer">
-        SELECT COUNT(*) FROM sys_user_department WHERE department_id=#{id}
+        SELECT COUNT(*) FROM sys_user WHERE user_id IN
+        (SELECT user_id FROM sys_user_department WHERE department_id=#{id})
+        AND state !=2
     </select>
 
     <insert id="addUserDepartment">
@@ -163,4 +165,11 @@
         WHERE id=#{departmentParentId} and is_delete=0
     </select>
 
+    <delete id="deleteDepartmentUserByIdList">
+        DELETE  FROM sys_user_department WHERE department_id IN
+        <foreach collection="idList" open="(" close=")" separator="," item="id">
+            #{id}
+        </foreach>
+    </delete>
+
 </mapper>

+ 12 - 3
chuanyi_server/src/main/resources/mapper/RoleDao.xml

@@ -231,7 +231,7 @@
     <select id="queryMenuByUserId" resultType="com.judong.chuanyiserver.entity.Menu">
         SELECT id,parent_id,menu_name,menu_url,menu_icon,sort_num,menu_status,create_time,update_time,hidden FROM sys_menu WHERE id
         IN(SELECT DISTINCT(menu_id) FROM sys_role_menu WHERE role_id IN
-        (SELECT role_id FROM sys_user_role WHERE user_id=#{userId}))
+        (SELECT id FROM sys_role WHERE id IN (SELECT role_id FROM sys_user_role WHERE user_id=#{userId}) AND is_delete = 0))
         AND parent_id=0 AND menu_status=1
     </select>
 
@@ -344,10 +344,12 @@
     </select>
 
     <select id="queryUserNumByRoleIdList" resultType="java.lang.Integer">
-        SELECT COUNT(*) FROM sys_user_role WHERE role_id IN
+        SELECT COUNT(*) FROM sys_user WHERE user_id IN
+        (SELECT user_id FROM sys_user_role WHERE role_id IN
         <foreach collection="roleIdList" item="roleId" separator="," open="(" close=")">
             #{roleId}
-        </foreach>
+        </foreach>)
+        AND state !=2
     </select>
 
     <delete id="deleteUserRoleByUserIdList">
@@ -357,4 +359,11 @@
         </foreach>
     </delete>
 
+    <delete id="deleteRoleList">
+        DELETE  FROM sys_user_role WHERE role_id in
+        <foreach collection="roleIdList" open="(" close=")" separator="," item="roleId">
+            #{roleId}
+        </foreach>
+    </delete>
+
 </mapper>

+ 2 - 2
chuanyi_server/src/main/resources/mapper/UserDao.xml

@@ -105,7 +105,7 @@
         select sr.id, sr.role_name, sr.role_code
         from sys_role sr
                  inner join sys_user_role sur on sr.id = sur.role_id
-        where sur.user_id = #{userId}
+        where sur.user_id = #{userId} and sr.is_delete = 0
     </select>
     <select id="getUserCount" resultType="java.lang.Long">
         select count(*)
@@ -227,7 +227,7 @@
     </update>
 
     <select id="queryUserName" resultType="java.lang.Integer">
-        SELECT count(*) FROM sys_user WHERE BINARY user_name=#{name} and state!=2
+        SELECT count(*) FROM sys_user WHERE BINARY user_name=#{name}
     </select>
 
     <select id="getUserByNamePassByUpdate" resultType="com.judong.chuanyiserver.entity.User">