package org.dromara.settlement.api;


import org.dromara.settlement.api.domain.Result;
import org.dromara.settlement.api.domain.auth.BankCardInfo;
import org.dromara.settlement.api.domain.auth.BankInfo;
import org.dromara.settlement.api.domain.auth.CardIdBack;
import org.dromara.settlement.api.domain.auth.CardIdPositive;

public interface RemoteAuthService
{
	/**
	 * 认证身份证正面
	 * @author 张涛
	 * @date 2021年8月17日
	 * @param positive 正面图片地址
	 * @return
	 */
	public Result<CardIdPositive> authCardIdPositive(String positive);

	/**
	 * 认证身份证反面
	 * @author 张涛
	 * @date 2021年8月17日
	 * @param positive 正面图片地址
	 * @return
	 */
	public Result<CardIdBack> authCardIdBack(String back);

	/**
	 * 认证银行卡信息
	 * @author 张涛
	 * @date 2021年8月17日
	 * @param bankcardUrl 银行卡地址
	 * @return
	 */
	public Result<BankCardInfo> authBankInfo(String bankcardUrl);

	/**
	 * 认证银行卡是否一致
	 * @author 张涛
	 * @date 2021年8月17日
	 * @param bankcard 银行卡号
	 * @param name 银行卡账户名
	 * @param idcard 身份证号
	 * @return
	 */
	public Result<BankInfo> authBankMatch(String bankcard, String name, String idcard);

	/**
	 * 验证银行账号是否有效
	 * @author 张涛
	 * @date 2022年12月8日
	 * @param unitId 税源地id
	 * @param bankType 银行名称
	 * @param bankCard 银行卡号
	 * @param mobile 手机号
	 * @param name 姓名
	 * @param cardId 身份证号
	 * @return
	 */
	public Result<Boolean> valiAccount(long unitId,String bankType, String bankCard,String mobile,String name,String cardId);
}
