diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs index 96b30f9..f897a7f 100644 --- a/.settings/org.eclipse.m2e.core.prefs +++ b/.settings/org.eclipse.m2e.core.prefs @@ -1,4 +1,4 @@ -activeProfiles=pom.xml +activeProfiles= eclipse.preferences.version=1 resolveWorkspaceProjects=true version=1 diff --git a/src/main/java/co/jp/app/common/ResultCode.java b/src/main/java/co/jp/app/common/ResultCode.java index 41946e0..4c2dcf3 100644 --- a/src/main/java/co/jp/app/common/ResultCode.java +++ b/src/main/java/co/jp/app/common/ResultCode.java @@ -28,7 +28,7 @@ public enum ResultCode { // 注册相关 // USER_REGISTRATION_SUCCESS(3000, "用户注册成功"), USER_EMAIL_ALREADY_EXISTS(3001, "Email already exists"), - // USER_USERNAME_ALREADY_EXISTS(3002, "Username"), + USER_USERNAME_ALREADY_EXISTS(3002, "Username"), USER_PASSWORD_TOO_SHORT(3003, "password too short"), USER_PASSWORD_TOO_WEAK(3004, "password too weak"), USER_REGISTRATION_FAILED(3005, "User registration failed"), diff --git a/src/main/java/co/jp/app/repository/UserRepository.java b/src/main/java/co/jp/app/repository/UserRepository.java index bbadc8f..45dadb3 100644 --- a/src/main/java/co/jp/app/repository/UserRepository.java +++ b/src/main/java/co/jp/app/repository/UserRepository.java @@ -14,4 +14,8 @@ public interface UserRepository extends JpaRepository { boolean existsByEmail(String email); Optional findByEmail(String email); + + boolean existsByName(String name); + + Optional findByName(String name); } \ No newline at end of file diff --git a/src/main/java/co/jp/app/service/UserService.java b/src/main/java/co/jp/app/service/UserService.java index 05a641a..e3ad20f 100644 --- a/src/main/java/co/jp/app/service/UserService.java +++ b/src/main/java/co/jp/app/service/UserService.java @@ -3,8 +3,6 @@ package co.jp.app.service; import java.util.Collection; import java.util.Collections; -import co.jp.app.common.ResultCode; -import co.jp.app.exception.BusinessException; import org.jetbrains.annotations.NotNull; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -16,8 +14,10 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import co.jp.app.common.ResultCode; import co.jp.app.dto.RegistrationDto; import co.jp.app.entity.UserEntity; +import co.jp.app.exception.BusinessException; import co.jp.app.repository.UserRepository; @Service @@ -31,11 +31,11 @@ public class UserService implements UserDetailsService { this.passwordEncoder = passwordEncoder; } - @Transactional + public UserEntity registerNewUser(@NotNull RegistrationDto registrationDto) throws BusinessException { - if (userRepository.existsByEmail(registrationDto.getEmail())) { - throw new BusinessException(ResultCode.USER_EMAIL_ALREADY_EXISTS,"error: Email" + registrationDto.getEmail() + " had been used"); + if (userRepository.existsByName(registrationDto.getName())) { + throw new BusinessException(ResultCode.USER_USERNAME_ALREADY_EXISTS,"error: Name" + registrationDto.getName() + " had been used"); } //密码最短6位限制 @@ -51,17 +51,19 @@ public class UserService implements UserDetailsService { return userRepository.save(newUser); } + + @Override @Transactional(readOnly = true) - public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { - UserEntity userEntity = userRepository.findByEmail(email) - .orElseThrow(() -> new UsernameNotFoundException(email + " not found")); + public UserDetails loadUserByUsername(String name) throws UsernameNotFoundException { + UserEntity userEntity = userRepository.findByName(name) + .orElseThrow(() -> new UsernameNotFoundException(name + " not found")); Collection authorities = Collections .singletonList(new SimpleGrantedAuthority("ROLE_USER")); return new User( - userEntity.getEmail(), + userEntity.getName(), userEntity.getPassword(), true, // enabled true, // accountNonExpired diff --git a/target/classes/META-INF/maven/co.jp.app/dog-2/pom.properties b/target/classes/META-INF/maven/co.jp.app/dog-2/pom.properties deleted file mode 100644 index 19b3b9b..0000000 --- a/target/classes/META-INF/maven/co.jp.app/dog-2/pom.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by Maven Integration for Eclipse -#Fri May 16 11:13:59 JST 2025 -m2e.projectLocation=C\:\\Users\\ichbi\\git\\Dog-1 -m2e.projectName=dog-1 -groupId=co.jp.app -artifactId=dog-2 -version=0.0.1-SNAPSHOT