package com.liquidnet.service.goblin.dto.vo;

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

import java.io.Serializable;

/**
 * 快递100订阅元数据（Redis 双层结构 - subscribe）
 */
@Data
@ApiModel("快递订阅元数据")
public class GoblinMailTrackSubscribeVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("当前是否处于有效订阅")
    private Boolean subscribed;

    @ApiModelProperty("polling|shutdown|abort|subscribe_failed|quota_exceeded")
    private String subscribeStatus;

    @ApiModelProperty("是否需要重新订阅")
    private Boolean needResubscribe;

    @ApiModelProperty("本自然月已订阅次数")
    private Integer subscribeCount;

    @ApiModelProperty("订阅计数所属自然月 yyyy-MM")
    private String subscribeMonth;

    @ApiModelProperty("首次订阅时间")
    private String firstSubscribeAt;

    @ApiModelProperty("最近一次订阅时间")
    private String lastSubscribeAt;

    @ApiModelProperty("最近失败原因")
    private String lastFailReason;

    @ApiModelProperty("最近失败时间")
    private String lastFailAt;

    @ApiModelProperty("本月订阅是否已超限(>=4)")
    private Boolean quotaExceeded;
}
