package com.palmnest.service.estateserve;

import com.palmnest.model.estateserve.ServiceFunctionRelation;
import com.palmnest.model.estateserve.ServiceProjectAllocation;
import com.palmnest.model.estateserve.ServiceTypeInfo;
import com.palmnest.service.GenericManager;

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

/**
 * Created by HXT on 2018/8/13.
 */
public interface ServeConfigManager extends GenericManager<ServiceFunctionRelation, Long> {

	/**
	 * 保存服务功能关系
	 *
	 * @param serverId 服务id
	 * @param port     哪个端 0-PC 1-APP
	 * @param funcIds  功能id集合
	 */
	public void saveUpdate(Integer serverId, Integer port, String[] funcIds);

	/**
	 * 查询指定服务对应端的功能列表
	 *
	 * @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 funcIds
	 * @return
	 */
	ServiceTypeInfo getServiceTypeInfoByFuncId(String funcIds);

	ServiceProjectAllocation getServiceOrgInfo(int serviceId, String orgId);
}
