UserDTO
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class UserDTO implements Serializable {
private String uid; // 아이디
private String pass; // 비밀번호
private String pass2; // 비밀번호 확인용 (엔티티에는 없음)
private String name; // 이름/회사명
private String email; // 이메일
private String hp; // 전화번호
private String role; // 역할(관리자, 유저, 판매자)
private String zip; // 우편번호
private String addr1; // 주소
private String addr2; // 자세한 주소
private String regip; // IP주소
private String state; // 상태(정상,중지,휴먼,탈퇴)
private String ssn; // 주민번호
private String gender; // 성별
private LocalDateTime regDate; // 가입일자
private LocalDateTime updateDate; // 변경날짜(마이페이지)
private LocalDateTime leaveDate; // 탈퇴일자
private LocalDateTime lastLoginAt; // 최근 로그인 날짜
// 추가 필드 (전화번호 분리)
private String phonePart1; // 휴대폰 번호 앞자리
private String phonePart2; // 휴대폰 번호 가운데
private String phonePart3; // 휴대폰 번호 끝자리
// OAuth 인증 업체 정보
private String provider; // 소셜 로그인 제공자 이름
// 관리자용 처리
private String manage; // 계정 관리 처리(관리자 기능용)
// 유저 상세 정보 포함
private UserDetailsDTO userDetails; // 연관된 UserDetailsDTO
}
설명
implements Serializable: 객체 직렬화 지원. 세션에 저장하거나 네트워크 전송 시 필요.
private String uid: 사용자 고유 아이디.
private String pass: 암호(해시된 비밀번호).
private String pass2: 비밀번호 확인용 필드(엔티티 매핑에는 사용되지 않음).
private String name: 사용자 이름 혹은 업체명.
private String email: 이메일 주소.
private String hp: 휴대폰 번호 전체.
private String role: 권한 혹은 역할(Role), 예) “USER”, “ADMIN” 등.
private String zip, private String addr1, private String addr2: 우편번호, 기본 주소, 상세 주소.
private String regip: 가입 시 사용한 IP 주소.
private String state: 계정 상태, 예) “정상”, “휴먼”, “정지”, “탈퇴” 등.
private String ssn: 주민등록번호(본인 인증용).
private String gender: 성별.
private LocalDateTime regDate, private LocalDateTime updateDate, private LocalDateTime leaveDate, private LocalDateTime lastLoginAt:
- 가입일자, 프로필 수정일자, 탈퇴일자, 마지막 로그인 시간 저장.
- 추가 필드:
phonePart1, phonePart2, phonePart3
- 전체 휴대폰(
hp)을 세 부분(국번/중간/끝자리)으로 분리하여 프론트엔드 처리나 데이터 검증 시 사용.
private String provider: OAuth (소셜 로그인) 제공자(ex. “google”, “kakao”) 정보 저장.
private String manage: 관리자 화면에서 계정 승인, 정지, 재개 등을 처리할 때 사용.