From 9c46495d40a0b73a58dddd40c36d80685d143c42 Mon Sep 17 00:00:00 2001 From: heshunme Date: Mon, 1 Jul 2024 20:38:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E7=9A=84=E5=AD=97=E6=AE=B5=E5=92=8C=E6=95=B0=E6=8D=AE=E4=BC=A0?= =?UTF-8?q?=E9=80=92=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AuthenticationController.java | 6 ++++-- .../authentication/dto/RegisterRequest.java | 3 ++- .../authentication/service/UserService.java | 17 ++++++++--------- 3 files changed, 14 insertions(+), 12 deletions(-) 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; }