人员完善,删除用户开发中

This commit is contained in:
lhx
2025-11-26 18:04:00 +08:00
parent e7a1fc0149
commit 6c8dccee6e
7 changed files with 158 additions and 14 deletions

View File

@@ -5,10 +5,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import com.dc.dc_project.common.ResponseResult; import com.dc.dc_project.common.ResponseResult;
import com.dc.dc_project.common.aop.DcCheckPermission; import com.dc.dc_project.common.aop.DcCheckPermission;
import com.dc.dc_project.model.dto.user.UpdateUserPasswordDto; import com.dc.dc_project.model.dto.user.*;
import com.dc.dc_project.model.dto.user.UserAddDto;
import com.dc.dc_project.model.dto.user.UserInfoUpdateDto;
import com.dc.dc_project.model.dto.user.UserReqDto;
import com.dc.dc_project.model.pojo.RecordResult; import com.dc.dc_project.model.pojo.RecordResult;
import com.dc.dc_project.model.pojo.User; import com.dc.dc_project.model.pojo.User;
import com.dc.dc_project.service.UserService; import com.dc.dc_project.service.UserService;
@@ -48,11 +45,34 @@ public class UserController {
@PostMapping("/updateInfo") @PostMapping("/updateInfo")
ResponseResult updateInfo(@RequestBody UserInfoUpdateDto userInfoUpdateDto) { ResponseResult updateInfo(@RequestBody UserInfoUpdateDto userInfoUpdateDto) {
return ResponseResult.success(); Long userId = StpUtil.getLoginIdAsLong();
userInfoUpdateDto.setId(userId);
return userService.updateInfo(userInfoUpdateDto);
}
@PostMapping("/updateUserInfo")
@DcCheckPermission("system:user:updateInfo")
ResponseResult updateUserInfo(@RequestBody UserInfoUpdateDto userInfoUpdateDto) {
return userService.updateInfo(userInfoUpdateDto);
} }
@PostMapping("/updatePassword") @PostMapping("/updatePassword")
ResponseResult updatePassword(@RequestBody UpdateUserPasswordDto updateUserPasswordDto) { ResponseResult updatePassword(@RequestBody UpdateUserPasswordDto updateUserPasswordDto) {
return ResponseResult.success(); Long userId = StpUtil.getLoginIdAsLong();
updateUserPasswordDto.setId(userId);
return userService.updatePassword(updateUserPasswordDto);
}
@PostMapping("/resetPassword")
@DcCheckPermission("system:user:resetPassword")
ResponseResult resetPassword(@RequestBody UpdateUserPasswordDto updateUserPasswordDto) {
return userService.resetPassword(updateUserPasswordDto);
}
@PostMapping("/delete")
@DcCheckPermission("system:user:delete")
ResponseResult delete(@RequestBody DaleteUserDto daleteUserDto) {
Long userId = StpUtil.getLoginIdAsLong();
return userService.delete(daleteUserDto, userId);
} }
} }

View File

@@ -0,0 +1,12 @@
package com.dc.dc_project.model.dto.user;
//删除
import lombok.Data;
@Data
public class DaleteUserDto {
private Long[] id;
}

View File

@@ -1,4 +1,13 @@
package com.dc.dc_project.model.dto.user; package com.dc.dc_project.model.dto.user;
import lombok.Data;
@Data
public class UpdateUserPasswordDto { public class UpdateUserPasswordDto {
private Long id;
private String oldPassword;
private String newPassword;
} }

View File

@@ -6,7 +6,7 @@ import lombok.Data;
@Data @Data
public class UserAddDto { public class UserAddDto {
private Long personnel_id; private Long personnelId;
private String username; private String username;

View File

@@ -1,4 +1,18 @@
package com.dc.dc_project.model.dto.user; package com.dc.dc_project.model.dto.user;
import lombok.Data;
@Data
public class UserInfoUpdateDto { public class UserInfoUpdateDto {
private Long id;
private String username;
private String phone;
private Integer status;
private String remark;
} }

View File

@@ -1,9 +1,7 @@
package com.dc.dc_project.service; package com.dc.dc_project.service;
import com.dc.dc_project.common.ResponseResult; import com.dc.dc_project.common.ResponseResult;
import com.dc.dc_project.model.dto.user.LoginDto; import com.dc.dc_project.model.dto.user.*;
import com.dc.dc_project.model.dto.user.UserAddDto;
import com.dc.dc_project.model.dto.user.UserReqDto;
import com.dc.dc_project.model.pojo.RecordResult; import com.dc.dc_project.model.pojo.RecordResult;
import com.dc.dc_project.model.pojo.User; import com.dc.dc_project.model.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@@ -44,4 +42,33 @@ public interface UserService extends IService<User> {
* @param user * @param user
*/ */
ResponseResult save(UserAddDto user); ResponseResult save(UserAddDto user);
/**
* 更新用户信息
* @param userInfoUpdateDto
* @return
*/
ResponseResult updateInfo(UserInfoUpdateDto userInfoUpdateDto);
/**
* 更新用户密码
* @param updateUserPasswordDto
* @return
*/
ResponseResult updatePassword(UpdateUserPasswordDto updateUserPasswordDto);
/**
* 重置用户密码
* @param updateUserPasswordDto
* @return
*/
ResponseResult resetPassword(UpdateUserPasswordDto updateUserPasswordDto);
/**
* 删除用户
* @param daleteUserDto
* @param userId
* @return
*/
ResponseResult delete(DaleteUserDto daleteUserDto, Long userId);
} }

View File

@@ -9,9 +9,7 @@ import com.dc.dc_project.common.ResultCode;
import com.dc.dc_project.enums.DataScopeType; import com.dc.dc_project.enums.DataScopeType;
import com.dc.dc_project.enums.IsDeleted; import com.dc.dc_project.enums.IsDeleted;
import com.dc.dc_project.mapper.*; import com.dc.dc_project.mapper.*;
import com.dc.dc_project.model.dto.user.LoginDto; import com.dc.dc_project.model.dto.user.*;
import com.dc.dc_project.model.dto.user.UserAddDto;
import com.dc.dc_project.model.dto.user.UserReqDto;
import com.dc.dc_project.model.pojo.*; import com.dc.dc_project.model.pojo.*;
import com.dc.dc_project.model.vo.PersonnelVo; import com.dc.dc_project.model.vo.PersonnelVo;
import com.dc.dc_project.model.vo.PositionVo; import com.dc.dc_project.model.vo.PositionVo;
@@ -26,9 +24,11 @@ import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -43,6 +43,7 @@ import static com.dc.dc_project.model.vo.PersonnelVo.toVo;
@Service @Service
@Slf4j @Slf4j
@RequiredArgsConstructor(onConstructor_ = @Autowired) @RequiredArgsConstructor(onConstructor_ = @Autowired)
@Transactional
public class UserServiceImpl extends ServiceImpl<UserMapper, User> public class UserServiceImpl extends ServiceImpl<UserMapper, User>
implements UserService{ implements UserService{
@@ -152,6 +153,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
@Override @Override
public ResponseResult save(UserAddDto userDto) { public ResponseResult save(UserAddDto userDto) {
Personnel personnel = personnelService.getById(userDto.getPersonnelId());
if(personnel.getUserId() != null){
return ResponseResult.error("已存在用户账号");
}
if(userDto.getPassword() == null){
userDto.setPassword(userDto.getPhone());
}
User user = new User(); User user = new User();
user.setUsername(userDto.getUsername()); user.setUsername(userDto.getUsername());
user.setPassword(userDto.getPassword()); user.setPassword(userDto.getPassword());
@@ -159,7 +167,61 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
user.setStatus(1); user.setStatus(1);
user.setCreatedAt(LocalDateTime.now()); user.setCreatedAt(LocalDateTime.now());
user.setUpdatedAt(LocalDateTime.now()); user.setUpdatedAt(LocalDateTime.now());
return this.save(user) ? ResponseResult.success() : ResponseResult.error(); if (this.save(user)){
personnel.setUserId(user.getId());
return personnelService.updateById(personnel) ? ResponseResult.success() : ResponseResult.error();
}
return ResponseResult.error();
}
@Override
public ResponseResult updateInfo(UserInfoUpdateDto userInfoUpdateDto) {
User oleUser = this.getById(userInfoUpdateDto.getId());
if(oleUser == null){
return ResponseResult.error(ResultCode.ERROR_USER_NOT_EXIST);
}
oleUser.setUsername(userInfoUpdateDto.getUsername() == null ? oleUser.getUsername() : userInfoUpdateDto.getUsername());
oleUser.setPhone(userInfoUpdateDto.getPhone() == null ? oleUser.getPhone() : userInfoUpdateDto.getPhone());
oleUser.setRemark(userInfoUpdateDto.getRemark() == null ? oleUser.getRemark() : userInfoUpdateDto.getRemark());
oleUser.setStatus(userInfoUpdateDto.getStatus() == null ? oleUser.getStatus() : userInfoUpdateDto.getStatus());
return this.updateById(oleUser) ? ResponseResult.success() : ResponseResult.error();
}
@Override
public ResponseResult updatePassword(UpdateUserPasswordDto updateUserPasswordDto) {
User user = this.getById(updateUserPasswordDto.getId());
if(user == null){
return ResponseResult.error(ResultCode.ERROR_USER_NOT_EXIST);
}
user.setPassword(updateUserPasswordDto.getNewPassword());
return this.updateById(user) ? ResponseResult.success() : ResponseResult.error();
}
@Override
public ResponseResult resetPassword(UpdateUserPasswordDto updateUserPasswordDto) {
User user = this.getById(updateUserPasswordDto.getId());
if(user == null){
return ResponseResult.error(ResultCode.ERROR_USER_NOT_EXIST);
}
user.setPassword(user.getPhone());
return this.updateById(user) ? ResponseResult.success() : ResponseResult.error();
}
@Override
public ResponseResult delete(DaleteUserDto daleteUserDto, Long userId) {
//权限范围检验
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
.in(User::getId, (Object) daleteUserDto.getId())
.eq(User::getIsDeleted, 0);
List<User> users = this.list(queryWrapper);
for (User user : users){
user.setIsDeleted(1);
}
return this.updateBatchById(users) ? ResponseResult.success() : ResponseResult.error();
} }
} }