From e6d88afd7977c897e9e4e25d696836f6fe8e4fcd Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Mon, 15 Jan 2024 18:22:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=A0=E9=99=A4=E5=92=8C?= =?UTF-8?q?=E9=94=81=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/UserController.java | 40 +++++++++++++++++-- src/main/java/com/jsl/oa/dao/UserDAO.java | 23 +++++++++++ .../java/com/jsl/oa/mapper/UserMapper.java | 12 ++++++ .../com/jsl/oa/model/voData/UserDeleteVO.java | 12 ++++++ .../com/jsl/oa/model/voData/UserLockVO.java | 12 ++++++ .../java/com/jsl/oa/services/UserService.java | 17 ++++++++ .../jsl/oa/services/impl/UserServiceImpl.java | 23 +++++++++++ 7 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/voData/UserDeleteVO.java create mode 100644 src/main/java/com/jsl/oa/model/voData/UserLockVO.java diff --git a/src/main/java/com/jsl/oa/controllers/UserController.java b/src/main/java/com/jsl/oa/controllers/UserController.java index 17bcbbb..c4331e2 100644 --- a/src/main/java/com/jsl/oa/controllers/UserController.java +++ b/src/main/java/com/jsl/oa/controllers/UserController.java @@ -1,8 +1,11 @@ package com.jsl.oa.controllers; +import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserLockVO; import com.jsl.oa.model.voData.UserLoginVO; import com.jsl.oa.model.voData.UserRegisterVO; import com.jsl.oa.services.AuthService; +import com.jsl.oa.services.UserService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.Processing; @@ -10,13 +13,44 @@ import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.text.ParseException; @RestController @RequiredArgsConstructor public class UserController { + private final UserService userService; + + /** + * 用户账号删除 + * @param userDeleteVO + * @param bindingResult + * @return + */ + @PutMapping("/user/delete") + public BaseResponse userDelete(@RequestBody @Validated UserDeleteVO userDeleteVO, BindingResult bindingResult){ + // 判断是否有参数错误 + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); + } + return userService.userDelete(userDeleteVO); + } + + /** + * 用户账号锁定 + * @param userLockVO + * @param bindingResult + * @return + */ + @PutMapping("/user/lock") + public BaseResponse userLock(@RequestBody @Validated UserLockVO userLockVO, BindingResult bindingResult){ + // 判断是否有参数错误 + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); + } + return userService.userLock(userLockVO); + } + + } diff --git a/src/main/java/com/jsl/oa/dao/UserDAO.java b/src/main/java/com/jsl/oa/dao/UserDAO.java index 9ac1bd7..4c0357f 100644 --- a/src/main/java/com/jsl/oa/dao/UserDAO.java +++ b/src/main/java/com/jsl/oa/dao/UserDAO.java @@ -2,6 +2,8 @@ package com.jsl.oa.dao; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.doData.UserDO; +import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserLockVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -21,4 +23,25 @@ public class UserDAO { } return userDO; } + + public Boolean isExistUser(Long id){ + if(userMapper.getUserById(id)==null) { + return false; + }else return true; + } + /** + * 用户账号删除 + * @param userDeleteVO + */ + public void userDelete(UserDeleteVO userDeleteVO) { + userMapper.userDelete(userDeleteVO); + } + + /** + * 用户账号锁定 + * @param userLockVO + */ + public void userLock(UserLockVO userLockVO) { + userMapper.userLock(userLockVO); + } } diff --git a/src/main/java/com/jsl/oa/mapper/UserMapper.java b/src/main/java/com/jsl/oa/mapper/UserMapper.java index a7d1bd6..da5c88d 100644 --- a/src/main/java/com/jsl/oa/mapper/UserMapper.java +++ b/src/main/java/com/jsl/oa/mapper/UserMapper.java @@ -1,10 +1,13 @@ package com.jsl.oa.mapper; import com.jsl.oa.model.doData.UserDO; +import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserLockVO; import com.jsl.oa.model.voData.UserLoginVO; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; @Mapper public interface UserMapper { @@ -25,4 +28,13 @@ public interface UserMapper { @Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}") UserDO login(UserLoginVO userLoginVO); + + @Update("update organize_oa.oa_user set enabled = 0 where id = #{id} ") + void userDelete(UserDeleteVO userDeleteVO); + + @Update("update organize_oa.oa_user set account_no_locked = 1 where id = #{id} ") + void userLock(UserLockVO userLockVO); + + @Select("select * from organize_oa.oa_user where id = #{id}") + UserDO getUserById(Long id); } diff --git a/src/main/java/com/jsl/oa/model/voData/UserDeleteVO.java b/src/main/java/com/jsl/oa/model/voData/UserDeleteVO.java new file mode 100644 index 0000000..06bb186 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/voData/UserDeleteVO.java @@ -0,0 +1,12 @@ +package com.jsl.oa.model.voData; + + +import lombok.Getter; + +import javax.validation.constraints.NotNull; + +@Getter +public class UserDeleteVO { + @NotNull(message = "id不能为空") + private Long id; +} diff --git a/src/main/java/com/jsl/oa/model/voData/UserLockVO.java b/src/main/java/com/jsl/oa/model/voData/UserLockVO.java new file mode 100644 index 0000000..f3cd79a --- /dev/null +++ b/src/main/java/com/jsl/oa/model/voData/UserLockVO.java @@ -0,0 +1,12 @@ +package com.jsl.oa.model.voData; + +import lombok.Getter; + +import javax.validation.constraints.NotNull; + +@Getter +public class UserLockVO { + @NotNull(message = "id不能为空") + private Long id; + +} diff --git a/src/main/java/com/jsl/oa/services/UserService.java b/src/main/java/com/jsl/oa/services/UserService.java index d0ebeb9..ec36a61 100644 --- a/src/main/java/com/jsl/oa/services/UserService.java +++ b/src/main/java/com/jsl/oa/services/UserService.java @@ -1,6 +1,9 @@ package com.jsl.oa.services; import com.jsl.oa.model.doData.UserDO; +import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserLockVO; +import com.jsl.oa.utils.BaseResponse; /** *