Revert "-移除user的identification, 同步修改registerApi"
This reverts commit 93a105a620b00128880424ceb857074489cc9c1a.
Reason for revert: mapper文件未修改
Change-Id: I0807ebc414508cda4dbc0893975e356923979f8d
diff --git a/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java b/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
index e60b1d5..1cc2086 100644
--- a/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
+++ b/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
@@ -15,4 +15,5 @@
public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}
+
}
diff --git a/src/main/java/edu/bjtu/groupone/backend/api/UserController.java b/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
index d5c6775..1e2746f 100644
--- a/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
+++ b/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
@@ -85,7 +85,7 @@
*/
@Operation(
summary = "用户注册",
- description = "注册新用户,必须提供用户名、邮箱、验证码、密码",
+ description = "注册新用户,必须提供用户名、邮箱、验证码、密码和身份证号码",
responses = {
@ApiResponse(
responseCode = "200",
@@ -116,6 +116,7 @@
String email = request.getEmail();
String code = request.getVerificationCode();
String pwd = request.getPassword();
+ String idNumStr = request.getIdentificationNumber();
// 验证验证码
if (!userService.verifyCode(email, code)) {
@@ -133,11 +134,19 @@
return Result.error("用户名已被占用");
}
+ // 验证身份证号码
+ int idNum = Integer.parseInt(idNumStr);
+ if (userService.isIdentificationNumberExists(idNum)) {
+ return Result.error("身份证号码已被注册");
+ }
+
// 创建新用户
User newUser = new User();
newUser.setUsername(username);
newUser.setEmail(email);
newUser.setPassword(pwd);
+ newUser.setIdentificationNumber(idNum);
+
userService.register(newUser);
return Result.success("注册成功");
}
diff --git a/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java b/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
index 3e6d2cb..fd4cc5a 100644
--- a/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
+++ b/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
@@ -28,4 +28,10 @@
@Size(min = 6, message = "密码长度至少为6位")
@Schema(description = "用户密码", required = true, example = "password123")
private String password;
+
+ @NotNull(message = "身份证号码不能为空")
+ @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X|x)$",
+ message = "请输入有效的身份证号码")
+ @Schema(description = "用户身份证号码", required = true, example = "110101199001011234")
+ private String identificationNumber;
}
\ No newline at end of file
diff --git a/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java b/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
index 6db1f7f..2e4ddef 100644
--- a/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
+++ b/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
@@ -17,6 +17,7 @@
private String role;
private String profilePic;
private String registrationDate;
+ private int identificationNumber;
private String avatar;// 头像
private boolean isfollowed = false;
}