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