package com.fdkankan.scene.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.scene.vo.BaseSceneParamVO;
import com.fdkankan.scene.vo.SaveFiltersParamVO;
import com.fdkankan.web.response.ResultData;
import com.fdkankan.scene.entity.SceneEditInfo;
import com.fdkankan.scene.vo.BallScreenVideoParamVO;
import com.fdkankan.scene.vo.BaseDataParamVO;
import com.fdkankan.scene.vo.BaseFileParamVO;
import com.fdkankan.scene.vo.DeleteLinkPanParamVO;
import com.fdkankan.scene.vo.DeleteStylesParamVO;
import com.fdkankan.scene.vo.DeleteMosaicParamVO;
import com.fdkankan.scene.vo.DeleteSidParamVO;
import com.fdkankan.scene.vo.DownloadVO;
import com.fdkankan.scene.vo.FileNameAndDataParamVO;
import com.fdkankan.scene.vo.FileParamVO;
import com.fdkankan.scene.vo.RenameCadParamVO;
import com.fdkankan.scene.vo.SaveLinkPanParamVO;
import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
import com.fdkankan.scene.vo.SceneEditInfoParamVO;
import com.fdkankan.scene.vo.SceneEditInfoVO;
import com.fdkankan.scene.vo.SceneInfoParamVO;
import com.fdkankan.scene.vo.SceneInfoVO;
import java.io.IOException;
import java.util.List;
import org.springframework.web.multipart.MultipartFile;
/**
*
* 服务类
*
*
* @author
* @since 2022-01-18
*/
public interface ISceneEditInfoService extends IService {
SceneEditInfoVO saveScene(SceneEditInfoParamVO param);
SceneEditInfo getBySceneProId(long sceneProId);
SceneEditInfo getByScenePlusId(long scenePlusId);
ResultData publicScene(SceneEditInfoParamVO param) throws Exception;
SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception;
// ResultData saveUpload(SaveUploadParamVO param) throws Exception;
ResultData saveCad(BaseDataParamVO param) throws Exception;
ResultData uploadDxf(MultipartFile file, String num, Integer subgroup) throws Exception;
ResultData downloadDxf(String num, Integer subgroup) throws Exception;
ResultData resetCad(String num) throws IOException;
ResultData renameCad(RenameCadParamVO param) throws IOException;
void upgradeVersionById(Long id);
void upgradeVersionAndImgVersionById(Long id);
void upgradeSceneJsonVersion(String num, int version, Integer imgVersion, String bucket) throws IOException ;
ResultData uploadPanorama(String num, MultipartFile file) throws Exception;
ResultData downloadPanorama(FileParamVO param) throws Exception;
void saveTagsToSceneEditInfo(String num, SceneEditInfo sceneEditInfo);
ResultData saveVideoBox(FileNameAndDataParamVO param) throws Exception;
ResultData deleteVideoBox(DeleteSidParamVO param) throws Exception;
ResultData saveBoxPhoto(BaseDataParamVO param) throws Exception;
ResultData deleteBoxPhoto(DeleteSidParamVO param) throws Exception;
DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param);
ResultData uploadBallScreenVideo(String num,String fileName,MultipartFile file) throws Exception;
void upgradeVersionToSceneJson(String num, String bucket) throws Exception;
ResultData sceneSync(String num, String type, String floorPlanJson, String ajkJson, String cameraJson, MultipartFile[] files) throws Exception;
ResultData checkKey(SceneCheckKeyParamVO param) throws Exception;
ResultData addMosaics(BaseDataParamVO param) throws Exception;
ResultData uploadLinkPan(String num, String sid, String fileName, MultipartFile file) throws Exception;
ResultData saveLinkPan(SaveLinkPanParamVO param) throws Exception;
ResultData listLinkPan(String num) throws Exception;
ResultData deleteLinkPan(DeleteLinkPanParamVO param) throws Exception;
ResultData deleteStyles(DeleteStylesParamVO param) throws Exception;
ResultData deleteMosaics(DeleteMosaicParamVO param) throws Exception;
List getMosaicList(String num) throws Exception;
ResultData addWaterMark(BaseFileParamVO param) throws Exception;
ResultData deleteWaterMark(BaseFileParamVO param) throws Exception;
ResultData saveFilter(SaveFiltersParamVO param) throws Exception;
ResultData listFilter(BaseSceneParamVO param) throws Exception;
}