package com.fdkankan.scene.controller; import com.fdkankan.web.response.ResultData; import com.fdkankan.fyun.face.FYunFileServiceInterface; import com.fdkankan.scene.annotation.CheckCurrentUser; import com.fdkankan.scene.annotation.SystemControllerLog; import com.fdkankan.scene.bean.RequestSceneEdit; import com.fdkankan.scene.service.ISceneProService; import com.fdkankan.web.controller.BaseController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @Slf4j @RestController @RequestMapping("/service/scenev3/edit") public class SceneEditController extends BaseController { @Autowired private ISceneProService sceneProService; @Autowired private FYunFileServiceInterface fYunFileService; /** * 修改logoBottom状态 * @param * @return */ @CheckCurrentUser(description = "修改logoBottom状态") @RequestMapping(value = "/uploadLogoBottomStatus", method = RequestMethod.POST) public ResultData uploadLogoBottomStatus(@RequestParam("sceneNum") String sceneNum, @RequestParam("status") String status) throws Exception { return sceneProService.uploadLogoBottomStatus(sceneNum, status); } /** * 肖安需求,下载场景obj和贴图 */ @CheckCurrentUser(description = "检验视频网站url是否正确") @SystemControllerLog(description = "下载obj和贴图") @RequestMapping(value = "/downloadTexData") public ResultData downloadTexData(@RequestParam("sceneNum")String sceneNum) throws Exception { return sceneProService.downloadTexData(sceneNum); } /** * 上传图片多媒体数据,直接到七牛云 * @param file * @return */ @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云") @RequestMapping(value = "/uploadPic", method = RequestMethod.POST) public ResultData uploadPic( @RequestParam("sceneNum")String sceneNum, String folderName,String toOss, @RequestParam("file") MultipartFile file) throws Exception { return sceneProService.uploadPic(sceneNum, folderName, file, toOss); } /** * 删除oss的数据 * @return */ @RequestMapping(value = "/deleteOss", method = RequestMethod.POST) public ResultData deleteOss(@RequestParam("filePath")String filePath) throws Exception { if(filePath.contains("logo-main.png")){ fYunFileService.deleteFile(filePath.replace("logo-main.png", "logo-main-en.png")); } if(filePath.contains("logo-main-en.png")){ fYunFileService.deleteFile(filePath.replace("logo-main-en.png", "logo-main.png")); } fYunFileService.deleteFile(filePath); return ResultData.ok(); } /** * 上传二维码和分享的logo * @return */ @CheckCurrentUser(description = "上传二维码和分享的logo") @RequestMapping(value = "/uploadShareLogo", method = RequestMethod.POST) public ResultData uploadShareLogo( @RequestParam("sceneNum") String sceneNum, @RequestParam("file") MultipartFile file) throws Exception { return sceneProService.uploadShareLogo(sceneNum, file); } /** * 上传场景的热点媒体文件 * @param file * @return */ @CheckCurrentUser(description = "上传场景的热点媒体文件") @RequestMapping(value = "/uploadHotMedia", method = RequestMethod.POST) public ResultData uploadHotMedia( @RequestParam("sceneNum") String sceneNum, @RequestParam("sid") String sid, @RequestParam("file") MultipartFile file) throws Exception { return sceneProService.uploadHotMedia(sceneNum, file, sid); } /** * 检验视频网站url是否正确 * @return */ @CheckCurrentUser(description = "检验视频网站url是否正确") @RequestMapping(value = "/checkVideoUrl", method = RequestMethod.POST) public ResultData checkVideoUrl(@RequestParam("path") String path){ return sceneProService.checkVideoUrl(path); } /** * 保存编辑的数据并生效 * @return */ @CheckCurrentUser(description = "保存编辑的数据并生效") @RequestMapping(value = "/saveSceneInfo", method = RequestMethod.POST) public ResultData saveSceneInfo(RequestSceneEdit requestSceneEdit) throws Exception { return sceneProService.saveSceneInfo(requestSceneEdit); } /** * 保存CAD图片 * @param sceneNum * @param file * @param cadInfo * @return * @throws Exception */ @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云") @RequestMapping(value = "/uploadFloorplanPng", method = RequestMethod.POST) public ResultData uploadFloorplanPng(@RequestParam("sceneNum") String sceneNum, @RequestParam("file") MultipartFile[] file, String cadInfo) throws Exception { return sceneProService.uploadFloorplanPng(sceneNum, file, cadInfo); } /** * 新增画墙重建模型(钟文) */ @CheckCurrentUser(description = "画墙重建模型") @RequestMapping(value = "/uploadFloorJson", method = RequestMethod.POST) public ResultData uploadFloorJson(HttpServletRequest request, HttpServletResponse response) throws Exception{ RequestSceneEdit base = new RequestSceneEdit(); base.setSceneNum(request.getParameter("sceneNum")); base.setFloor(request.getParameter("floor")); base.setWebFloor(request.getParameter("webFloor")); base.setSceneData(request.getParameter("sceneData")); return sceneProService.uploadFloorJson(base); } /** * 保存关联全景图 */ @CheckCurrentUser(description = "保存关联全景图json") @RequestMapping(value = "/copyAndUpdateFloorJson", method = RequestMethod.POST) public ResultData copyAndUpdateFloorJson(@RequestParam("sceneNum")String sceneNum, String floorJsonData) throws Exception{ return sceneProService.copyAndUpdateFloorJson(sceneNum, floorJsonData); } /** * 保存场景热点 * @return */ @CheckCurrentUser(description = "保存场景热点") @RequestMapping(value = "/saveHot", method = RequestMethod.POST) public ResultData saveHot(HttpServletRequest request, HttpServletResponse response) throws Exception { RequestSceneEdit base = new RequestSceneEdit(); base.setSceneNum(request.getParameter("sceneNum")); base.setHotData(request.getParameter("hotData")); base.setSid(request.getParameter("sid")); base.setType(request.getParameter("type")); base.setCapData(request.getParameter("capData")); base.setFrameData(request.getParameter("frameData")); base.setPlayData(request.getParameter("playData")); base.setScreencapThumb(request.getParameter("screencapThumb")); base.setStyleName(request.getParameter("styleName")); return sceneProService.saveHot(base); } /** * 保存热点可见性的数据 * @return */ @CheckCurrentUser(description = "保存热点可见性的数据") @RequestMapping(value = "/saveHotVisible", method = RequestMethod.POST) public ResultData saveHotVisible(RequestSceneEdit base) throws Exception { return sceneProService.saveHotVisible(base); } /** * 保存漫游可行 * @return */ @CheckCurrentUser(description = "漫游可行") @RequestMapping(value = "/saveLinkPano", method = RequestMethod.POST) public ResultData saveLinkPano(RequestSceneEdit base) throws Exception { return sceneProService.saveLinkPano(base); } /** * 保存初始页面 * @return */ @CheckCurrentUser(description = "保存初始页面") @RequestMapping(value = "/saveInitialPage", method = RequestMethod.POST) public ResultData saveInitialPage(RequestSceneEdit base) throws Exception { return sceneProService.saveInitialPage(base); } /** * 上传音频 * @param file * @return */ @CheckCurrentUser(description = "上传音频") @RequestMapping(value = "/uploadScreencapVoiceNewV3", method = RequestMethod.POST) public ResultData uploadScreencapVoiceV3(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception { String sceneNum = request.getParameter("sceneNum"); String type = request.getParameter("type"); String fileName = request.getParameter("fileName"); String length = request.getParameter("length"); //替换视频,1为替换,0或没值为不替换 String replace = request.getParameter("replace"); String times = request.getParameter("times"); String index = request.getParameter("index"); return sceneProService.uploadScreencapVoiceNewV3(sceneNum, type, fileName, file, length, replace, times, index); } /** * 删除录屏音频文件 * @return */ @CheckCurrentUser(description = "删除录屏音频文件") @RequestMapping(value = "/deleteScreencapVoiceNew", method = RequestMethod.POST) public ResultData deleteScreencapVoiceNew(RequestSceneEdit base) throws Exception { return sceneProService.deleteScreencapVoice(base); } /** * 删除某部分音频 * @return */ @CheckCurrentUser(description = "删除某部分音频") @RequestMapping(value = "/deleteScreencapVoicePart", method = RequestMethod.POST) public ResultData deleteScreencapVoicePart(HttpServletRequest request, HttpServletResponse response) throws Exception { String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); String times = request.getParameter("times"); String index = request.getParameter("index"); return sceneProService.deleteScreencapVoicePart(sceneNum, fileName, times, index); } /** * 上传场景的Overlay媒体文件 * @param file * @return */ @CheckCurrentUser(description = "上传场景的Overlay媒体文件") @RequestMapping(value = "/uploadOverlayMedia", method = RequestMethod.POST) public ResultData uploadOverlayMedia(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception { String sceneNum = request.getParameter("sceneNum"); String sid = request.getParameter("sid"); return sceneProService.uploadOverlayMedia(sceneNum, file, sid); } /** * 保存场景热点 * @return */ @CheckCurrentUser(description = "保存场景热点") @RequestMapping(value = "/saveOverlay", method = RequestMethod.POST) public ResultData saveOverlay(RequestSceneEdit base) throws Exception { return sceneProService.saveOverlay(base); } /** * 直接上传hot.json到oss * @return */ @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云") @RequestMapping(value = "/uploadHotJsonToOss", method = RequestMethod.POST) public ResultData uploadHotJsonToOss(HttpServletRequest request, HttpServletResponse response) throws Exception { String sceneNum = request.getParameter("sceneNum"); return sceneProService.uploadHotJsonToOss(sceneNum); } /** * 保存通用json数据 */ @CheckCurrentUser(description = "保存通用json数据") @RequestMapping(value = "/saveJsonData", method = RequestMethod.POST) public ResultData saveJsonData(HttpServletRequest request) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); String jsonData = request.getParameter("jsonData"); return sceneProService.saveJsonData(sceneNum, fileName, jsonData); } /** * 保存关联全景图 */ @CheckCurrentUser(description = "保存关联全景图") @RequestMapping(value = "/savePanorama", method = RequestMethod.POST) public ResultData savePanorama(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String sid = request.getParameter("sid"); String imagesName = request.getParameter("fileName"); return sceneProService.savePanorama(sceneNum, sid, file, imagesName); } /** * 保存关联全景图json */ @CheckCurrentUser(description = "保存关联全景图json") @RequestMapping(value = "/savePanoramaJson", method = RequestMethod.POST) public ResultData savePanoramaJson(HttpServletRequest request) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileData = request.getParameter("fileData"); String fileName = request.getParameter("fileName"); String sid = request.getParameter("sid"); return sceneProService.savePanoramaJson(sceneNum, fileData, fileName, sid); } /** * 保存关联全景图 */ @CheckCurrentUser(description = "保存关联全景图json") @RequestMapping(value = "/updateFloorJson", method = RequestMethod.POST) public ResultData updateFloorJson(HttpServletRequest request) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String floorJsonData = request.getParameter("floorJsonData"); return sceneProService.updateFloorJson(sceneNum, floorJsonData); } /** * 下载点位全景图或视频 */ @CheckCurrentUser(description = "下载点位全景图或视频") @RequestMapping(value = "/downloadPanoramaOrVideo", method = RequestMethod.POST) public ResultData downloadPanoramaOrVideo(HttpServletRequest request) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); String type = request.getParameter("type"); String planId = request.getParameter("planId"); return sceneProService.downloadPanoramaOrVideo(sceneNum, fileName, type, planId); } /** * 上传场景背景音乐 */ @CheckCurrentUser(description = "上传场景背景音乐") @RequestMapping(value = "/uploadBgMusic", method = RequestMethod.POST) public ResultData uploadBgMusic(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); return sceneProService.uploadBgMusic(sceneNum, fileName, file); } /** * 删除上传的场景背景音乐 */ @CheckCurrentUser(description = "删除上传的场景背景音乐") @RequestMapping(value = "/deleteUploadBgMusic", method = RequestMethod.POST) public ResultData deleteUploadBgMusic(HttpServletRequest request) throws Exception{ String sceneNum = request.getParameter("sceneNum"); return sceneProService.deleteUploadBgMusic(sceneNum); } /** * 安居客 */ @CheckCurrentUser(description = "安居客") @RequestMapping(value = "/uploadFloorJsonAjk", method = RequestMethod.POST) public ResultData uploadFloorJsonAjk(HttpServletRequest request, @RequestParam("file") MultipartFile[] file) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String ajkJson = request.getParameter("ajkJson"); String cameraJson = request.getParameter("cameraJson"); String floorPlanJson = request.getParameter("floorPlanJson"); return sceneProService.uploadFloorJsonAjk(sceneNum, ajkJson, cameraJson, floorPlanJson, file); } /** * 上传点位全景图或视频 */ @CheckCurrentUser(description = "上传点位全景图或视频") @RequestMapping(value = "/uploadPanoramaOrVideo", method = RequestMethod.POST) public ResultData uploadPanoramaOrVideo(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); String type = request.getParameter("type"); String planId = request.getParameter("planId"); return sceneProService.uploadPanoramaOrVideo(sceneNum, fileName, type, file, planId); } /** * 肖安需求,上传修改后的obj和贴图 * @param file * @return */ @CheckCurrentUser(description = "肖安需求,上传修改后的obj和贴图") @SystemControllerLog(description = "上传修改后的obj和贴图") @RequestMapping(value = "/uploadObjAndImg", method = RequestMethod.POST) public ResultData uploadObjAndImg(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception { String sceneNum = request.getParameter("sceneNum"); return sceneProService.uploadObjAndImg(sceneNum, file); } /** * 下载全景图数据 */ @CheckCurrentUser(description = "下载全景图数据") @RequestMapping(value = "/downloadPanoramaData") public ResultData downloadPanoramaData(@RequestParam("sceneNum") String sceneNum) throws Exception{ return sceneProService.downloadPanoramaData(sceneNum); } /** * 下载点位数据 */ @CheckCurrentUser(description = "下载点位数据") @RequestMapping(value = "/downloadVisionData") public ResultData downloadVisionData(@RequestParam("sceneNum") String sceneNum) throws Exception{ return sceneProService.downloadVisionData(sceneNum); } /** * 上传音频 * @param file * @return */ @CheckCurrentUser(description = "上传音频") @PostMapping(value = "/uploadScreencapVoiceNew") public ResultData uploadScreencapVoice(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception { String sceneNum = request.getParameter("sceneNum"); String type = request.getParameter("type"); String fileName = request.getParameter("fileName"); String length = request.getParameter("length"); //替换视频,1为替换,0或没值为不替换 String replace = request.getParameter("replace"); return sceneProService.uploadScreencapVoiceNew(sceneNum, type, fileName, file, length, replace); } /** * 上传绿幕抠图视频 */ @CheckCurrentUser(description = "上传绿幕抠图视频") @RequestMapping(value = "/uploadROIVideo", method = RequestMethod.POST) public ResultData uploadROIVideo(HttpServletRequest request, @RequestParam(name = "file", required = false) MultipartFile file) throws Exception{ String sceneNum = request.getParameter("sceneNum"); String fileName = request.getParameter("fileName"); String planId = request.getParameter("planId"); String rect = request.getParameter("rect"); String videoDirMatrix = request.getParameter("videoDirMatrix"); String dir = request.getParameter("dir"); String hfov = request.getParameter("hfov"); String vfov = request.getParameter("vfov"); return sceneProService.uploadROIVideo(sceneNum, fileName, file, planId, rect, videoDirMatrix, dir, hfov, vfov); } }