龚焕茏
2024-05-07 6ac6b6f92dc4d0212c423d2f88d33f8b96558ca5
新增人员状态、状态描述展示、设置操作
8个文件已修改
1个文件已添加
112 ■■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/UserController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/User.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/vo/UserVO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/UserMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/UserService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/UserController.java
@@ -230,4 +230,10 @@
        return RestResponse.ok();
    }
    @RequestMapping(value = "/setStatus", method = RequestMethod.POST)
    public RestResponse<String> setStatus(@RequestBody UserVO user) {
        userService.setStatus(user);
        return RestResponse.ok("操作成功");
    }
}
src/main/java/com/mindskip/xzs/domain/User.java
@@ -1,5 +1,6 @@
package com.mindskip.xzs.domain;
import com.mindskip.xzs.domain.enums.UserConditionEnum;
import lombok.Data;
import java.io.Serializable;
@@ -78,4 +79,8 @@
     * 是否部门管理员
     */
    private String deptAdmin;
    private UserConditionEnum condition;
    private String conditionDetail;
}
src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java
New file
@@ -0,0 +1,32 @@
package com.mindskip.xzs.domain.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
/**
 * 用户状态
 *
 * @author gonghl
 */
@Getter
public enum UserConditionEnum {
    SICK("1", "病假"),
    BUSINESS_TRIP("2", "出差"),
    OTHER("3", "其他"),
    ;
    @EnumValue // 标明该字段存入数据库
    private final String code;
    @JsonValue // 标明在转JSON时使用该字段,即响应时
    private final String desc;
    UserConditionEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }
}
src/main/java/com/mindskip/xzs/domain/vo/UserVO.java
@@ -1,5 +1,7 @@
package com.mindskip.xzs.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mindskip.xzs.domain.enums.UserConditionEnum;
import com.mindskip.xzs.utility.excel.ExcelImport;
import java.io.Serializable;
@@ -36,6 +38,7 @@
     */
    private Integer sex;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date birthDay;
    /**
@@ -63,10 +66,13 @@
     */
    private String imagePath;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastActiveTime;
    /**
@@ -79,6 +85,26 @@
     */
    private String wxOpenId;
    private UserConditionEnum condition;
    private String conditionDetail;
    public String getConditionDetail() {
        return conditionDetail;
    }
    public void setConditionDetail(String conditionDetail) {
        this.conditionDetail = conditionDetail;
    }
    public UserConditionEnum getCondition() {
        return condition;
    }
    public void setCondition(UserConditionEnum condition) {
        this.condition = condition;
    }
    public Integer getId() {
        return id;
    }
src/main/java/com/mindskip/xzs/repository/UserMapper.java
@@ -148,4 +148,6 @@
    List<ExamPaperAnswer> getUserByDept(@Param("query") ExamPaperGradeQuery query);
    void setStatus(UserVO user);
}
src/main/java/com/mindskip/xzs/service/UserService.java
@@ -2,6 +2,7 @@
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
@@ -132,4 +133,6 @@
    List<User> getUserByLevel(Integer userLevel);
    User getUserByRealName(String realName);
    void setStatus(UserVO user);
}
src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java
@@ -1,6 +1,7 @@
package com.mindskip.xzs.service.impl;
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.event.OnRegistrationCompleteEvent;
@@ -171,4 +172,10 @@
    public User getUserByRealName(String realName) {
        return userMapper.getUserByRealName(realName);
    }
    @Override
    public void setStatus(UserVO user) {
        userMapper.setStatus(user);
    }
}
src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java
@@ -1,6 +1,7 @@
package com.mindskip.xzs.viewmodel.admin.user;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.enums.UserConditionEnum;
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.viewmodel.BaseVM;
@@ -47,6 +48,18 @@
    private List<String> tagNames;
    private UserConditionEnum condition;
    private String conditionDetail;
    public String getConditionDetail() {
        return conditionDetail;
    }
    public void setConditionDetail(String conditionDetail) {
        this.conditionDetail = conditionDetail;
    }
    public static UserResponseVM from(User user) {
        UserResponseVM vm = modelMapper.map(user, UserResponseVM.class);
        vm.setBirthDay(DateTimeUtil.dateFormat(user.getBirthDay()));
@@ -56,6 +69,14 @@
        return vm;
    }
    public UserConditionEnum getCondition() {
        return condition;
    }
    public void setCondition(UserConditionEnum condition) {
        this.condition = condition;
    }
    public Integer getId() {
        return id;
    }
src/main/resources/mapper/UserMapper.xml
@@ -23,7 +23,7 @@
  </resultMap>
  <sql id="Base_Column_List">
    id, user_uuid, user_name, password, real_name, age, sex, birth_day, user_level, phone,
    role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id, dept_admin
    role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id, dept_admin, `condition`, condition_detail
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select
@@ -444,6 +444,14 @@
    UPDATE t_user SET dept_admin = #{deptAdmin} WHERE id = #{id} AND deleted = 0
  </update>
  <update id="setStatus">
    UPDATE t_user
    SET `condition`        = #{condition},
        `condition_detail` = #{conditionDetail}
    WHERE id = #{id}
    AND deleted = 0
  </update>
  <select id="getUserByDept" resultType="com.mindskip.xzs.domain.ExamPaperAnswer">
    SELECT
        tu.id as createUser, tu.real_name as userName, count(tepa.id) as counts