package com.hzs.system.config.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.CuMemberTransferWhite;
import com.hzs.system.config.vo.CuMemberTransferWhiteVO;

import java.util.List;

/**
 * <p>
 * 会员转账币种白名单  服务类
 * </p>
 *
 * @author hzs
 * @since 2024-07-03
 */
public interface ICuMemberTransferWhiteService extends IService<CuMemberTransferWhite> {

    /**
     * 根据会员和账户查询白名单配置
     *
     * @param pkMember  会员ID
     * @param pkAccount 账户ID
     * @return BdTradeWhiteConfig
     */
    CuMemberTransferWhite selectByPkMemberAndPkAcount(Long pkMember, Integer pkAccount);

    /**
     * 添加白名单配置
     *
     * @param cuMemberTransferWhiteVO 入参
     * @return Integer
     */
    Integer addTransferWhiteConfig(CuMemberTransferWhiteVO cuMemberTransferWhiteVO);


    /**
     * 查询转账币种配置列表
     *
     * @param transferWhiteVO 入参
     * @return Object[]
     */
    Object[] selectTransferWhiteConfigList(CuMemberTransferWhiteVO transferWhiteVO);


    /**
     * 更新转账币种配置白名单
     *
     * @param transferWhiteVO 入参
     * @return Boolean
     */
    Integer updateTransferWhite(CuMemberTransferWhiteVO transferWhiteVO);


    /**
     * 删除转账币种白名单
     *
     * @param pkIds     pkIds
     * @param pkCreator 修改人
     * @return Integer
     */
    Integer deleteTransferWhiteConfig(String pkIds, Long pkCreator);


    /**
     * 根据Id查询详情
     *
     * @param pkId id
     * @return CuMemberTransferWhiteExt
     */
    CuMemberTransferWhiteVO selectTransferWhiteById(Long pkId);


    /**
     * 根据会员ID查询账户白名单
     *
     * @param pkMember  会员ID
     * @param pkCountry 国家
     * @return List<Long>
     */
    List<Integer> selectTransferWhiteByPkMember(Long pkMember, Integer pkCountry);

}
