package com.zioinfo.mall.event;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 이벤트 / 캠페인 (mall_event).
 *
 * <p>eventType: DISCOUNT / POINT_BONUS / GIFT / TIER_ONLY / SEASON.
 * status: DRAFT / PUBLISHED / ENDED. targetTiers·storeIds 는 콤마구분 문자열(빈값=전체).
 */
@Data
public class MallEvent {
    private Long id;
    private String code;
    private String title;
    private String eventType;          // DISCOUNT/POINT_BONUS/GIFT/TIER_ONLY/SEASON
    private String description;
    private LocalDate startDate;
    private LocalDate endDate;
    private String targetTiers;        // 'GOLD,VIP' (빈값=전체 등급)
    private String storeIds;           // '1,2' (빈값=전 매장/권역)
    private Long couponId;             // 연계 쿠폰(참여 시 발급)
    private BigDecimal bonusPointRate; // POINT_BONUS 추가 적립률(%)
    private String giftDescription;    // GIFT 사은품 설명
    private String status;             // DRAFT/PUBLISHED/ENDED
    private Boolean active;
    private String createdBy;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;

    private List<MallEventBanner> banners;
}
