UserDetailsDTO
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class UserDetailsDTO implements Serializable {
// 유저 상세정보 DTO
private int no; // 상세정보 고유번호 (PK)
private int userPoint; // 현재 보유 포인트
// 등급: VVIP, VIP, GOLD, SILVER, FAMILY
private String rank; // 회원 등급
private String gender; // 성별
private String content; // 유저 기타 정보 (관리자 페이지용)
private UserDTO user; // 연관된 UserDTO (기본 회원 정보)
}
설명
implements Serializable: DTO 객체를 직렬화 가능하게 하여 세션 저장이나 네트워크 전송에 사용.
- Lombok 어노테이션
@Data: 모든 필드에 대한 게터/세터, equals(), hashCode(), toString() 메서드 자동 생성.
@Builder: 빌더 패턴으로 객체 생성 지원.
@NoArgsConstructor, @AllArgsConstructor: 매개변수 없는 생성자와 모든 필드를 매개변수로 받는 생성자 자동 생성.
@ToString: 모든 필드를 포함한 toString() 메서드 자동 생성.
private int no: UserDetails 엔티티의 기본 키(고유번호)를 저장.
private int userPoint: 사용자가 보유한 적립 포인트 합계.
private String rank: 회원 등급. 가능한 값: VVIP, VIP, GOLD, SILVER, FAMILY. 포인트 적립률 계산 등급 분기 처리에 사용.
private String gender: 회원 성별 정보("남", "여" 등).
private String content: 관리자가 유저에게 남긴 기타 메모나 비고. 예) “VIP 전환 안내” 등.
private UserDTO user: 기본 회원 정보를 담은 UserDTO 객체. uid, name, email 등 User 엔티티 필드를 포함하여 연관된 회원 데이터를 함께 전달