package com.centreproject.system.domain.kpi.guestExperience;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

/**
 * Yas Island Campaigns KPI Entity
 * @author zhonglei.xu
 */
@Data
@TableName("kpi_yas_island_campaigns")
public class KpiYasIslandCampaigns {
    // 主键自增（根据数据库调整）
    @TableId(type = IdType.AUTO)
    private Long id;

    /** MTD campaigns */
    @TableField("mtd_campaigns")
    private Integer mtdCampaigns;

    /** Total campaign email sent */
    @TableField("total_campaign_email_sent")
    private Integer totalCampaignEmailSent;

    /** Delivered emails count */
    private Integer delivered;

    /** Email open rate (%) */
    @TableField("email_open_rate")
    private BigDecimal emailOpenRate;

    /** Click rate (%) */
    @TableField("click_rate")
    private BigDecimal clickRate;

    /** Annual passholders total */
    @TableField("annual_passholders_total")
    private String annualPassholdersTotal;

    /** Renewed passholders count */
    private Integer renewed;

    /** Expired passholders count */
    private Integer expired;

    /** Date */
    private Date date;

    /** Synchronization Time */
    /**
     * 数据同步时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "synch_time", fill = FieldFill.INSERT)
    private LocalDateTime synchTime;

    /** Unique identifier */
    @TableField("sync_trace_id")
    private String syncTraceId;
}