package shop.alien.entity.store;

import com.baomidou.mybatisplus.annotation.*;
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.util.Date;

/**
 * 推送任务数量统计表（按机型）
 */
@Data
@JsonInclude
@TableName("common_push_task_num")
@ApiModel(value = "CommonPushTaskNum", description = "推送任务数量统计表")
public class CommonPushTaskNum implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("活动ID，关联 common_push_task.id")
    @TableField("push_task_id")
    private Long pushTaskId;

    @ApiModelProperty("机型：1-OPPO 2-VIVO 3-华为 4-苹果 5-荣耀 6-小米 7-三星")
    @TableField("phone_type")
    private String phoneType;

    @ApiModelProperty("预计发送数")
    @TableField("expected_send")
    private String expectedSend;

    @ApiModelProperty("实际发送数")
    @TableField("real_send")
    private String realSend;

    @ApiModelProperty("实际送达数")
    @TableField("real_delivered")
    private String realDelivered;

    @ApiModelProperty("点击数")
    @TableField("click_sum")
    private String clickSum;

    @ApiModelProperty("展示数")
    @TableField("show_sum")
    private String showSum;

    @ApiModelProperty("删除标记，0:未删除，1:已删除")
    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    @ApiModelProperty("创建时间")
    @TableField(value = "created_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    @ApiModelProperty("创建人ID")
    @TableField("created_user_id")
    private Integer createdUserId;

    @ApiModelProperty("修改时间")
    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    @ApiModelProperty("修改人ID")
    @TableField("updated_user_id")
    private Integer updatedUserId;
}
