CouponIssueDTO (발급된 쿠폰 데이터 전송 객체)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CouponIssueDTO {
private long issueNo; // 발급 고유 번호
private UserDTO user; // 쿠폰을 발급받은 사용자 정보
private CouponDTO coupon; // 원본 쿠폰 정보(CouponDTO)
private String state; // 쿠폰 사용 상태 ("미사용", "사용", "만료" 등)
private LocalDate usedDate; // 쿠폰이 실제로 사용된 날짜 (사용 전에는 null)
private LocalDate regDate; // 쿠폰이 발급된(등록된) 날짜
private String validTo; // 쿠폰의 만료일 (문자열 포맷, 예: "2025-12-31")
private String issuedBy; // 쿠폰 발급 주체 (판매자명 또는 "관리자")
private String cno; // 원본 쿠폰 고유 번호 (문자열 형태로 보관)
// 조회용: 화면 표시나 필터링을 위한 사용자 ID
private String uid;
}
설명
- issueNo: “발급된” 쿠폰 기록마다 부여되는 고유 식별자
- user: 쿠폰을 발급받은 회원 정보 (
UserDTO)
- coupon: 실제 할인 조건과 세부 정보가 담긴 원본 쿠폰 (
CouponDTO)
- state: 현재 쿠폰 상태
"미사용": 아직 사용하지 않은 상태
"사용": 이미 사용된 상태
"만료" 등 다른 상태도 가능
- usedDate: 쿠폰을 “사용” 처리한 날짜 (미사용 상태일 땐 null)
- regDate: 쿠폰이 발급된 날짜
- validTo: 쿠폰의 만료일을 문자열로 표현 (예:
"2025-12-31")
- issuedBy: 쿠폰을 실제로 발급해 준 주체 (판매자명 또는
"관리자")
- cno: 원본 쿠폰(
Coupon)의 고유 번호를 문자열로 보관
- uid: 화면 렌더링 시 편의를 위해 사용자 ID만 따로 보관 (
UserDTO.userId 등과 동일)