package cn.com.ctop.kuaishou.modules.batch.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 创建组模板
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2020-12-15
 */
@Data
@TableName("ctop_kuaishou_group_template")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ctop_kuaishou_group_template对象", description = "创建组模板")
public class KuaiShouGroupTemplate {

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;
    /**
     * 账户ID
     */
    @Excel(name = "账户ID", width = 15)
    @ApiModelProperty(value = "账户ID")
    private Long accountId;

    private String userId;

    /**
     * 计划ID
     */
    @Excel(name = "计划ID", width = 15)
    @ApiModelProperty(value = "计划ID")
    private Long campaignId;
    /**
     * 广告组ID
     */
    @Excel(name = "广告组ID", width = 15)
    @ApiModelProperty(value = "广告组ID")
    private Long unitId;
    /**
     * 广告组名称
     */
    @Excel(name = "广告组名称", width = 15)
    @ApiModelProperty(value = "广告组名称")
    private String unitName;
    /**
     * 定向模板id
     */
    @Excel(name = "定向模板id", width = 15)
    @ApiModelProperty(value = "定向模板id")
    private Long templateId;
    /**
     * 优化目标出价类型 1: CPM 2: CPC 10:OCPM
     */
    @Excel(name = "优化目标出价类型 1: CPM 2: CPC 10:OCPM", width = 15)
    @ApiModelProperty(value = "优化目标出价类型 1: CPM 2: CPC 10:OCPM")
    private Integer bidType;
    /**
     * 优先从系统应用商店下载
     */
    @Excel(name = "优先从系统应用商店下载", width = 15)
    @ApiModelProperty(value = "优先从系统应用商店下载")
    private Integer useAppMarket;
    /**
     * 应用商店列表
     */
    @Excel(name = "应用商店列表", width = 15)
    @ApiModelProperty(value = "应用商店列表")
    private String appStore;
    /**
     * 出价
     */
    @Excel(name = "出价", width = 15)
    @ApiModelProperty(value = "出价")
    private Long bid;
    /**
     * OCPC出价
     */
    @Excel(name = "OCPC出价", width = 15)
    @ApiModelProperty(value = "OCPC出价")
    private Long cpaBid;
    /**
     * OCPX行为类型   1： CPM， 2： CPC，
     */
    @Excel(name = "OCPX行为类型   1： CPM， 2： CPC，", width = 15)
    @ApiModelProperty(value = "OCPX行为类型   1： CPM， 2： CPC，")
    private Integer ocpxActionType;
    /**
     * 深度转化目标 3: 付费，7: 次日留存，10: 完件, 11: 授信 ，0：无
     */
    @Excel(name = "深度转化目标 3: 付费，7: 次日留存，10: 完件, 11: 授信 ，0：无", width = 15)
    @ApiModelProperty(value = "深度转化目标 3: 付费，7: 次日留存，10: 完件, 11: 授信 ，0：无")
    private Integer deepConversionType;
    /**
     * 深度转化目标出价
     */
    @Excel(name = "深度转化目标出价", width = 15)
    @ApiModelProperty(value = "深度转化目标出价")
    private Long deepConversionBid;
    /**
     * 广告位 1：优选广告位；
     */
    @Excel(name = "广告位 1：优选广告位；", width = 15)
    @ApiModelProperty(value = "广告位 1：优选广告位；")
    private String sceneId;
    /**
     * 创意制作方式 4: 自定义
     */
    @Excel(name = "创意制作方式 4: 自定义", width = 15)
    @ApiModelProperty(value = "创意制作方式 4: 自定义")
    private Integer unitType;
    /**
     * 投放开始时间
     */
    @Excel(name = "投放开始时间", width = 15)
    @ApiModelProperty(value = "投放开始时间")
    private String beginTime;
    /**
     * 投放结束时间
     */
    @Excel(name = "投放结束时间", width = 15)
    @ApiModelProperty(value = "投放结束时间")
    private String endTime;
    /**
     * 投放时段
     */
    @Excel(name = "投放时段", width = 15)
    @ApiModelProperty(value = "投放时段")
    private String scheduleTime;
    /**
     * 单日预算
     */
    @Excel(name = "单日预算", width = 15)
    @ApiModelProperty(value = "单日预算")
    private Long dayBudget;
    /**
     * 转化目标
     */
    @Excel(name = "转化目标", width = 15)
    @ApiModelProperty(value = "转化目标")
    private Long convertId;
    /**
     * 当计划类型为3时（获取电商下单）时有返回。
     */
    @Excel(name = "当计划类型为3时（获取电商下单）时有返回。", width = 15)
    @ApiModelProperty(value = "当计划类型为3时（获取电商下单）时有返回。")
    private Integer urlType;
    /**
     * 投放链接
     */
    @Excel(name = "投放链接", width = 15)
    @ApiModelProperty(value = "投放链接")
    private String url;
    /**
     * APP ID
     */
    @Excel(name = "APP ID", width = 15)
    @ApiModelProperty(value = "APP ID")
    private Long appId;
    /**
     * 创意展现方式  0：未知， 1：轮播，
     */
    @Excel(name = "创意展现方式  0：未知， 1：轮播，", width = 15)
    @ApiModelProperty(value = "创意展现方式  0：未知， 1：轮播，")
    private Integer showMode;
    /**
     * 投放方式  0：未知， 1：正常投
     */
    @Excel(name = "投放方式  0：未知， 1：正常投", width = 15)
    @ApiModelProperty(value = "投放方式  0：未知， 1：正常投")
    private Integer speed;

    private Long photoId;
    /**
     * 0：未提交 1：创建成功 2：创建失败
     */
    @Excel(name = "0：未提交 1：创建成功 2：创建失败", width = 15)
    @ApiModelProperty(value = "0：未提交 1：创建成功 2：创建失败")
    private Integer taskStatus;
    /**
     * 失败原因
     */
    @Excel(name = "失败原因", width = 15)
    @ApiModelProperty(value = "失败原因")
    private String reviewDetail;


    private String clickTrackUrl;
    private String actionbarClickUrl;
    private Integer creativeCategory;
    private String creativeTag;
    private String creativeName;
    private String actionBarText;
    private String description;
    private String siteId;
    private Integer createCreativeCount;
    private Integer creativeStatus;
    private String creativeReviewDetail;
    private Integer createType;
    private String photoIds;
    private String schemaUri;
    private Integer imageCount;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
}
