package shop.alien.store.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 各渠道推送状态回调入参（统一格式）
 */
@Data
@ApiModel(value = "CommonPushTaskUserCallbackDto", description = "推送任务用户状态回调")
public class CommonPushTaskUserCallbackDto {

    @ApiModelProperty("关联记录主键，与 pushTaskId+deviceId 二选一")
    private Long id;

    @ApiModelProperty("任务编号，与 pushTaskId 二选一（OPPO callBackParameter 回传）")
    private String taskNo;

    @ApiModelProperty("推送任务ID")
    private Long pushTaskId;

    @ApiModelProperty("用户ID")
    private Long userId;

    @ApiModelProperty("设备唯一标识ID")
    private String deviceId;

    @ApiModelProperty("渠道编码：apns/huawei/xiaomi/oppo/vivo/honor")
    private String channelCode;

    @ApiModelProperty("事件类型：sent-已发送 delivered-已送达 show-已展示 click-已点击")
    private String eventType;

    @ApiModelProperty("OPPO 回执自定义参数（同 callBackParameter）")
    private String param;

    @ApiModelProperty("OPPO 回执 registrationIds，逗号分隔")
    private String registrationIds;

    @ApiModelProperty("渠道原始状态码，由各渠道回调解析")
    private String channelStatus;

    @ApiModelProperty("发送状态：0-已发送 1-已送达")
    private Integer status;

    @ApiModelProperty("展示状态：0-未展示 1-已展示")
    private Integer showInfo;

    @ApiModelProperty("点击状态：0-未点击 1-已点击")
    private Integer userAdd;
}
