package com.crm.ucard.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.dto.ucard.CardKycStatusDto;
import com.crm.rely.backend.core.entity.base.SingleLongEntity;
import com.crm.rely.backend.core.entity.custom.kyc.WebsdkLinkAliEntity;
import com.crm.rely.backend.core.entity.ucard.CardKycApproveEntity;
import com.crm.rely.backend.core.entity.ucard.CardKycStatusPageEntity;
import com.crm.rely.backend.exception.ServiceException;

public interface KycService {

    /**
     * 身份认证获取web链接
     */
    BaseResultDto getWebsdkLink(WebsdkLinkAliEntity entity, Long id) throws ServiceException;

    /**
     * kyc认证详情
     */
    BaseResultDto kycStatusSingle(SingleLongEntity entity) throws ServiceException;

    /**
     * 手动KYC认证
     *
     * @param entity 认证请求参数
     * @return 认证结果
     * @throws ServiceException 服务异常
     */
    BaseResultDto manualSubmitKyc(CardKycApproveEntity entity) throws ServiceException;

    /**
     * 获取kyc认证分页列表
     */
    ResultWithPagerDto<CardKycStatusDto> getKycPageList(CardKycStatusPageEntity entity) throws ServiceException;

}
