package com.persagy.adm.server.custom.service;

import com.persagy.adm.server.custom.common.AdmRequest;
import com.persagy.adm.server.custom.dto.HasUpdateReq;
import com.persagy.adm.server.custom.entity.*;

import java.util.Map;

/**
 * 与APP端进行数据同步的服务
 */
public interface ISyncApp {

	String getClientId(String userId);

	Dict queryDict(String groupCode, String projectId, String userId, boolean includeRel, boolean includeInfos);

	Dict downloadDict(String groupCode, String projectId, String userId);

	ConfigData downloadConfig(String groupCode, String projectId, String userId);

	Map<String, Object> downloadFrameData(String groupCode, String projectId, String userId);

	/*Map<String, Object> downloadFloorData(String projectId, String floorId, String uploadFlag, String lastDownloadTime);*/

	BuildingData downloadBuildingData(String projectId, String buildingId, String uploadFlag, String lastDownloadTime);

	BuildingData downloadBuildingData(AdmRequest admRequest);

	ProjectData downloadProjectData(String groupCode, String projectId, String userId, String clientId, Long bdtpDownloadTs, Long admDownloadTs);

	UploadRtn uploadData(UploadData uploadData, String groupCode, String projectId, String userId, String clientId);

	boolean hasUpdate(HasUpdateReq hasUpdateReq);
}
