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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
@ApiModel("草莓护照-货架徽章项（含认领状态与交互提示）")
public class AdamCaomeiPassportBadgeShelfItemVo {

    @ApiModelProperty("徽章ID")
    private String badgeId;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("副标题")
    private String subTitle;

    @ApiModelProperty("图标")
    private String icon;

    @ApiModelProperty("分享文案")
    private String shareText;

    @ApiModelProperty("类型 1护照 2演出 3特殊（不含 4 签证页，签证页见签证卡片接口）")
    private Integer type;

    @ApiModelProperty("关联演出ID（演出纪念徽章、签证页）")
    private String performanceId;

    @ApiModelProperty("关联演出名称（type=2 时用于按演出分组展示；无数据时可能为演出ID）")
    private String performanceName;

    @ApiModelProperty("是否已认领")
    private boolean claimed;

    @ApiModelProperty("认领时间（未认领为空）")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
    private Date claimedAt;

    @ApiModelProperty("是否可认领（护照徽章未发放完全，或演出徽章有票未领）")
    private boolean claimable;

    @ApiModelProperty("是否存在补签待审核（仅演出徽章生效）")
    private boolean applyPending;
}
