From cdc1cefd857517af68a960c045bcd977572962ad Mon Sep 17 00:00:00 2001 From: heshunme Date: Fri, 5 Jul 2024 23:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86addUser=E5=92=8Cdele?= =?UTF-8?q?teUser=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/UserRepository.java | 2 ++ .../authentication/service/UserService.java | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java b/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java index c313cb8..d493dce 100644 --- a/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java +++ b/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java @@ -5,4 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository { UserHS findByUsername(String username); + + boolean deleteByUsername(String username); } 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 fda693a..10d194b 100644 --- a/src/main/java/org/cmh/backend/authentication/service/UserService.java +++ b/src/main/java/org/cmh/backend/authentication/service/UserService.java @@ -53,6 +53,32 @@ public class UserService { return true; } + public boolean addUser(UserHS user) { + String username = user.getUsername(); + String password = user.getPassword(); + String phoneNumber = user.getPhoneNumber(); + // 验证用户名是否已存在 + if (userRepository.findByUsername(username) != null) { + return false; // 用户已存在 + } + + // 验证输入格式 + if (!isValidUsername(username) || !isValidPassword(password) || !isValidContactInfo(phoneNumber)) { + throw new IllegalArgumentException(); + } + + // 加密密码 + String encodedPassword = passwordEncoder.encode(password); + user.setPassword(encodedPassword); + + userRepository.save(user); + return true; + } + + public boolean deleteUser(String username){ + return userRepository.deleteByUsername(username); + } + public boolean loginUser(String username, String password) { UserHS user = userRepository.findByUsername(username); return user != null && passwordEncoder.matches(password, user.getPassword());