package com.sptg.ad.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * title: AdOfflinePushRecord
 * package: com.sptg.ad.api.entity
 * description: 线下广告发布记录表
 *
 *
 *
 */
@Getter
@Setter
@TableName(value = "ad_offline_push_record")
@JsonIgnoreProperties(ignoreUnknown = true)
public class AdOfflinePushRecord implements java.io.Serializable {
    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;



    /**
     * 要发布的广告条数
     */
    @TableField(value = "i_content_count")
    private Integer contentCount;

    /**
    @TableField(value = "province_short_name")
    private String provinceShortName;
     * 发布状态{ 0：待上刊，1：已上刊，2：已下刊 }
     */
    @TableField(value = "i_push_status")
    private Integer pushStatus;
    /**
     * 广告开始播放时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_begin_date")
    private Date beginDate;
    /**
     * 广告结束播放时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_end_date")
    private Date endDate;
    /**
     * 预计发布时间
     */
    @TableField(value = "t_estimate_push_date")
    private Date estimatePushDate;
    /**
     * 发布类型{ 1 ：按小区发布 2：按广告位发布，3：按区域发布}
     */
    @TableField(value = "i_push_type")
    private Integer pushType;
    @TableField(value = "i_push_location_id")
    private String pushLocationId;

    /**
     * 发布位置：按小区发布则为小区名称，按广告位发布则为广告位名称，按区域发布则为区域名称
     */
    @TableField(value = "i_push_location_name")
    private String pushLocationName;
    /**
     * 发布成功次数
     */
    @TableField(value = "l_push_success")
    private Long pushSuccess;
    /**
     * 发布总次数
     */
    @TableField(value = "l_push_count")
    private Long pushCount;
    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_create_date")
    private Date createDate;
    /**
     * 创建人Id
     */
    @TableField(value = "l_create_account_id")
    private Long createAccountId;
    /**
     * 创建人的账号登录名
     */
    @TableField(value = "s_create_account_name")
    private String createAccountName;
    /**
     * 机构Id
     */
    @TableField(value = "l_org_id")
    private Long orgId;
    @TableField(value = "i_status")
    private Integer status;
    /**
     * 跟机构id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

    /**
     * 存储位置
     */
    @TableField(value = "s_org_position")
    private String orgPosition;
    /**
     * 备注
     */
    @TableField(value = "s_remark")
    private String remark;




    /**
     * 数组--要发布的广告id
     * 扩展字段
     */
    @TableField(value = "i_ad_id")
    private Long adId;


    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String adTitle;

    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String adCode;

    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String adTypeName;

    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String adMaterialFile;
    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String orgName;

}
