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 lombok.Getter;
import lombok.Setter;
import java.util.Date;
import java.util.List;

/**
 * title: AdContent
 * package: com.sptg.ad.api.entity
 * description: 广告-内容
 *
 *
 *
 */
@Getter
@Setter
@TableName(value = "ad_content")
public class AdContent {

    /**
     *主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;

    /**
     * 广告类型id
     */
    @TableField(value = "l_ad_type_id")
    private Long adTypeId;
    /**
     * 广告素材id
     */
    @TableField(value = "l_ad_material_id")
    private Long adMaterialId;
    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private AdMaterial adMaterial;
    /**
     * 广告素材id
     */
    @TableField(value = "s_ad_material_file")
    private String adMaterialFile;
    /**
     * 广告位id
     */
    @TableField(value = "l_adsense_id")
    private Long adsenseId;

    /**
     * 广告标题
     */
    @TableField(value = "s_ad_title")
    private String adTitle;
    /**
     * 广告编号的格式用yyMMdd+2位排序号前面补0
     */
    @TableField(value = "s_ad_code")
    private String adCode;
    /**
     * 视频文件路径
     */
    @TableField(value = "s_video_uri")
    private String videoUri;

    /**
     * 视频文件的md5值
     */
    @TableField(value = "s_video_md5")
    private String videoMd5;

    /**
     * 删除标记：{ -1：已删除，0：正常 }
     */
    @TableField(value = "i_status")
    private Integer status;
    /**
     * 创建时间
     */
    @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;
    /**
     * 根机构id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

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

    /**
     * 是否有图片
     * 0-没有  1-有
     */
    @TableField(value = "i_has_img")
    private Integer hasImg;

    /**
     * 是否有素材
     * 0-没有  1-有
     */
    @TableField(value = "i_has_material")
    private Integer hasMaterial;
    /**
     * 广告位属于线上还是线下
     * 0：线下 1：线上
     */
    @TableField(value = "i_online_or_offline")
    private Integer onlineOrOffline;

    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String[] imgUri;
    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private List<AdContentImg> adContentImgs;
    /**
     * 扩展属性--广告类型名字
     */
    @TableField(exist = false)
    private String adTypeName;

    /**
     * 扩展属性--广告位
     */
    @TableField(exist = false)
    private AdAdsense adAdsense;
    /**
     * 扩展属性--广告位名称
     */
    @TableField(exist = false)
    private String adsenseName;

    /**
     * 扩展属性--素材名称
     */
    @TableField(exist = false)
    private String materialType;

    /**
     * 扩展属性--素材名称
     */
    @TableField(exist = false)
    private String materialName;
}
