package cn.pluss.platform.mapper;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import cn.pluss.platform.entity.BankUnionpayCode;
import cn.pluss.platform.leshua.BankNameVO;
import cn.pluss.platform.leshua.CityVO;
import cn.pluss.platform.leshua.ProvinceVO;

@Mapper
public interface BankUnionpayCodeMapper {

    BankUnionpayCode queryBankUnionpayCode(BankUnionpayCode bankUnionpayCode);

    List<BankUnionpayCode> queryBankUnionpayCodeList(BankUnionpayCode bankUnionpayCode);

    void saveBankUnionpayCode(BankUnionpayCode bankUnionpayCode);

    void updateBankUnionpayCode(BankUnionpayCode bankUnionpayCode);

    void deleteBankUnionpayCode(BankUnionpayCode bankUnionpayCode);

    List<BankUnionpayCode> queryBankUnionpayCodePage(Map map);

    Integer queryBankUnionpayCodePageCount(Map map);

    void saveBankUnionpayCodeBatch(List<BankUnionpayCode>  bankUnionpayCodeList);
    
    /**
     * 
     * getBankNameList:(查询银行). <br/> 
     *
     * @author Administrator 
     * @return 
     * @since JDK 1.8
     */
    List<String> getBankNameList();
    
    /**
     * 
     * getProvince:(查询省份). <br/> 
     *
     * @author Administrator 
     * @return 
     * @since JDK 1.8
     */
    List<ProvinceVO> getProvince();
    
    
    /**
     * 
     * getCity:(省下面的市). <br/> 
     *
     * @author Administrator 
     * @param provinceCode 省份
     * @return 
     * @since JDK 1.8
     */
    List<CityVO> getCity(@Param(value="provinceCode")String provinceCode);
    
    /**
     * 
     * getBranchName:(根据省市 银行名称 查询支行). <br/> 
     *
     * @author Administrator 
     * @param areaCode 市
     * @param provinceCode 省份
     * @param bankName
     * @return 
     * @since JDK 1.8
     */
    List<BankNameVO> getBranchName(@Param(value="areaCode")String areaCode,@Param(value="provinceCode")String provinceCode,@Param(value="bankName")String bankName,@Param(value="brankName")String brankName);
    
}

