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.vo.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
*
* pro场景表 服务类
*
*
* @author dengsixing
* @since 2021-12-23
*/
public interface ISceneProAppService extends IService {
ResultData saveInitialPage(SceneEditParamVO base) throws Exception;
ResultData saveFloorLogo(SceneEditParamVO base) throws Exception;
ResultData saveHot(SceneEditParamVO base) throws Exception;
ResultData saveBackgroundMusic(SceneEditParamVO base) throws Exception;
ResultData saveSceneInfo(SceneEditParamVO base) throws Exception;
ResultData saveSceneKey(SceneEditParamVO base) throws Exception;
ResultData saveTourList(SceneEditParamVO base) throws Exception;
ResultData uploadPic(String sceneNum, String folderName, MultipartFile file) throws Exception;
ResultData uploadScreencapVoice(String sceneNum, MultipartFile file) throws Exception;
ResultData saveScreencapFile(SceneEditParamVO base) throws Exception;
ResultData saveHotVisible(SceneEditParamVO sceneEdit) throws Exception;
ResultData saveLinkPano(SceneEditParamVO base) throws Exception;
ResultData getRecordAudioFromWeixin(SceneEditParamVO base) throws Exception;
ResultData getRecordAudioFromWeixinV3(FileParamVO param) throws Exception;
ResultData getRecordAudioFromAppV3(FileParamVO param) throws Exception;
ResultData deleteRecordAudioPart(FileParamVO param) throws Exception;
ResultData uploadFloorJsonAndRebuild(SceneEditParamVO base) throws Exception;
ResultData saveScreencapData(SceneEditParamVO base) throws Exception;
ResultData saveAllVisi(SceneEditParamVO base) throws Exception;
ResultData uploadFloorplanPng(String sceneNum, MultipartFile file, String cadInfo) throws Exception;
ResultData uploadBgMusic(String sceneNum, String fileName, MultipartFile file) throws Exception;
ResultData deleteUploadBgMusic(String sceneNum) throws Exception;
Page getAllSceneByPage(UserParamVO param);
List getAllForCameraName(UserParamVO user);
Long getSceneCount(UserParamVO user);
Integer getSceneStatus(@RequestBody UserParamVO user);
Map getSceneStatusByUnicode(UserParamVO user);
ResultData deleteForCameraName(UserParamVO user) throws Exception;
ResultData deleteScene(String sceneNum) throws Exception;
List findScenesByUserIdAndSceneScheme(Long cameraId, String orderBy, Integer payStatus);
void lockBeyondSpaceScenes(Long usedSpace, Long totalSpace, Long cameraId) throws Exception;
void unlockBeyondSpaceScenes(Long newSpace, Long cameraId) throws Exception;
ResultData getScreencapVoice(SceneParamVO scene) throws Exception;
List getAllSceneByUserName(@RequestBody UserParamVO user) throws Exception;
ResultData cooperationSceneList(UserParamVO user);
}