package com.fdkankan.scene.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.common.response.ResultData;
import com.fdkankan.scene.entity.ScenePro;
import com.fdkankan.scene.entity.SceneProPO;
import com.fdkankan.scene.vo.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
/**
*
* pro场景表 服务类
*
*
* @author dengsixing
* @since 2021-12-23
*/
public interface ISceneProService extends IService {
List convert(List list);
List convert2(List list);
Long getSceneCount(Long cameraId,Long userId);
ScenePro findBySceneNum(String sceneNum);
ScenePro findLikeSceneNum(String sceneNum);
ScenePro findDeleteSceneBySceneNum(String sceneNum);
SceneProPO getSceneStatusByUnicode(String unicode, Integer tbStatus);
List findByUserIdAndCameraType(Long userId, Integer cameraType);
List findBySceneNums(List sceneCodeList, Integer cameraType);
void updateStatus(String sceneNum, int sceneStatus);
ResultData resetUploadFloorJson(SceneEditParamVO sceneEdit) throws Exception;
ResultData uploadFloorJson(SceneEditParamVO sceneEdit) throws Exception;
ResultData uploadFloorJsonAjk(FileParamVO param, MultipartFile[] file) throws Exception;
ResultData addHotMediaInfo(SceneEditParamVO base) throws Exception;
ResultData saveScreencapFile(SceneEditParamVO base) throws Exception;
ResultData saveSceneKey(SceneEditParamVO base) throws Exception;
ResultData saveFloorLogo(SceneEditParamVO base) throws Exception;
ResultData saveBackgroundMusic(SceneEditParamVO base) throws Exception;
ResultData saveInitialPage(FileNameAndDataParamVO param) throws Exception;
ResultData getScreencapVoice(SceneEditParamVO base) throws Exception;
ResultData uploadScreencapVoiceNew(FileParamVO param, MultipartFile file) throws Exception;
ResultData uploadScreencapVoiceNewV3(FileParamVO param, MultipartFile file) throws Exception;
ResultData deleteScreencapVoicePart(FileParamVO param) throws Exception;
ResultData deleteScreencapVoice(SceneEditParamVO base) throws Exception;
ResultData deleteScreencap(SceneEditParamVO base) throws Exception;
ResultData saveTourList(SceneEditParamVO base) throws Exception;
ResultData saveSceneInfo(SceneEditParamVO base) throws Exception;
ResultData uploadHotMedia(FileParamVO param, MultipartFile file) throws Exception;
ResultData tagSave(SaveTagsParamVO param) throws Exception;
ResultData addOrUpdateTag(SaveTagsParamVO param) throws Exception;
ResultData deleteTag(DeleteHotParamVO param) throws Exception;
ResultData deleteIcons(DeleteHotIconParamVO param) throws Exception;
ResultData listTags(String num) throws Exception;
ResultData saveShopHot(SceneEditParamVO base) throws Exception;
ResultData saveOverlay(SceneEditParamVO base) throws Exception;
ResultData uploadOverlayMedia(FileParamVO param, MultipartFile file) throws Exception;
ResultData saveScreencapData(SceneEditParamVO base) throws Exception;
ResultData saveRoam(BaseDataParamVO param) throws Exception;
ResultData saveTagsVisible(SaveTagsVisibleParamVO param) throws Exception;
ResultData uploadShareLogo(SceneEditParamVO base, MultipartFile file) throws Exception;
ResultData uploadPic(FileParamVO param, MultipartFile file) throws Exception;
ResultData uploadHotJsonToOss(SceneEditParamVO param) throws Exception;
ResultData deleteOss(FileParamVO param) throws Exception;
ResultData uploadFloorplanPng(FileParamVO param, MultipartFile[] file) throws Exception;
void updateTime(String sceneNum, Long space, int payStatus, String videos, long computeTime);
void updateTime2(String sceneNum, String videos, long computeTime);
SceneVO findLatestOneByUserId(Long userId);
void updateUserIdByCameraId(Long userId, Long cameraId);
List findByCameraIdPro(Long cameraId);
void updateCameraIdByCameraIdPro(Long oldCameraId, Long cameraId);
void updateRecStatus(String unicode);
SceneProPO findByFileId(String fileId);
List findTempScenes() throws Exception;
List findByCameraId(Long cameraId) throws Exception;
ResultData uploadObjAndImg(String num, MultipartFile file) throws Exception;
ResultData uploadLogoBottomStatus(FileParamVO param) throws Exception;
ResultData saveJsonData(FileParamVO param) throws Exception;
ResultData downloadPanoramaOrVideo(FileParamVO param) throws Exception;
ResultData uploadPanoramaOrVideo(FileParamVO param, MultipartFile file) throws Exception;
ResultData uploadROIVideo(FileParamVO param, MultipartFile file) throws Exception;
ResultData deleteROIVideo(FileParamVO param) throws Exception;
ResultData uploadBgMusic(FileParamVO param, MultipartFile file) throws Exception;
ResultData deleteUploadBgMusic(FileParamVO param) throws Exception;
ResultData savePanoramaJson(FileParamVO param) throws Exception;
ResultData copyAndUpdateFloorJson(FileParamVO param) throws Exception;
ResultData updateFloorJson(FileParamVO param) throws Exception;
Page getAppAllSceneByPage(Long cameraId, Long userId, int cameraType, int pageNum, Integer pageSize, String orderBy, Integer sceneType, List sceneCodeList, String sceneName);
Long findSceneNumByCameraId(Long cameraId);
SceneProPO findLastSceneByCameraId(Long cameraId);
Long findTotalSpaceByCameraId(Long cameraId);
void updatePayStatusByCameraId(Integer payStatus, Long cameraId);
ResultData downloadPanoramaData(SceneEditParamVO param) throws Exception;
ResultData getSceneAndCameras(Long userId,List excludeNums);
SceneProPO findBySceneNumWithOutCheckRecStatus(String sceneNum) throws Exception;
Integer findFolderIdScence(Long folderId, Long userId);
ResultData downloadVisionData(SceneEditParamVO param) throws Exception;
SceneVO getInfo(String sceneNum);
ResultData rebuildReduceSpaceBySceneNum(String sceneNum) throws Exception;
void tempScenes(List ids);
ResultData getRecordAudioFromBrowser(FileParamVO param, MultipartFile file) throws IOException;
ResultData checkVideoUrl(FileParamVO param);
ResultData downloadTexData(String num) throws Exception ;
ResultData downloadCapture(@RequestBody SceneParamVO param) throws Exception;
ResultData uploadResultsData(SceneParamVO param) throws Exception;
ResultData updateStatusByScene(SceneParamVO param) throws Exception;
ResultData getStatusByScene(SceneParamVO param) throws Exception;
ResultData checkDownLoad(String sceneNum);
List findByCameraIds(String cameraIds, String startTime, String endTime);
ResultData getScenesBySnCode(String snCode, String token);
}