package com.liquidnet.service.adam.service;

import com.liquidnet.service.adam.dto.vo.AdamCaomeiPassportHomeVo;
import com.liquidnet.service.adam.dto.vo.AdamCaomeiPassportUserClaimedBadgeVo;
import com.liquidnet.service.adam.dto.vo.AdamCaomeiVisaCardVo;
import com.liquidnet.service.base.ResponseDto;

import java.util.List;

/**
 * 草莓护照（用户端）
 */
public interface IAdamCaomeiPassportUserService {

    /**
     * 绑定实体护照：校验编号有效性、是否可绑；通过则写入并发放已上架护照纪念徽章（type=1）
     */
    ResponseDto<List<AdamCaomeiPassportUserClaimedBadgeVo>> bindPassport(String passportNo);

    /**
     * 护照首页：个人信息、实名状态、已认领墙、上架徽章货架；末尾自动发放满足条件的 type=4 签证页（响应中不含签证页）
     */
    ResponseDto<AdamCaomeiPassportHomeVo> getPassportHome();

    /**
     * 签证页卡片列表（type=4）：仅从用户已获徽章缓存/库中筛选 type=4。
     * 需用户先访问护照首页 {@link #getPassportHome()} 触发静默发放后，本接口才有数据。
     */
    ResponseDto<List<AdamCaomeiVisaCardVo>> listVisaCards();

    /**
     * 校验当前登录用户是否已绑定护照
     */
    ResponseDto<Boolean> checkPassportBound();
}
