package cn.com.ctop.common.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.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户分配
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2019-08-08
 */
@Data
@TableName("ctop_user_allocation")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ctop_user_allocation对象", description = "用户分配")
public class UserAllocation implements Serializable {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    private Long id;
    /**
     * 登陆人id
     */
    @Excel(name = "登陆人id", width = 15)
    @ApiModelProperty(value = "登陆人id")
    private String userId;


    @Excel(name = "登陆人名称", width = 15)
    @ApiModelProperty(value = "登陆人名称")
    private String userName;

    /**
     * 账户id --授权
     */
    @Excel(name = "账户id --授权", width = 15)
    @ApiModelProperty(value = "账户id --授权")
    private Long accountId;
    /**
     * 广告主ID
     */
    @Excel(name = "广告主ID", width = 15)
    @ApiModelProperty(value = "广告主ID")
    @Dict(dicCode = "id", dictTable = "ctop_advertiser", dicText = "name")
    private String advertiserId;

    private String systemType;

    /**
     * 项目id
     */
    @Dict(dicCode = "id", dictTable = "ctop_project", dicText = "project_name")
    private Long projectId;

    /**
     * 输入账号  --登陆
     */
    @Excel(name = "输入账号  --登陆", width = 15)
    @ApiModelProperty(value = "输入账号  --登陆")
    private String accountName;

    /**
     * 预警 金额
     */
    private BigDecimal warningAmount;

    /**
     * 预警 比例
     */
    private BigDecimal warningProportion;

    /**
     * 创建时间
     */
    @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 = 15)
    @ApiModelProperty(value = "授权名称")
    private String authName;

    /**
     * 授权开始时间
     */
    @Excel(name = "授权开始时间", width = 15)
    @ApiModelProperty(value = "授权开始时间")
    private String authBeginTime;


    /**
     * 0 启动
     * 1 禁用
     */
    private Integer accountStatus;

    /**
     * 检测链接预警
     * 0 启动
     * 1 禁用
     */
    private Integer monitoringLink;

    /**
     * 检测链接预警
     * 0 启动
     * 1 禁用
     */
    private Integer landingPage;

    /**
     * 是否开启删评论
     * 0 启动
     * 1 禁用
     */
    private Integer deleteComment;
    /**
     * 自动投放，0关闭，1开启
     */
    private Integer autoDelivery;
    /**
     * 物料类型 0-不同步，1应用包，（2人群包，3定向包）
     */
    private String materialType;

    /**
     * 修改时间
     */
    @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;
    /**
     * 平台类型 1 头条 2快手
     */
    @Excel(name = "平台类型 1 头条 2快手", width = 15)
    @ApiModelProperty(value = "平台类型 1 头条 2快手")
    private String mediaId;
}
