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