From 6ac6b6f92dc4d0212c423d2f88d33f8b96558ca5 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 07 五月 2024 11:55:35 +0800 Subject: [PATCH] 新增人员状态、状态描述展示、设置操作 --- src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java | 7 +++ src/main/java/com/mindskip/xzs/domain/User.java | 5 ++ src/main/java/com/mindskip/xzs/controller/admin/UserController.java | 6 +++ src/main/java/com/mindskip/xzs/domain/vo/UserVO.java | 26 +++++++++++++ src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java | 32 ++++++++++++++++ src/main/java/com/mindskip/xzs/viewmodel/admin/user/UserResponseVM.java | 21 ++++++++++ src/main/java/com/mindskip/xzs/repository/UserMapper.java | 2 + src/main/java/com/mindskip/xzs/service/UserService.java | 3 + src/main/resources/mapper/UserMapper.xml | 10 ++++ 9 files changed, 111 insertions(+), 1 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 a76d70a..416c421 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/UserController.java +++ b/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("鎿嶄綔鎴愬姛"); + } + } diff --git a/src/main/java/com/mindskip/xzs/domain/User.java b/src/main/java/com/mindskip/xzs/domain/User.java index 6f1628a..549a0a2 100644 --- a/src/main/java/com/mindskip/xzs/domain/User.java +++ b/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; } diff --git a/src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java b/src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java new file mode 100644 index 0000000..fdcaf01 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/domain/enums/UserConditionEnum.java @@ -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; + } + +} diff --git a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java b/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java index 5d1d64e..2bd26f4 100644 --- a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java +++ b/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; } diff --git a/src/main/java/com/mindskip/xzs/repository/UserMapper.java b/src/main/java/com/mindskip/xzs/repository/UserMapper.java index d0e9942..a025abe 100644 --- a/src/main/java/com/mindskip/xzs/repository/UserMapper.java +++ b/src/main/java/com/mindskip/xzs/repository/UserMapper.java @@ -148,4 +148,6 @@ List<ExamPaperAnswer> getUserByDept(@Param("query") ExamPaperGradeQuery query); + + void setStatus(UserVO user); } diff --git a/src/main/java/com/mindskip/xzs/service/UserService.java b/src/main/java/com/mindskip/xzs/service/UserService.java index 51b3713..ab61ec6 100644 --- a/src/main/java/com/mindskip/xzs/service/UserService.java +++ b/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); } 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 a4b132e..b7c4452 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java +++ b/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); + } + } 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 6e8095d..0f889a7 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,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; } diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index bd9950c..c0242e5 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/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 -- Gitblit v1.8.0