package com.hzs.third.pay.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.third.pay.TOnlineCard;

import java.util.List;

/**
 * 在线银行卡明细 服务类
 *
 * @author hzs
 * @since 2023-03-17
 */
public interface ITOnlineCardService extends IService<TOnlineCard> {

    /**
     * 查询绑卡列表
     *
     * @param pkMember    会员ID
     * @param customerNum 商户编号
     * @param pkCountry   所属国家
     * @return
     */
    List<TOnlineCard> queryBankList(Long pkMember, String customerNum, Integer pkCountry);

    /**
     * 校验用户银行卡是否存在
     *
     * @param pkMember    会员ID
     * @param bankNo      银行卡号
     * @param customerNum 商户编号
     * @param pkCountry   所属国家
     * @return
     */
    TOnlineCard checkUserBankExist(Long pkMember, String bankNo, String customerNum, Integer pkCountry);

    /**
     * 根据编号查询银行卡
     *
     * @param code        绑卡编号
     * @param pkMember    会员编号
     * @param customerNum 商户编号
     * @param pkCountry   所属国家
     * @return
     */
    TOnlineCard queryCardByCode(String code, Long pkMember, String customerNum, Integer pkCountry);

    /**
     * 更新银行卡信息
     *
     * @param tOnlineCard 银行卡信息
     * @return
     */
    int updateBankInfo(TOnlineCard tOnlineCard);

    /**
     * 解绑银行卡信息
     *
     * @param code        绑卡编号
     * @param pkMember    会员编号
     * @param customerNum 商户编号
     * @return
     */
    int unBindBank(String code, Long pkMember, String customerNum);

}
