龚焕茏
2024-05-27 28fe781cf67b1afe29ee069a42b118a2abe6db05
feat:审核后才能重新发起用户调动
6个文件已修改
71 ■■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/UserController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/UserMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/UserService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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<>();
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);
    /**
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);
    /**
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)
        );
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;
    }
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>