package com.palmnest.dao.estateserve;

import com.palmnest.dao.GenericDao;
import com.palmnest.model.estateserve.ServiceFunctionRelation;
import com.palmnest.model.estateserve.ServiceProjectAllocation;
import com.palmnest.model.estateserve.ServiceTypeInfo;

import java.util.List;
import java.util.Map;

/**
 * 服务-功能关系DAO
 * Created by HXT on 2018/8/13.
 */
public interface ServeConfigDao extends GenericDao<ServiceFunctionRelation, Long> {

	/**
	 * 根据服务id和端口类型删除记录
	 *
	 * @param serverId
	 * @param port
	 */
	public void deleteByServerIdAndType(Integer serverId, Integer port);

	/**
	 * 查询指定服务对应端的功能列表
	 *
	 * @param serverId 服务id
	 * @param port     哪个端 0-PC 1-APP
	 * @return
	 */
	public List<ServiceFunctionRelation> getFunctionById(Integer serverId, Integer port);

	/**
	 * 获取服务列表
	 *
	 * @return
	 */
	public List<ServiceTypeInfo> getServiceList();

	/**
	 * 查询当前项目拥有的已上线的服务所对应的功能集合
	 *
	 * @param projectId 项目id
	 * @return
	 */
	List<Map<String, Object>> getFunctionListByProjectId(Integer projectId);

	/**
	 * 根据功能id删除记录
	 *
	 * @param funcId
	 */
	public void deleteByFuncId(Integer funcId);

	/**
	 * 根据功能id查询服务信息
	 *
	 * @param funcIds
	 * @return
	 */
	ServiceTypeInfo getServiceTypeInfoByFuncId(String funcIds);

	ServiceProjectAllocation getServiceOrgInfo(int serviceId, String orgId);
}
