package com.cusc.nirvana.user.rnr.fp.service;

import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.fp.dto.*;
import com.cusc.nirvana.user.rnr.mg.dto.MgRnrCardInfoDTO;

import java.util.List;

/**
 * @author stayAnd
 * @date 2022/5/17
 */
public interface INewVinCardService {


	/**
	 * 查询未绑定的车卡关系
	 * @param queryDTO 请求参数
	 * @return 返回结果
	 */
	Response<VinCardResultDTO> queryUnBindCardByVin(VinCardQueryDTO queryDTO);


	/**
	 * 查询绑定的车卡关系
	 * @param queryDTO 请求参数
	 * @return 返回结果
	 */
	VinCardResultDTO queryBindCardByVin(VinCardQueryDTO queryDTO);

	/**
	 * 校验车卡关系
	 * @param vinCardCheckDTO 请求参数
	 * @return 返回结果
	 */
	VinCardCheckResultDTO checkVinCard(VinCardCheckDTO vinCardCheckDTO);


	/**
	 * 校验车卡关系 返回卡的错误信息
	 * @param requestDTO requestDTO
	 * @return 返回结果
	 */
	VinCardCheckMessageResultDTO checkVinCardMessage(VinCardCheckMessageRequestDTO requestDTO);


	/**
	 * 只检查vin
	 * @param requestDTO requestDTO
	 * @return 返回结果
	 */
	VinCheckResultDTO checkVin(VinCheckRequestDTO requestDTO);

	/**
	 * 过滤车企实名的卡
	 * @param cardInfoList cardInfoList
	 * @return 返回结果
	 */
	List<MgRnrCardInfoDTO> filterManufacturerRnr(List<MgRnrCardInfoDTO> cardInfoList);
}
