package com.tzy.base.service;

import com.tzy.base.dto.*;

import java.util.List;

/**
 *
 */
public interface SysBaseService {
    /**
     * 查询支付类型
     * @param type
     * @param status
     * @return
     */
    public List<String> selectPayType(String type ,String status);

    /**
     * 添加财务退款记录
     * @param orderNo
     */
    public void refundBack(String orderNo);
    /**
     *
     * @param username
     * @return
     */
    public SysMerchantDto selectMerchantInfo(String username);

    public String getAppMenuByCode (String code);

    public MerchantDto selectMerchantInfoByid(Long id);

    public AddressInfoDto searchAddressById(Integer id);

    public List<DictBaseDto> selectDictData(String type, String key);

    public List<DictBaseDto> selectDictDataByLabel(String type, String key);

    public List<DictBaseDto> selectDictDataByDictType(String type);

    public ExpresPriceDto selectOneExpresPriceRules(String appid, String fromProvince , String toProvince);

    public List<ExpresPriceDto> selectExpresPriceRulesV2(ExpresPriceDto expresPriceDto);

    public int addUserBankInfo(BankInfoDto bankInfoDto);

    public int bandUserBankInfo(BankInfoDto bankInfoDto);
    public int unbandUserBankInfo(BankInfoDto bankInfoDto);

    public BankInfoDto selectUserBankInfoById(Integer userId,Integer id);

    public BankInfoDto selectUserRechargeAccountInfo(BankInfoDto bankInfoDto);
    public BankInfoDto selectUserBankInfoByAccount(BankInfoDto bankInfoDto);
    public BankInfoDto selectMerchantInfoByAccount(BankInfoDto bankInfoDto);

    public List<BankInfoDto> selectUserBankInfoByUserId(Integer userId,Integer status,String type);

    public List<BankInfoDto> getBankList(Integer userId,Integer status,String type);

    public List<BankInfoDto> selectUserBankInfo(BankInfoDto bankInfoDto);

    public ChecklistBaseConfigDto selectChecklistBaseConfigAndPrice (Integer id);

    /**
     * @param id
     * @return
     */
    public ChecklistBaseConfigDto selectChecklistBaseConfigAndPriceV2 (Integer id);

    public Integer selectChecklistBaseCustom (Integer id);

    /**
     * 验证商家快递权限
     * @return
     */
    public List<DictBaseDto> checkMerchantExpressAuth(Integer id ,String level );

    public MerchantExpressConfigDto checkMerchantExpressAuthV2(Integer id ,String level );

    public boolean checkPresaleTime(Integer groupInfoId);

    public boolean checkPresaleTimeV2(Integer groupInfoId);

    String selectChecklistBaseConfig(Long groupInfoId);

}
