修复用户注册没有加密密码的问题

This commit is contained in:
dengqichen 2025-11-01 11:47:10 +08:00
parent 9900602244
commit 7a94515e88

View File

@ -62,6 +62,20 @@ public class UserServiceImpl extends BaseServiceImpl<User, UserDTO, UserQuery, L
@Resource
private IDepartmentRepository departmentRepository;
@Override
@Transactional
public UserDTO create(UserDTO dto) {
// 加密密码
if (dto.getPassword() != null && !dto.getPassword().isEmpty()) {
dto.setPassword(PasswordGenerator.encode(dto.getPassword()));
} else {
// 如果没有密码生成默认密码 123456
dto.setPassword(PasswordGenerator.encode("123456"));
log.info("用户 {} 未设置密码,使用默认密码: 123456", dto.getUsername());
}
return super.create(dto);
}
@Override
@Transactional(readOnly = false)
@Audited(action = "REGISTER", detail = "用户注册")
@ -78,6 +92,10 @@ public class UserServiceImpl extends BaseServiceImpl<User, UserDTO, UserQuery, L
userDTO.setEmail(request.getEmail());
userDTO.setNickname(request.getNickname());
userDTO.setPhone(request.getPhone());
// 设置密码如果请求中有密码
if (request.getPassword() != null && !request.getPassword().isEmpty()) {
userDTO.setPassword(request.getPassword());
}
return create(userDTO);
}