package com.zioinfo.mall.loyalty;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 등급별 혜택 정의 (mall_tier_benefit).
 *
 * <p>tierCode: BASIC/SILVER/GOLD/VIP. 자동 산정 시 12개월 누적 구매액/주문수와 비교.
 * 혜택 정의 CRUD는 ADMIN.
 */
@Data
public class MallTierBenefit {
    private Long id;
    private String tierCode;          // BASIC/SILVER/GOLD/VIP
    private String name;
    private Integer tierRank;         // 1=BASIC ... 4=VIP
    private BigDecimal minSpend12m;   // 등급 진입 누적 구매액(12개월)
    private Integer minOrders12m;     // 등급 진입 누적 주문수(12개월)
    private BigDecimal discountRate;  // 등급 할인율(%)
    private BigDecimal freeShipThreshold; // 무료배송 임계액(NULL=없음, 0=항상 무료)
    private BigDecimal pointEarnRate; // 포인트 적립률(% of pay_amount)
    private Boolean prioritySlot;     // 피크시즌 우선 타임슬롯
    private Boolean birthdayCoupon;   // 생일 쿠폰/꽃
    private Boolean exclusiveEvents;  // 전용 이벤트 접근
    private String color;
    private Boolean active;
    private LocalDateTime updatedAt;
}
