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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
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.math.BigDecimal;
import java.util.Date;

/**
 * 时报清洗数据
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2019-11-01
 */
@Data
@TableName("ctop_kuaishou_report_hourly_creative_statistic")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ctop_kuaishou_report_hourly_creative_statistic对象", description = "时报清洗数据")
public class KuaishouReportHourlyCreativeStatistic {

    /**
     * id
     */
    @TableId
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * accountId
     */
    @Excel(name = "accountId", width = 15)
    @ApiModelProperty(value = "accountId")
    private Long accountId;
    /**
     * 用户名
     */
    @Excel(name = "用户名", width = 15)
    @ApiModelProperty(value = "用户名")
    private String accountName;
    /**
     * unitId
     */
    @Excel(name = "unitId", width = 15)
    @ApiModelProperty(value = "unitId")
    private Long unitId;
    /**
     * unitName
     */
    @Excel(name = "unitName", width = 15)
    @ApiModelProperty(value = "unitName")
    private String unitName;
    /**
     * campaignId
     */
    @Excel(name = "campaignId", width = 15)
    @ApiModelProperty(value = "campaignId")
    private Long campaignId;
    /**
     * campaignName
     */
    @Excel(name = "campaignName", width = 15)
    @ApiModelProperty(value = "campaignName")
    private String campaignName;
    /**
     * 广告创意ID
     */
    @Excel(name = "广告创意ID", width = 15)
    @ApiModelProperty(value = "广告创意ID")
    private Long creativeId;
    /**
     * creativeName
     */
    @Excel(name = "creativeName", width = 15)
    @ApiModelProperty(value = "creativeName")
    private String creativeName;
    /**
     * 日期
     */
    @Excel(name = "日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "日期")
    private String statDate;
    /**
     * 时间
     */
    @Excel(name = "时间", width = 15)
    @ApiModelProperty(value = "时间")
    private Integer statHour;
    /**
     * 花费(元)
     */
    @Excel(name = "花费(元)", width = 15)
    @ApiModelProperty(value = "花费(元)")
    private java.math.BigDecimal charge;
    /**
     * 封面点击数
     */
    @Excel(name = "封面点击数", width = 15)
    @ApiModelProperty(value = "封面点击数")
    private Long photoClick;
    /**
     * 曝光数
     */
    @Excel(name = "曝光数", width = 15)
    @ApiModelProperty(value = "曝光数")
    private Long photoShow;
    /**
     * 点击数
     */
    @Excel(name = "点击数", width = 15)
    @ApiModelProperty(value = "点击数")
    private Long aclick;
    /**
     * 行为数
     */
    @Excel(name = "行为数", width = 15)
    @ApiModelProperty(value = "行为数")
    private Long bclick;
    /**
     * photoClickRatio
     */
    @Excel(name = "photoClickRatio", width = 15)
    @ApiModelProperty(value = "photoClickRatio")
    private BigDecimal photoClickRatio;
    /**
     * 行为率
     */
    @Excel(name = "行为率", width = 15)
    @ApiModelProperty(value = "行为率")
    private BigDecimal actionRatio;
    /**
     * 平均千次曝光消耗
     */
    @Excel(name = "平均千次曝光消耗", width = 15)
    @ApiModelProperty(value = "平均千次曝光消耗")
    @JsonProperty("impression_1k_cost")
    @TableField("impression_1k_cost")
    private BigDecimal impression1kCost;
    /**
     * eventCreditGrantLandingPageCost
     */
    @Excel(name = "eventCreditGrantLandingPageCost", width = 15)
    @ApiModelProperty(value = "eventCreditGrantLandingPageCost")
    private BigDecimal eventCreditGrantLandingPageCost;
    /**
     * eventCreditGrantLandingPage
     */
    @Excel(name = "eventCreditGrantLandingPage", width = 15)
    @ApiModelProperty(value = "eventCreditGrantLandingPage")
    private Long eventCreditGrantLandingPage;
    /**
     * eventJinJianLandingPageCost
     */
    @Excel(name = "eventJinJianLandingPageCost", width = 15)
    @ApiModelProperty(value = "eventJinJianLandingPageCost")
    private BigDecimal eventJinJianLandingPageCost;
    /**
     * eventJinJianLandingPage
     */
    @Excel(name = "eventJinJianLandingPage", width = 15)
    @ApiModelProperty(value = "eventJinJianLandingPage")
    private Long eventJinJianLandingPage;
    /**
     * formActionRatio
     */
    @Excel(name = "formActionRatio", width = 15)
    @ApiModelProperty(value = "formActionRatio")
    private BigDecimal formActionRatio;
    /**
     * formCost
     */
    @Excel(name = "formCost", width = 15)
    @ApiModelProperty(value = "formCost")
    private BigDecimal formCost;
    /**
     * formCount
     */
    @Excel(name = "formCount", width = 15)
    @ApiModelProperty(value = "formCount")
    private Long formCount;
    /**
     * eventOrderPaidCost
     */
    @Excel(name = "eventOrderPaidCost", width = 15)
    @ApiModelProperty(value = "eventOrderPaidCost")
    private BigDecimal eventOrderPaidCost;
    /**
     * eventOrderPaidPurchaseAmount
     */
    @Excel(name = "eventOrderPaidPurchaseAmount", width = 15)
    @ApiModelProperty(value = "eventOrderPaidPurchaseAmount")
    private BigDecimal eventOrderPaidPurchaseAmount;
    /**
     * eventOrderPaid
     */
    @Excel(name = "eventOrderPaid", width = 15)
    @ApiModelProperty(value = "eventOrderPaid")
    private BigDecimal eventOrderPaid;
    /**
     * eventCreditGrantAppRatio
     */
    @Excel(name = "eventCreditGrantAppRatio", width = 15)
    @ApiModelProperty(value = "eventCreditGrantAppRatio")
    private BigDecimal eventCreditGrantAppRatio;
    /**
     * eventCreditGrantAppCost
     */
    @Excel(name = "eventCreditGrantAppCost", width = 15)
    @ApiModelProperty(value = "eventCreditGrantAppCost")
    private BigDecimal eventCreditGrantAppCost;
    /**
     * eventCreditGrantApp
     */
    @Excel(name = "eventCreditGrantApp", width = 15)
    @ApiModelProperty(value = "eventCreditGrantApp")
    private Long eventCreditGrantApp;
    /**
     * eventPayPurchaseAmountFirstDay
     */
    @Excel(name = "eventPayPurchaseAmountFirstDay", width = 15)
    @ApiModelProperty(value = "eventPayPurchaseAmountFirstDay")
    private BigDecimal eventPayPurchaseAmountFirstDay;
    /**
     * eventJinJianAppCost
     */
    @Excel(name = "eventJinJianAppCost", width = 15)
    @ApiModelProperty(value = "eventJinJianAppCost")
    private BigDecimal eventJinJianAppCost;
    /**
     * eventJinJianApp
     */
    @Excel(name = "eventJinJianApp", width = 15)
    @ApiModelProperty(value = "eventJinJianApp")
    private Long eventJinJianApp;
    /**
     * eventRegisterCost
     */
    @Excel(name = "eventRegisterCost", width = 15)
    @ApiModelProperty(value = "eventRegisterCost")
    private BigDecimal eventRegisterCost;
    /**
     * eventRegister
     */
    @Excel(name = "eventRegister", width = 15)
    @ApiModelProperty(value = "eventRegister")
    private Long eventRegister;
    /**
     * eventPayRoi
     */
    @Excel(name = "eventPayRoi", width = 15)
    @ApiModelProperty(value = "eventPayRoi")
    private BigDecimal eventPayRoi;
    /**
     * eventPayPurchaseAmount
     */
    @Excel(name = "eventPayPurchaseAmount", width = 15)
    @ApiModelProperty(value = "eventPayPurchaseAmount")
    private BigDecimal eventPayPurchaseAmount;
    /**
     * eventPay
     */
    @Excel(name = "eventPay", width = 15)
    @ApiModelProperty(value = "eventPay")
    private BigDecimal eventPay;
    /**
     * eventPayFirstDayRoi
     */
    @Excel(name = "eventPayFirstDayRoi", width = 15)
    @ApiModelProperty(value = "eventPayFirstDayRoi")
    private BigDecimal eventPayFirstDayRoi;
    /**
     * eventPayFirstDay
     */
    @Excel(name = "eventPayFirstDay", width = 15)
    @ApiModelProperty(value = "eventPayFirstDay")
    private Long eventPayFirstDay;
    /**
     * photoClickCost
     */
    @Excel(name = "photoClickCost", width = 15)
    @ApiModelProperty(value = "photoClickCost")
    private BigDecimal photoClickCost;
    /**
     * actionCost
     */
    @Excel(name = "actionCost", width = 15)
    @ApiModelProperty(value = "actionCost")
    private BigDecimal actionCost;
    /**
     * 分享数
     */
    @Excel(name = "分享数", width = 15)
    @ApiModelProperty(value = "分享数")
    private Long share;
    /**
     * 评论数
     */
    @Excel(name = "评论数", width = 15)
    @ApiModelProperty(value = "评论数")
    private Long comment;
    /**
     * 点赞数
     */
    @Excel(name = "点赞数", width = 15)
    @ApiModelProperty(value = "点赞数")
    private Long photoLike;
    /**
     * 新增关注数
     */
    @Excel(name = "新增关注数", width = 15)
    @ApiModelProperty(value = "新增关注数")
    private Long follow;
    /**
     * 举报数
     */
    @Excel(name = "举报数", width = 15)
    @ApiModelProperty(value = "举报数")
    private Long report;
    /**
     * 拉黑数
     */
    @Excel(name = "拉黑数", width = 15)
    @ApiModelProperty(value = "拉黑数")
    private Long block;
    /**
     * negative
     */
    @Excel(name = "negative", width = 15)
    @ApiModelProperty(value = "negative")
    private Long negative;
    /**
     * 激活数
     */
    @Excel(name = "激活数", width = 15)
    @ApiModelProperty(value = "激活数")
    private Long activation;
    /**
     * submit
     */
    @Excel(name = "submit", width = 15)
    @ApiModelProperty(value = "submit")
    private Long submit;
    /**
     * cancelFollow
     */
    @Excel(name = "cancelFollow", width = 15)
    @ApiModelProperty(value = "cancelFollow")
    private Long cancelFollow;
    /**
     * 安卓下载开始数
     */
    @Excel(name = "安卓下载开始数", width = 15)
    @ApiModelProperty(value = "安卓下载开始数")
    private Long downloadStarted;
    /**
     * 安卓下载完成数
     */
    @Excel(name = "安卓下载完成数", width = 15)
    @ApiModelProperty(value = "安卓下载完成数")
    private Long downloadCompleted;
    /**
     * 创建时间
     */
    @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;
    /**
     * signature
     */
    @Excel(name = "signature", width = 15)
    @ApiModelProperty(value = "signature")
    private String signature;
    /**
     * url
     */
    @Excel(name = "url", width = 15)
    @ApiModelProperty(value = "url")
    private String url;

    public KuaishouReportHourlyCreativeStatistic(KuaishouReportHourlyCreative creative) {
        this.id = creative.getId();
        this.accountId = creative.getAccountId();
        this.creativeId = creative.getCreativeId();
        this.statDate = creative.getStatDate();
        this.statHour = creative.getStatHour();
        this.charge = creative.getCharge();
        this.photoClick = creative.getPhotoClick();
        this.photoShow = creative.getPhotoShow();
        this.aclick = creative.getAclick();
        this.bclick = creative.getBclick();
        this.photoClickRatio = creative.getPhotoClickRatio();
        this.actionRatio = creative.getActionRatio();
        this.impression1kCost = creative.getImpression1kCost();
        this.eventCreditGrantLandingPageCost = creative.getEventCreditGrantLandingPageCost();
        this.eventCreditGrantLandingPage = creative.getEventCreditGrantLandingPage();
        this.eventJinJianLandingPageCost = creative.getEventJinJianLandingPageCost();
        this.eventJinJianLandingPage = creative.getEventJinJianLandingPage();
        this.formActionRatio = creative.getFormActionRatio();
        this.formCost = creative.getFormCost();
        this.formCount = creative.getFormCount();
        this.eventOrderPaidCost = creative.getEventOrderPaidCost();
        this.eventOrderPaidPurchaseAmount = creative.getEventOrderPaidPurchaseAmount();
        this.eventOrderPaid = creative.getEventOrderPaid();
        this.eventCreditGrantAppRatio = creative.getEventCreditGrantAppRatio();
        this.eventCreditGrantAppCost = creative.getEventCreditGrantAppCost();
        this.eventCreditGrantApp = creative.getEventCreditGrantApp();
        this.eventPayPurchaseAmountFirstDay = creative.getEventPayPurchaseAmountFirstDay();
        this.eventJinJianAppCost = creative.getEventJinJianAppCost();
        this.eventJinJianApp = creative.getEventJinJianApp();
        this.eventRegisterCost = creative.getEventRegisterCost();
        this.eventRegister = creative.getEventRegister();
        this.eventPayRoi = creative.getEventPayRoi();
        this.eventPayPurchaseAmount = creative.getEventPayPurchaseAmount();
        this.eventPay = creative.getEventPay();
        this.eventPayFirstDayRoi = creative.getEventPayFirstDayRoi();
        this.eventPayFirstDay = creative.getEventPayFirstDay();
        this.photoClickCost = creative.getPhotoClickCost();
        this.actionCost = creative.getActionCost();
        this.share = creative.getShare();
        this.comment = creative.getComment();
        this.photoLike = creative.getPhotoLike();
        this.follow = creative.getFollow();
        this.report = creative.getReport();
        this.block = creative.getBlock();
        this.negative = creative.getNegative();
        this.activation = creative.getActivation();
        this.submit = creative.getSubmit();
        this.cancelFollow = creative.getCancelFollow();
        this.downloadStarted = creative.getDownloadStarted();
        this.downloadCompleted = creative.getDownloadCompleted();
        this.updateTime = new Date();
        this.createTime = new Date();
    }

    public KuaishouReportHourlyCreativeStatistic() {
    }
}
