[회원 정보 업데이트] Member 엔티티에 name 및 email 필드 추가, 관련 DTO 및 서비스 로직 수정. 사용자 역할에서 USER 제거 및 검증 어노테이션 추가.
This commit is contained in:
		@@ -7,10 +7,12 @@
 | 
				
			|||||||
        oid bigint not null,
 | 
					        oid bigint not null,
 | 
				
			||||||
        updated_at timestamp(6) not null,
 | 
					        updated_at timestamp(6) not null,
 | 
				
			||||||
        updated_oid bigint,
 | 
					        updated_oid bigint,
 | 
				
			||||||
        role varchar(40) not null check (role in ('MEMBER','ADMIN','USER','SYSTEM_ADMIN')),
 | 
					        role varchar(40) not null check (role in ('MEMBER','ADMIN','SYSTEM_ADMIN')),
 | 
				
			||||||
 | 
					        name varchar(100) not null,
 | 
				
			||||||
        password varchar(100) not null,
 | 
					        password varchar(100) not null,
 | 
				
			||||||
        user_id varchar(100) not null,
 | 
					        user_id varchar(100) not null,
 | 
				
			||||||
        refresh_token varchar(200),
 | 
					        refresh_token varchar(200),
 | 
				
			||||||
 | 
					        email varchar(255) not null,
 | 
				
			||||||
        primary key (oid)
 | 
					        primary key (oid)
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ import lombok.Data;
 | 
				
			|||||||
import lombok.NoArgsConstructor;
 | 
					import lombok.NoArgsConstructor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import jakarta.validation.constraints.NotBlank;
 | 
					import jakarta.validation.constraints.NotBlank;
 | 
				
			||||||
 | 
					import jakarta.validation.constraints.Email;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Data
 | 
					@Data
 | 
				
			||||||
@Builder
 | 
					@Builder
 | 
				
			||||||
@@ -18,4 +19,11 @@ public class CreateMemberRequestDto {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    @NotBlank(message = "비밀번호는 필수입니다.")
 | 
					    @NotBlank(message = "비밀번호는 필수입니다.")
 | 
				
			||||||
    private String password;
 | 
					    private String password;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    @NotBlank(message = "사용자명은 필수입니다.")
 | 
				
			||||||
 | 
					    private String name;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    @NotBlank(message = "이메일은 필수입니다.")
 | 
				
			||||||
 | 
					    @Email(message = "올바른 이메일 형식이 아닙니다.")
 | 
				
			||||||
 | 
					    private String email;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,8 @@ public class MemberDto implements UserDetails {
 | 
				
			|||||||
    private Long oid;
 | 
					    private Long oid;
 | 
				
			||||||
    private String userId;
 | 
					    private String userId;
 | 
				
			||||||
    private String password;
 | 
					    private String password;
 | 
				
			||||||
 | 
					    private String name;
 | 
				
			||||||
 | 
					    private String email;
 | 
				
			||||||
    private MemberRole role;
 | 
					    private MemberRole role;
 | 
				
			||||||
    private Boolean useFlag;
 | 
					    private Boolean useFlag;
 | 
				
			||||||
    private String refreshToken;
 | 
					    private String refreshToken;
 | 
				
			||||||
@@ -39,21 +41,11 @@ public class MemberDto implements UserDetails {
 | 
				
			|||||||
        return this.userId;
 | 
					        return this.userId;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public boolean isAccountNonExpired() {
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean isAccountNonLocked() {
 | 
					    public boolean isAccountNonLocked() {
 | 
				
			||||||
        return this.useFlag != null && this.useFlag;
 | 
					        return this.useFlag != null && this.useFlag;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public boolean isCredentialsNonExpired() {
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean isEnabled() {
 | 
					    public boolean isEnabled() {
 | 
				
			||||||
        return this.useFlag != null && this.useFlag;
 | 
					        return this.useFlag != null && this.useFlag;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,12 @@ public class Member extends BaseEntity {
 | 
				
			|||||||
    @Column(name = "password", nullable = false, length = 100)
 | 
					    @Column(name = "password", nullable = false, length = 100)
 | 
				
			||||||
    private String password;
 | 
					    private String password;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Column(name = "name", nullable = false, length = 100)
 | 
				
			||||||
 | 
					    private String name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Column(name = "email", nullable = false, length = 255)
 | 
				
			||||||
 | 
					    private String email;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Enumerated(EnumType.STRING)
 | 
					    @Enumerated(EnumType.STRING)
 | 
				
			||||||
    @Column(name = "role", nullable = false, length = 40)
 | 
					    @Column(name = "role", nullable = false, length = 40)
 | 
				
			||||||
    private MemberRole role;
 | 
					    private MemberRole role;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,6 @@ public enum MemberRole {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    MEMBER("MEMBER", "일반 회원"),
 | 
					    MEMBER("MEMBER", "일반 회원"),
 | 
				
			||||||
    ADMIN("ADMIN", "관리자"),
 | 
					    ADMIN("ADMIN", "관리자"),
 | 
				
			||||||
    USER("USER", "사용자"),
 | 
					 | 
				
			||||||
    SYSTEM_ADMIN("SYSTEM_ADMIN", "시스템 관리자");
 | 
					    SYSTEM_ADMIN("SYSTEM_ADMIN", "시스템 관리자");
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    private final String value;
 | 
					    private final String value;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,15 +43,17 @@ public class MemberServiceImpl implements MemberService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional
 | 
					    @Transactional
 | 
				
			||||||
    public MemberDto createMember(MemberDto memberDTO) {
 | 
					    public MemberDto createMember(MemberDto memberDto) {
 | 
				
			||||||
        // userId 중복 체크
 | 
					        // userId 중복 체크
 | 
				
			||||||
        if (memberRepository.existsByUserId(memberDTO.getUserId())) {
 | 
					        if (memberRepository.existsByUserId(memberDto.getUserId())) {
 | 
				
			||||||
            throw new ApiException(ApiResponseCode.USER_ID_DUPLICATE);
 | 
					            throw new ApiException(ApiResponseCode.USER_ID_DUPLICATE);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        Member member = Member.builder()
 | 
					        Member member = Member.builder()
 | 
				
			||||||
                .userId(memberDTO.getUserId())
 | 
					                .userId(memberDto.getUserId())
 | 
				
			||||||
                .password(bCryptPasswordEncoder.encode(memberDTO.getPassword()))
 | 
					                .password(bCryptPasswordEncoder.encode(memberDto.getPassword()))
 | 
				
			||||||
 | 
					                .name(memberDto.getName())
 | 
				
			||||||
 | 
					                .email(memberDto.getEmail())
 | 
				
			||||||
                .role(MemberRole.getDefault())
 | 
					                .role(MemberRole.getDefault())
 | 
				
			||||||
                .build();
 | 
					                .build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user