用户删除和锁定

This commit is contained in:
176yunxuan 2024-01-15 18:22:10 +08:00
parent 778218e213
commit e6d88afd79
7 changed files with 136 additions and 3 deletions

View File

@ -1,8 +1,11 @@
package com.jsl.oa.controllers; 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.UserLoginVO;
import com.jsl.oa.model.voData.UserRegisterVO; import com.jsl.oa.model.voData.UserRegisterVO;
import com.jsl.oa.services.AuthService; import com.jsl.oa.services.AuthService;
import com.jsl.oa.services.UserService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.Processing;
@ -10,13 +13,44 @@ import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException; import java.text.ParseException;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserController { 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);
}
} }

View File

@ -2,6 +2,8 @@ package com.jsl.oa.dao;
import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.mapper.UserMapper;
import com.jsl.oa.model.doData.UserDO; 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 lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -21,4 +23,25 @@ public class UserDAO {
} }
return userDO; 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);
}
} }

View File

@ -1,10 +1,13 @@
package com.jsl.oa.mapper; package com.jsl.oa.mapper;
import com.jsl.oa.model.doData.UserDO; 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 com.jsl.oa.model.voData.UserLoginVO;
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
@Mapper @Mapper
public interface UserMapper { public interface UserMapper {
@ -25,4 +28,13 @@ public interface UserMapper {
@Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}") @Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}")
UserDO login(UserLoginVO userLoginVO); 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);
} }

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,6 +1,9 @@
package com.jsl.oa.services; package com.jsl.oa.services;
import com.jsl.oa.model.doData.UserDO; 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;
/** /**
* <h1>用户控制器接口</h1> * <h1>用户控制器接口</h1>
@ -22,4 +25,18 @@ public interface UserService {
* @return 用户信息 * @return 用户信息
*/ */
UserDO getUserInfoByUsername(String username); UserDO getUserInfoByUsername(String username);
/**
* 用户账号删除
* @param userDeleteVO
* @return
*/
BaseResponse userDelete(UserDeleteVO userDeleteVO);
/**
* 用户账号锁定
* @param userLockVO
* @return
*/
BaseResponse userLock(UserLockVO userLockVO);
} }

View File

@ -2,7 +2,12 @@ package com.jsl.oa.services.impl;
import com.jsl.oa.dao.UserDAO; import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.model.doData.UserDO; 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.services.UserService; import com.jsl.oa.services.UserService;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -16,4 +21,22 @@ public class UserServiceImpl implements UserService {
public UserDO getUserInfoByUsername(String username) { public UserDO getUserInfoByUsername(String username) {
return userDAO.getUserInfoByUsername(username); return userDAO.getUserInfoByUsername(username);
} }
@Override
public BaseResponse userDelete(UserDeleteVO userDeleteVO) {
//判断用户是否存在
if(userDAO.isExistUser(userDeleteVO.getId())){
userDAO.userDelete(userDeleteVO);
return ResultUtil.success("删除成功");
}else return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
}
@Override
public BaseResponse userLock(UserLockVO userLockVO) {
//判断用户是否存在
if(userDAO.isExistUser(userLockVO.getId())){
userDAO.userLock(userLockVO);
return ResultUtil.success("锁定成功");
}else return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
}
} }