package shop.alien.entity.store.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 推送任务统计列表项
 */
@Data
@JsonInclude
@ApiModel(value = "CommonPushTaskStatisticsItemVo", description = "推送任务统计列表项")
public class CommonPushTaskStatisticsItemVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("任务ID")
    private Long id;

    @ApiModelProperty("任务编号")
    private String taskNo;

    @ApiModelProperty("推送标题")
    private String title;

    @ApiModelProperty("推送类型：1-交易类 2-系统类 3-运营类 4-社交类")
    private Integer pushType;

    @ApiModelProperty("任务状态")
    private String status;

    @ApiModelProperty("所选渠道")
    private String channels;

    @ApiModelProperty("目标用户数")
    private Integer estimatedCount;

    @ApiModelProperty("实际发送数（common_push_task_num.real_send 汇总）")
    private Long sentCount;

    @ApiModelProperty("送达数（common_push_task_num.real_delivered 汇总）")
    private Long deliveredCount;

    @ApiModelProperty("点击数（common_push_task_num.click_sum 汇总）")
    private Long clickCount;

    @ApiModelProperty("推送率（实际发送数/目标用户数，%）")
    private BigDecimal pushRate;

    @ApiModelProperty("送达率（送达数/实际发送数，%）")
    private BigDecimal deliveryRate;

    @ApiModelProperty("点击率（点击数/送达数，%）")
    private BigDecimal clickRate;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;
}
