From 28fe781cf67b1afe29ee069a42b118a2abe6db05 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期一, 27 五月 2024 14:03:41 +0800 Subject: [PATCH] feat:审核后才能重新发起用户调动 --- src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java | 12 +++--- src/main/java/com/mindskip/xzs/controller/admin/UserController.java | 4 - src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java | 22 +++++++++++ src/main/java/com/mindskip/xzs/repository/UserMapper.java | 3 + src/main/java/com/mindskip/xzs/service/UserService.java | 3 + src/main/resources/mapper/UserMapper.xml | 27 ++++++------- 6 files changed, 45 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/UserController.java b/src/main/java/com/mindskip/xzs/controller/admin/UserController.java index 3ce7a9e..8478851 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/UserController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/UserController.java @@ -50,9 +50,7 @@ @RequestMapping(value = "/page/list", method = RequestMethod.POST) public RestResponse<PageInfo<UserResponseVM>> pageList(@RequestBody UserPageRequestVM model) { model.setDepartmentId(ObjectUtils.isNotEmpty(model.getDepartmentId()) ? model.getDepartmentId() : getAdminDeptIds()); - PageInfo<User> pageInfo = userService.userPage(model); - PageInfo<UserResponseVM> page = PageInfoHelper.copyMap(pageInfo, d -> - UserResponseVM.from(d)); + PageInfo<UserResponseVM> page = userService.userPage(model); page.setList(page.getList().stream().map(e->{ List<UserDepartment> userDepartments = userDepartmentMapper.selectByUserId(e.getId()); List<Department> list = new ArrayList<>(); diff --git a/src/main/java/com/mindskip/xzs/repository/UserMapper.java b/src/main/java/com/mindskip/xzs/repository/UserMapper.java index 3a00eba..a8ef3a0 100644 --- a/src/main/java/com/mindskip/xzs/repository/UserMapper.java +++ b/src/main/java/com/mindskip/xzs/repository/UserMapper.java @@ -8,6 +8,7 @@ import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO; import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradeQuery; import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM; +import com.mindskip.xzs.viewmodel.admin.user.UserResponseVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -80,7 +81,7 @@ * @param requestVM requestVM * @return List<User> */ - List<User> userPage(UserPageRequestVM requestVM); + List<UserResponseVM> userPage(UserPageRequestVM requestVM); /** diff --git a/src/main/java/com/mindskip/xzs/service/UserService.java b/src/main/java/com/mindskip/xzs/service/UserService.java index c5dd26d..7c77c1a 100644 --- a/src/main/java/com/mindskip/xzs/service/UserService.java +++ b/src/main/java/com/mindskip/xzs/service/UserService.java @@ -6,6 +6,7 @@ import com.mindskip.xzs.domain.User; import com.mindskip.xzs.domain.other.KeyValue; import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM; +import com.mindskip.xzs.viewmodel.admin.user.UserResponseVM; import java.util.List; @@ -76,7 +77,7 @@ * @param requestVM requestVM * @return PageInfo<User> */ - PageInfo<User> userPage(UserPageRequestVM requestVM); + PageInfo<UserResponseVM> userPage(UserPageRequestVM requestVM); /** diff --git a/src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java index 3435fbf..86dfc09 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java @@ -1,17 +1,17 @@ package com.mindskip.xzs.service.impl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.mindskip.xzs.domain.Department; import com.mindskip.xzs.domain.ExamPaper; -import com.mindskip.xzs.domain.other.KeyValue; -import com.mindskip.xzs.domain.vo.UserVO; -import com.mindskip.xzs.exception.BusinessException; import com.mindskip.xzs.domain.User; +import com.mindskip.xzs.domain.other.KeyValue; import com.mindskip.xzs.event.OnRegistrationCompleteEvent; +import com.mindskip.xzs.exception.BusinessException; import com.mindskip.xzs.repository.UserMapper; import com.mindskip.xzs.service.UserService; import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; +import com.mindskip.xzs.viewmodel.admin.user.UserResponseVM; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; @@ -94,7 +94,7 @@ @Override - public PageInfo<User> userPage(UserPageRequestVM requestVM) { + public PageInfo<UserResponseVM> userPage(UserPageRequestVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> userMapper.userPage(requestVM) ); diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java index ca26641..c7e389e 100644 --- a/src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java +++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java @@ -1,7 +1,9 @@ package com.mindskip.xzs.viewmodel.admin.user; import com.mindskip.xzs.domain.User; +import com.mindskip.xzs.domain.enums.DepartmentExamineEnum; import com.mindskip.xzs.domain.enums.UserConditionEnum; +import com.mindskip.xzs.domain.enums.UserConditionExamineEnum; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.viewmodel.BaseVM; @@ -56,6 +58,26 @@ private String password; + private DepartmentExamineEnum departmentExamineResult; + + private UserConditionExamineEnum conditionExamineResult; + + public DepartmentExamineEnum getDepartmentExamineResult() { + return departmentExamineResult; + } + + public void setDepartmentExamineResult(DepartmentExamineEnum departmentExamineResult) { + this.departmentExamineResult = departmentExamineResult; + } + + public UserConditionExamineEnum getConditionExamineResult() { + return conditionExamineResult; + } + + public void setConditionExamineResult(UserConditionExamineEnum conditionExamineResult) { + this.conditionExamineResult = conditionExamineResult; + } + public String getPassword() { return password; } diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index 68d3dfc..7b36ba1 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -329,30 +329,27 @@ </select> - <select id="userPage" resultMap="BaseResultMap" - parameterType="com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM"> + <select id="userPage" resultType="com.mindskip.xzs.viewmodel.admin.user.UserResponseVM" parameterType="com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM"> SELECT - a.* + a.*, + c.result as departmentExamineResult, + d.result as conditionExamineResult FROM t_user a - lEFT join - (select * from t_user_department - <if test="departmentId != null and departmentId.size() > 0"> - where department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> - </if> - group by user_id - ) - b on a.id = b.user_id - where + LEFT JOIN t_user_department b ON a.id = b.user_id + LEFT JOIN t_department_examine c ON a.id = c.user_id AND c.deleted = 0 AND c.result = 0 + LEFT JOIN t_user_condition_examine d ON a.id = d.user_id AND d.deleted = 0 AND d.result = 0 + WHERE a.deleted=0 <if test="departmentId != null and departmentId.size() > 0"> - and b.department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> + AND b.department_id IN <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="userName != null and userName != ''"> - and real_name like concat('%',#{userName},'%') + AND real_name LIKE concat('%',#{userName},'%') </if> <if test="role != null and role.size() > 0"> - and role in <foreach collection="role" item="item" open="(" separator="," close=")"> #{item} </foreach> + AND role IN <foreach collection="role" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> + GROUP BY a.id </select> -- Gitblit v1.8.0