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