package com.centreproject.system.domain.sync.ods;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * Emarsys活动报表数据实体类（对应表ods_emarsys）
 * MyBatis-Plus注解说明：
 * @author zhonglei.xu
 * @TableName：指定数据库表名
 * @TableId：主键配置（自增）
 * @TableField：字段映射（含注释、非主键标识）
 */
@Data
@TableName("ods_emarsys")
public class OdsEmarsys {

    /**
     * 自增主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 报告时间
     */
    @TableField("report_timestamp")
    private LocalDateTime reportTimestamp;

    /**
     * 活动ID
     */
    @TableField("campaign_id")
    private String campaignId;

    /**
     * 活动来源ID
     */
    @TableField("origin_campaign_id")
    private String originCampaignId;

    /**
     * 活动名称
     */
    @TableField("campaign_name")
    private String campaignName;

    /**
     * 活动类型
     */
    @TableField("campaign_type")
    private String campaignType;

    /**
     * 活动分类
     */
    @TableField("campaign_category_name")
    private String campaignCategoryName;

    /**
     * contact_id
     */
    @TableField("contact_id")
    private String contactId;

    /**
     * launch_id
     */
    @TableField("launch_id")
    private String launchId;

    /**
     * 启动邮件发送时间
     */
    @TableField("email_send_time")
    private LocalDateTime emailSendTime;

    /**
     * 首次邮件打开时间
     */
    @TableField("email_first_open")
    private LocalDateTime emailFirstOpen;

    /**
     * 首次邮件点击时间
     */
    @TableField("email_first_click")
    private LocalDateTime emailFirstClick;

    /**
     * 最后点击活动时间
     */
    @TableField("last_activity_timestamp")
    private LocalDateTime lastActivityTimestamp;

}