package com.fdkankan.scene.service;
import com.alibaba.fastjson.JSONObject;
import com.fdkankan.common.response.ResultData;
import com.fdkankan.scene.api.dto.SceneInfoDTO;
import com.fdkankan.scene.entity.SceneEditInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.scene.vo.*;
import java.io.IOException;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
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;
SceneInfoDTO getSceneInfo4Download(SceneInfoParamVO param) throws Exception;
ResultData saveUpload(SaveUploadParamVO param) throws Exception;
ResultData saveCad(BaseDataParamVO param) 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) 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) 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(DeleteLinkSceneStylesParamVO 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(BaseDataParamVO param) throws Exception;
ResultData listFilter(BaseSceneParamVO param) throws Exception;
ResultData uploadROIImage(String sceneNum, String filter) throws Exception;
}