package dev.sonpx.loyalty.mcp.reward.dto;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import dev.sonpx.loyalty.mcp.reward.enums.CampaignType;
import java.io.Serializable;
import java.time.LocalDate;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CampaignSummaryDto implements Serializable {

    @JsonPropertyDescription("Mã chiến dịch")
    private String campaignId;

    @JsonPropertyDescription("Tên hiển thị của chiến dịch")
    private String name;

    @JsonPropertyDescription("Tên người hoặc phòng ban sở hữu chiến dịch")
    private String ownerName;

    @JsonPropertyDescription("Loại chiến dịch (POINT, VOUCHER...)")
    private CampaignType campaignType;

    @JsonPropertyDescription("Ngày bắt đầu có hiệu lực")
    private LocalDate effectiveFrom;

    @JsonPropertyDescription("Ngày kết thúc hiệu lực")
    private LocalDate effectiveTo;

    @JsonPropertyDescription("Số lượng quy tắc (rules) trong chiến dịch")
    private Integer numOfRule;

    @JsonPropertyDescription("Mô tả chi tiết")
    private String description;
}
