src/main/java/com/mindskip/xzs/repository/UserMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/UserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); } 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); } } 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>