package com.yh.saas.plugin.servicer.service;
import com.winsea.svc.base.base.util.page.PageView;

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.yh.saas.plugin.servicer.entity.ServicerMerchantInfo;
import com.yh.saas.plugin.servicer.entity.view.ServicerView;

/**
 * <p>
 * 记录服务商信息表 服务类
 * </p>
 *
 * @author yul
 * @since 2019-11-11
 */
public interface IServicerMerchantInfoService extends IService<ServicerMerchantInfo> {

	/**
	 * 保存服务商信息
	 * 
	 * @param merchantInfoView
	 * @return
	 */
	String saveServicerMerchant(ServicerView<ServicerMerchantInfo> merchantInfoView);

	/**
	 * 审核服务商信息
	 * 
	 * @param merchantInfoView
	 * @return
	 */
	void approveServicerMerchant(ServicerView<ServicerMerchantInfo> merchantInfoView);

	/**
	 * 删除服务商信息
	 * 
	 * @param merchantInfo
	 */
	void deleteMerchantById(ServicerMerchantInfo merchantInfo);

	/**
	 * 服务商信息分页列表查询
	 * 
	 * @param pageView
	 * @return
	 */
	Page<ServicerMerchantInfo> selectPageByCondition(PageView pageView);

	/**
	 * 服务商信息列表查询
	 * 
	 * @param params
	 * @return
	 */
	List<ServicerMerchantInfo> selectListByCondition(Map<String, Object> params);

	/**
	 * 服务商银行信息列表查询
	 * 
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> selectBankListByCondition(Map<String, Object> params);

	/**
	 * 根据服务商ID查看服务商详情
	 * 
	 * @param servicerId
	 * @return
	 */
	ServicerMerchantInfo selectServicerMerchantInfoById(String servicerId);

	/**
	 * 获取服务商邮箱地址
	 * @param servicerId
	 * @return
	 */
	String getServicerMerchantMailInfo(String servicerId);

	/**
	 * 修改是否启用
	 */
	void updateEnabled(String id);
}
