package com.palmnest.service.org;

import com.palmnest.model.TbCompany;
import com.palmnest.model.property.TbOrganization;
import com.palmnest.model.property.TbOrganizationConfig;

import java.util.List;

public interface OrganizationService {

	/**
	 * 为项目添加默认项目管理员角色，并给该角色赋予基础权限
	 *
	 * @param orgId
	 */
	public void addRoleForOrg(Integer orgId);

	/**
	 * 为项目上架下架某模块服务时对应的项目管理员角色权限要变
	 *
	 * @param orgId
	 * @param serviceId
	 * @param type      1上架 新增 2下架 删除
	 */
	public void updateOrgServiceRoleFuction(Integer orgId, Integer serviceId, Integer type);

	public void updateUserRole(List<String> orgnizations, Long userId);

	/**
	 * 查询公司列表
	 *
	 * @param isenabled 空-查询所有，1-查询可用 0-查询不可用
	 */
	public List<TbCompany> getCompanyList(String isenabled);

	/**
	 * 根据id获取项目配置对象
	 *
	 * @param id
	 * @return
	 */
	public TbOrganizationConfig getObj(String id);

	/**
	 * 根据项目id获取项目配置对象
	 *
	 * @param orgId
	 * @return
	 */
	public TbOrganizationConfig getDiscoverConfigByOrgId(String orgId);

	public String saveOrUpdateTbOrgConfig(TbOrganizationConfig config);

	public TbOrganization getByMettingClient(String mettingClient);

	List<TbOrganization> enableOrgList(Integer enable);
	
	/**
	 * 定时任务
	 * koala帐号
	 */
	public void  koalaProjectConfig();
	
	
	/**
	 * 定时任务
	 * 同步koala通行日志
	 */
	public void  snycKoalaPassLog();
}
