diff --git a/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java b/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java index d79ef7f..b80516f 100644 --- a/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java +++ b/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java @@ -28,14 +28,16 @@ class AuthenticationController { @PostMapping("/register") public ResponseEntity register(@RequestBody RegisterRequest request) { try { - boolean isRegistered = userService.registerUser(request.getUsername(), request.getPassword(), request.getContactInfo()); + boolean isRegistered = userService.registerUser(request); if (isRegistered) { return new ResponseEntity<>(new RegisterResponse("注册成功"), HttpStatus.OK); } else { return new ResponseEntity<>(new RegisterResponse("注册失败:用户已存在"), HttpStatus.BAD_REQUEST); } - } catch (Exception e) { + } catch (IllegalArgumentException e) { return new ResponseEntity<>(new RegisterResponse("注册失败:输入格式有误"), HttpStatus.BAD_REQUEST); + } catch (Exception e) { + return new ResponseEntity<>(new RegisterResponse("注册失败:服务器错误"), HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/java/org/cmh/backend/authentication/dto/RegisterRequest.java b/src/main/java/org/cmh/backend/authentication/dto/RegisterRequest.java index f0eb627..055a88d 100644 --- a/src/main/java/org/cmh/backend/authentication/dto/RegisterRequest.java +++ b/src/main/java/org/cmh/backend/authentication/dto/RegisterRequest.java @@ -8,5 +8,6 @@ import lombok.Setter; public class RegisterRequest { private String username; private String password; - private String contactInfo; + private String phoneNumber; + private String verificationCode; } diff --git a/src/main/java/org/cmh/backend/authentication/service/UserService.java b/src/main/java/org/cmh/backend/authentication/service/UserService.java index bcb93c9..fda693a 100644 --- a/src/main/java/org/cmh/backend/authentication/service/UserService.java +++ b/src/main/java/org/cmh/backend/authentication/service/UserService.java @@ -2,6 +2,7 @@ package org.cmh.backend.authentication.service; import org.cmh.backend.authentication.dto.ChangePasswordRequest; import org.cmh.backend.authentication.dto.ManageUserProfileRequest; +import org.cmh.backend.authentication.dto.RegisterRequest; import org.cmh.backend.authentication.model.UserHS; import org.cmh.backend.authentication.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -23,14 +24,17 @@ public class UserService { return userRepository.findByUsername(username); } - public boolean registerUser(String username, String password, String contactInfo) { + public boolean registerUser(RegisterRequest request) { + String username = request.getUsername(); + String password = request.getPassword(); + String phoneNumber = request.getPhoneNumber(); // 验证用户名是否已存在 if (userRepository.findByUsername(username) != null) { return false; // 用户已存在 } // 验证输入格式 - if (!isValidUsername(username) || !isValidPassword(password) || !isValidContactInfo(contactInfo)) { + if (!isValidUsername(username) || !isValidPassword(password) || !isValidContactInfo(phoneNumber)) { throw new IllegalArgumentException(); } @@ -41,15 +45,10 @@ public class UserService { UserHS newUser = new UserHS(); newUser.setUsername(username); newUser.setPassword(encodedPassword); - newUser.setPhoneNumber(contactInfo); // 假设contactInfo是电话号码 + newUser.setPhoneNumber(phoneNumber); newUser.setCreatedAt(LocalDateTime.now()); - try { - userRepository.save(newUser); - } catch (Exception e) { - // 处理保存用户时可能出现的异常 - return false; - } + userRepository.save(newUser); return true; }