注册功能实现
This commit is contained in:
parent
be99853779
commit
374c549686
@ -56,9 +56,6 @@ public class AuthController {
|
||||
return authService.register(registerDTO);
|
||||
}
|
||||
|
||||
// 存储已发送的验证码
|
||||
private final Map<String, String> emailCodeMap = new ConcurrentHashMap<>(16);
|
||||
|
||||
/**
|
||||
* 发送验证码
|
||||
* @param registerDTO
|
||||
|
@ -25,35 +25,4 @@ public class LoginDTO {
|
||||
|
||||
private String token;
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
public void setToken(String token) {
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
}
|
||||
|
@ -27,43 +27,4 @@ public class RegisterDTO {
|
||||
|
||||
private String token;
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
public void setToken(String token) {
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,16 @@
|
||||
package com.yunan.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 用户实体类
|
||||
*/
|
||||
@Data
|
||||
public class Users implements Serializable {
|
||||
private Integer id;
|
||||
private long id;
|
||||
/** 用户名*/
|
||||
private String username;
|
||||
/** 密码*/
|
||||
@ -14,7 +18,7 @@ public class Users implements Serializable {
|
||||
/** 邮箱*/
|
||||
private String email;
|
||||
/** 创建用户信息时间 */
|
||||
private String createdTime;
|
||||
private Date createdTime;
|
||||
/** 修改用户信息时间 */
|
||||
private String updatedTime;
|
||||
/** 用户状态*/
|
||||
@ -31,60 +35,4 @@ public class Users implements Serializable {
|
||||
", state=" + state +
|
||||
'}';
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public String getCreated_Time() {
|
||||
return createdTime;
|
||||
}
|
||||
|
||||
public void setCreated_Time(String create_Time) {
|
||||
this.createdTime = create_Time;
|
||||
}
|
||||
|
||||
public String getUpdated_Time() {
|
||||
return updatedTime;
|
||||
}
|
||||
|
||||
public void setUpdated_Time(String update_Time) {
|
||||
this.updatedTime = update_Time;
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class RedisExpireTask {
|
||||
private final long time = 300000; //五分钟
|
||||
private final long time = 3600000; //一小时
|
||||
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
|
@ -14,6 +14,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.Random;
|
||||
|
||||
|
||||
@Service
|
||||
@ -36,14 +38,20 @@ public class AuthServiceImpl implements AuthService {
|
||||
if(authMapper.selectOne(queryWrapper) != null) {
|
||||
return ResponseEntity
|
||||
.status(HttpStatus.CONFLICT)
|
||||
.body(new ErrorResponse("用户名已存在!!!"));
|
||||
.body(new ErrorResponse("用户已存在!!!"));
|
||||
}
|
||||
//为用户创建默认用户名
|
||||
String userName = createUserName();
|
||||
Users user = new Users();
|
||||
user.setUsername(registerDTO.getUsername());
|
||||
//设置账号创建时间
|
||||
Date currentDate = new Date();
|
||||
user.setCreatedTime(currentDate);
|
||||
user.setUsername(userName);
|
||||
user.setPassword(registerDTO.getPassword());
|
||||
user.setEmail(registerDTO.getEmail());
|
||||
// boolean isSaved = authMapper.insert(user) > 0;
|
||||
boolean isSaved = true;
|
||||
//状态设置 " 1 " 正常账号
|
||||
user.setState(1);
|
||||
boolean isSaved = authMapper.insert(user) > 0;
|
||||
if (isSaved) {
|
||||
return ResponseEntity
|
||||
.status(HttpStatus.OK)
|
||||
@ -61,5 +69,23 @@ public class AuthServiceImpl implements AuthService {
|
||||
}
|
||||
|
||||
}
|
||||
//随机生成用户名算法
|
||||
public String createUserName() {
|
||||
// 字符集,包括小写字母和数字
|
||||
String chars = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
StringBuilder randomPart = new StringBuilder();
|
||||
|
||||
// 随机生成6位字符
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < 6; i++) {
|
||||
randomPart.append(chars.charAt(random.nextInt(chars.length())));
|
||||
}
|
||||
|
||||
// 获取当前时间戳(秒级)
|
||||
long timestamp = System.currentTimeMillis() / 1000;
|
||||
|
||||
// 拼接生成用户名,例如 "user_xxx123_1638326400"
|
||||
return "user_" + randomPart.toString() + "_" + timestamp;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class EmailServiceImpl implements EmailService {
|
||||
// 发送邮件
|
||||
mailSender.send(message);
|
||||
|
||||
redisUtils.hPutWithExpire("rightCode", email, code, 5, TimeUnit.SECONDS);
|
||||
redisUtils.hPutWithExpire("rightCode", email, code, 5, TimeUnit.MINUTES);
|
||||
return new ApiResponse<>(ResponseCode.SUCCESS, "验证码已发送");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user