From 468109c399d40c1a1f3c30bd443e09951aaf4a64 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 15 五月 2024 18:19:03 +0800
Subject: [PATCH] fix:部门管理员角色设置
---
src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java | 6 ++++--
src/main/java/com/mindskip/xzs/repository/UserMapper.java | 8 ++++++--
src/main/resources/mapper/UserMapper.xml | 23 +++++++++++++++++++++++
3 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/repository/UserMapper.java b/src/main/java/com/mindskip/xzs/repository/UserMapper.java
index 4ae498b..f4708eb 100644
--- a/src/main/java/com/mindskip/xzs/repository/UserMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/UserMapper.java
@@ -2,14 +2,14 @@
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.ExamPaperAnswer;
-import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.other.KeyValue;
+import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradeQuery;
import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.security.core.parameters.P;
import java.util.List;
import java.util.Map;
@@ -161,4 +161,8 @@
void clearDeptAdmin(List<Integer> userIds, @Param("deptId") Integer deptId);
User getUserByExam(ExamPaper examPaper);
+
+ void updateUserDeptAdmin(UpdateDeptAdminVO form);
+
+ void cancelUserDeptAdmin(UpdateDeptAdminVO form);
}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
index d2d83e3..d4d2290 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
@@ -1,10 +1,8 @@
package com.mindskip.xzs.service.impl;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Department;
-import com.mindskip.xzs.domain.UserDepartment;
import com.mindskip.xzs.domain.enums.DeptAdminEnum;
import com.mindskip.xzs.domain.vo.BaseSelect;
import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
@@ -130,5 +128,9 @@
// 鏍囪瘑閮ㄩ棬绠$悊鍛�
userMapper.updateDeptAdmin(form.getAdminIds(), DeptAdminEnum.YES.getValue(), entity.getId());
}
+ // 淇敼琚�夋嫨鐨勭敤鎴蜂负閮ㄩ棬绠$悊鍛�
+ userMapper.updateUserDeptAdmin(form);
+ // 淇敼娌¤閫夋嫨鐨勭敤鎴峰苟涓斾笉鏄埆鐨勯儴闂ㄧ鐞嗗憳鐨勭敤鎴疯鑹蹭负1
+ userMapper.cancelUserDeptAdmin(form);
}
}
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 67c6b80..e04892e 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -508,4 +508,27 @@
]]>
</select>
+
+ <update id="updateUserDeptAdmin">
+ update t_user set role = -1 where id in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
+
+ <update id="cancelUserDeptAdmin">
+ update t_user set role = 1 where id in(
+ select user_id from t_user_department where department_id = #{id} and user_id not in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ and user_id not in
+ (select user_id from t_user_department where dept_admin = 1 and user_id in
+ (select user_id from t_user_department where department_id = #{id} and user_id not in
+ <foreach collection="adminIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ )))
+ </update>
+
</mapper>
--
Gitblit v1.8.0