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 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 java.util.Date;

/**
 * 快手-优化评估策略表
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2020-12-10
 */
@Data
@TableName("ctop_kuaishou_strategy")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ctop_kuaishou_strategy对象", description = "快手-优化评估策略表")
public class KuaishouStrategy {

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    private String createBy;
    private String creativeTag;
    private Integer creativeCategory;
    //转化目标最低出价
    private Long cpaBidMin;
    //转化目标最高出价
    private Long cpaBidMax;
    //出价拆分步长
    private Long stepSize;
    /**
     * 账户ID
     */
    @Excel(name = "账户ID", width = 15)
    @ApiModelProperty(value = "账户ID")
    private Long accountId;
    /**
     * 策略名称
     */
    @Excel(name = "策略名称", width = 15)
    @ApiModelProperty(value = "策略名称")
    private String strategyName;
    /**
     * 策略状态 0 关停，1激活
     */
    @Excel(name = "策略状态 0 关停，1激活", width = 15)
    @ApiModelProperty(value = "策略状态 0 关停，1激活")
    private String strategyState;
    /**
     * 应用场景{1：素材+出价}{2：素材+定向}{3：时间+出价}。。。
     */
    @Excel(name = "应用场景{1：素材+出价}{2：素材+定向}{3：时间+出价}。。。", width = 15)
    @ApiModelProperty(value = "应用场景{1：素材+出价}{2：素材+定向}{3：时间+出价}。。。")
    private String scenes;
    /**
     * 营销目标{1应用安装}，{2电商下单}，{3推广品牌}，{4营销线上}，{5应用活跃}
     */
    @Excel(name = "营销目标{1应用安装}，{2电商下单}，{3推广品牌}，{4营销线上}，{5应用活跃}", width = 15)
    @ApiModelProperty(value = "营销目标{1应用安装}，{2电商下单}，{3推广品牌}，{4营销线上}，{5应用活跃}")
    private String marketingGoal;
    /**
     * 应用id集
     */
    @Excel(name = "应用id集", width = 15)
    @ApiModelProperty(value = "应用id集")
    private String appIds;
    /**
     * 转化目标
     */
    @Excel(name = "转化目标", width = 15)
    @ApiModelProperty(value = "转化目标")
    private Long convertId;
    /**
     * 定向模板id
     */
    @Excel(name = "模板id", width = 15)
    @ApiModelProperty(value = "模板id")
    private String templateId;
    /**
     * 地域
     */
    @Excel(name = "地域", width = 15)
    @ApiModelProperty(value = "地域")
    private String region;
    /**
     * 年龄段:{0:不限}{18：18-23岁}{24：24-30岁}{31：31-40岁}{41：41-49岁}{50：50岁+
     */
    @Excel(name = "年龄段:{[]:不限}{18：18-23岁}{24：24-30岁}{31：31-40岁}{41：41-49岁}{50：50岁+", width = 15)
    @ApiModelProperty(value = "年龄段:{[]:不限}{18：18-23岁}{24：24-30岁}{31：31-40岁}{41：41-49岁}{50：50岁+")
    private String agesRange;
    /**
     * 性别 1：女性, 2：男性， 0：不限
     */
    @Excel(name = "性别 1：女性, 2：男性， 0：不限", width = 15)
    @ApiModelProperty(value = "性别 1：女性, 2：男性， 0：不限")
    private Integer gender;
    /**
     * 操作系统 1： Android， 2： iOS， 0：不限
     */
    @Excel(name = "操作系统 1： Android， 2： iOS， 0：不限", width = 15)
    @ApiModelProperty(value = "操作系统 1： Android， 2： iOS， 0：不限")
    private Integer platformOs;
    /**
     * 自定义人群 0不限,1：定向,:2：排除,:3同时定向排除
     */
    @Excel(name = "自定义人群 0不限,1：定向,:2：排除,:3同时定向排除", width = 15)
    @ApiModelProperty(value = "自定义人群 0不限,1：定向,:2：排除,:3同时定向排除")
    private String customCrowd;
    /**
     * 定向人群包
     */
    @Excel(name = "定向人群包", width = 15)
    @ApiModelProperty(value = "定向人群包")
    private String population;
    /**
     * 排除人群包
     */
    @Excel(name = "排除人群包", width = 15)
    @ApiModelProperty(value = "排除人群包")
    private String excludePopulation;
    /**
     * 投放开始时间
     */
    @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 Object scheduleTime;
    /**
     * 策略预算
     */
    @Excel(name = "策略预算", width = 15)
    @ApiModelProperty(value = "策略预算")
    private Long budget;
    /**
     * 出价类型(优化目标) 2点击数（CPC），10转化数（OCPM）
     */
    @Excel(name = "出价类型(优化目标) 2点击数（CPC），10转化数（OCPM）", width = 15)
    @ApiModelProperty(value = "出价类型(优化目标) 2点击数（CPC），10转化数（OCPM）")
    private Integer bidType;
    /**
     * 封面点击出价
     */
    @Excel(name = "封面点击出价", width = 15)
    @ApiModelProperty(value = "封面点击出价")
    private Long bid;
    /**
     * 转化目标,2：行为数，180：激活数，53：表单数，190: 付费，191：首日ROI 。。。
     */
    @Excel(name = "转化目标,2：行为数，180：激活数，53：表单数，190: 付费，191：首日ROI 。。。", width = 15)
    @ApiModelProperty(value = "转化目标,2：行为数，180：激活数，53：表单数，190: 付费，191：首日ROI 。。。")
    private Integer ocpxActionType;
    /**
     * 转化目标出价
     */
    @Excel(name = "转化目标出价", width = 15)
    @ApiModelProperty(value = "转化目标出价")
    private Long cpaBid;
    /**
     * 深度转化目标 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 Integer deepConversionBid;

    /**
     * 广告位 1：优选广告位
     */
    private String sceneId;
    /**
     * 下载详情页ID,建站id
     */
    private String siteId;
    /**
     * 第三方开始播放监测链接
     */
    private String impressionUrl;
    /**
     * 第三方开始播放监测链接
     */
    private String url;
    /**
     * 当计划类型为3（获取电商下单）时必填：
     * 1 - 淘宝商品短链
     * 2 - 淘宝商品itemID
     * 4 - 金牛电商
     */
    private String urlType;
    /**
     * 是否优先从应用商店下载  true false
     */
    private String useAppMarket;
    /**
     * 请勾选投放应用已上架的应用商店
     */
    private String appStore;
    /**
     * 第三方点击检测链接
     */
    private String clickTrackUrl;
    /**
     * 第三方点击按钮监测链接
     */
    private String actionbarClickUrl;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * updateTime
     */
    @ApiModelProperty(value = "updateTime")
    private Date updateTime;

    private Integer timerTaskStatus;
}
