SceneEditController.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. package com.fdkankan.scene.controller;
  2. import com.fdkankan.web.response.ResultData;
  3. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  4. import com.fdkankan.scene.annotation.CheckCurrentUser;
  5. import com.fdkankan.scene.annotation.SystemControllerLog;
  6. import com.fdkankan.scene.bean.RequestSceneEdit;
  7. import com.fdkankan.scene.service.ISceneProService;
  8. import com.fdkankan.web.controller.BaseController;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import org.springframework.web.multipart.MultipartFile;
  19. @Slf4j
  20. @RestController
  21. @RequestMapping("/service/scenev3/edit")
  22. public class SceneEditController extends BaseController {
  23. @Autowired
  24. private ISceneProService sceneProService;
  25. @Autowired
  26. private FYunFileServiceInterface fYunFileService;
  27. /**
  28. * 修改logoBottom状态
  29. * @param
  30. * @return
  31. */
  32. @CheckCurrentUser(description = "修改logoBottom状态")
  33. @RequestMapping(value = "/uploadLogoBottomStatus", method = RequestMethod.POST)
  34. public ResultData uploadLogoBottomStatus(@RequestParam("sceneNum") String sceneNum,
  35. @RequestParam("status") String status) throws Exception {
  36. return sceneProService.uploadLogoBottomStatus(sceneNum, status);
  37. }
  38. /**
  39. * 肖安需求,下载场景obj和贴图
  40. */
  41. @CheckCurrentUser(description = "检验视频网站url是否正确")
  42. @SystemControllerLog(description = "下载obj和贴图")
  43. @RequestMapping(value = "/downloadTexData")
  44. public ResultData downloadTexData(@RequestParam("sceneNum")String sceneNum) throws Exception {
  45. return sceneProService.downloadTexData(sceneNum);
  46. }
  47. /**
  48. * 上传图片多媒体数据,直接到七牛云
  49. * @param file
  50. * @return
  51. */
  52. @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云")
  53. @RequestMapping(value = "/uploadPic", method = RequestMethod.POST)
  54. public ResultData uploadPic(
  55. @RequestParam("sceneNum")String sceneNum,
  56. String folderName,String toOss,
  57. @RequestParam("file") MultipartFile file) throws Exception {
  58. return sceneProService.uploadPic(sceneNum, folderName, file, toOss);
  59. }
  60. /**
  61. * 删除oss的数据
  62. * @return
  63. */
  64. @RequestMapping(value = "/deleteOss", method = RequestMethod.POST)
  65. public ResultData deleteOss(@RequestParam("filePath")String filePath) throws Exception {
  66. if(filePath.contains("logo-main.png")){
  67. fYunFileService.deleteFile(filePath.replace("logo-main.png", "logo-main-en.png"));
  68. }
  69. if(filePath.contains("logo-main-en.png")){
  70. fYunFileService.deleteFile(filePath.replace("logo-main-en.png", "logo-main.png"));
  71. }
  72. fYunFileService.deleteFile(filePath);
  73. return ResultData.ok();
  74. }
  75. /**
  76. * 上传二维码和分享的logo
  77. * @return
  78. */
  79. @CheckCurrentUser(description = "上传二维码和分享的logo")
  80. @RequestMapping(value = "/uploadShareLogo", method = RequestMethod.POST)
  81. public ResultData uploadShareLogo(
  82. @RequestParam("sceneNum") String sceneNum,
  83. @RequestParam("file") MultipartFile file) throws Exception {
  84. return sceneProService.uploadShareLogo(sceneNum, file);
  85. }
  86. /**
  87. * 上传场景的热点媒体文件
  88. * @param file
  89. * @return
  90. */
  91. @CheckCurrentUser(description = "上传场景的热点媒体文件")
  92. @RequestMapping(value = "/uploadHotMedia", method = RequestMethod.POST)
  93. public ResultData uploadHotMedia(
  94. @RequestParam("sceneNum") String sceneNum,
  95. @RequestParam("sid") String sid,
  96. @RequestParam("file") MultipartFile file) throws Exception {
  97. return sceneProService.uploadHotMedia(sceneNum, file, sid);
  98. }
  99. /**
  100. * 检验视频网站url是否正确
  101. * @return
  102. */
  103. @CheckCurrentUser(description = "检验视频网站url是否正确")
  104. @RequestMapping(value = "/checkVideoUrl", method = RequestMethod.POST)
  105. public ResultData checkVideoUrl(@RequestParam("path") String path){
  106. return sceneProService.checkVideoUrl(path);
  107. }
  108. /**
  109. * 保存编辑的数据并生效
  110. * @return
  111. */
  112. @CheckCurrentUser(description = "保存编辑的数据并生效")
  113. @RequestMapping(value = "/saveSceneInfo", method = RequestMethod.POST)
  114. public ResultData saveSceneInfo(RequestSceneEdit requestSceneEdit) throws Exception {
  115. return sceneProService.saveSceneInfo(requestSceneEdit);
  116. }
  117. /**
  118. * 保存CAD图片
  119. * @param sceneNum
  120. * @param file
  121. * @param cadInfo
  122. * @return
  123. * @throws Exception
  124. */
  125. @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云")
  126. @RequestMapping(value = "/uploadFloorplanPng", method = RequestMethod.POST)
  127. public ResultData uploadFloorplanPng(@RequestParam("sceneNum") String sceneNum,
  128. @RequestParam("file") MultipartFile[] file, String cadInfo) throws Exception {
  129. return sceneProService.uploadFloorplanPng(sceneNum, file, cadInfo);
  130. }
  131. /**
  132. * 新增画墙重建模型(钟文)
  133. */
  134. @CheckCurrentUser(description = "画墙重建模型")
  135. @RequestMapping(value = "/uploadFloorJson", method = RequestMethod.POST)
  136. public ResultData uploadFloorJson(HttpServletRequest request, HttpServletResponse response) throws Exception{
  137. RequestSceneEdit base = new RequestSceneEdit();
  138. base.setSceneNum(request.getParameter("sceneNum"));
  139. base.setFloor(request.getParameter("floor"));
  140. base.setWebFloor(request.getParameter("webFloor"));
  141. base.setSceneData(request.getParameter("sceneData"));
  142. return sceneProService.uploadFloorJson(base);
  143. }
  144. /**
  145. * 保存关联全景图
  146. */
  147. @CheckCurrentUser(description = "保存关联全景图json")
  148. @RequestMapping(value = "/copyAndUpdateFloorJson", method = RequestMethod.POST)
  149. public ResultData copyAndUpdateFloorJson(@RequestParam("sceneNum")String sceneNum, String floorJsonData) throws Exception{
  150. return sceneProService.copyAndUpdateFloorJson(sceneNum, floorJsonData);
  151. }
  152. /**
  153. * 保存场景热点
  154. * @return
  155. */
  156. @CheckCurrentUser(description = "保存场景热点")
  157. @RequestMapping(value = "/saveHot", method = RequestMethod.POST)
  158. public ResultData saveHot(HttpServletRequest request, HttpServletResponse response) throws Exception {
  159. RequestSceneEdit base = new RequestSceneEdit();
  160. base.setSceneNum(request.getParameter("sceneNum"));
  161. base.setHotData(request.getParameter("hotData"));
  162. base.setSid(request.getParameter("sid"));
  163. base.setType(request.getParameter("type"));
  164. base.setCapData(request.getParameter("capData"));
  165. base.setFrameData(request.getParameter("frameData"));
  166. base.setPlayData(request.getParameter("playData"));
  167. base.setScreencapThumb(request.getParameter("screencapThumb"));
  168. base.setStyleName(request.getParameter("styleName"));
  169. return sceneProService.saveHot(base);
  170. }
  171. /**
  172. * 保存热点可见性的数据
  173. * @return
  174. */
  175. @CheckCurrentUser(description = "保存热点可见性的数据")
  176. @RequestMapping(value = "/saveHotVisible", method = RequestMethod.POST)
  177. public ResultData saveHotVisible(RequestSceneEdit base) throws Exception {
  178. return sceneProService.saveHotVisible(base);
  179. }
  180. /**
  181. * 保存漫游可行
  182. * @return
  183. */
  184. @CheckCurrentUser(description = "漫游可行")
  185. @RequestMapping(value = "/saveLinkPano", method = RequestMethod.POST)
  186. public ResultData saveLinkPano(RequestSceneEdit base) throws Exception {
  187. return sceneProService.saveLinkPano(base);
  188. }
  189. /**
  190. * 保存初始页面
  191. * @return
  192. */
  193. @CheckCurrentUser(description = "保存初始页面")
  194. @RequestMapping(value = "/saveInitialPage", method = RequestMethod.POST)
  195. public ResultData saveInitialPage(RequestSceneEdit base) throws Exception {
  196. return sceneProService.saveInitialPage(base);
  197. }
  198. /**
  199. * 上传音频
  200. * @param file
  201. * @return
  202. */
  203. @CheckCurrentUser(description = "上传音频")
  204. @RequestMapping(value = "/uploadScreencapVoiceNewV3", method = RequestMethod.POST)
  205. public ResultData uploadScreencapVoiceV3(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception {
  206. String sceneNum = request.getParameter("sceneNum");
  207. String type = request.getParameter("type");
  208. String fileName = request.getParameter("fileName");
  209. String length = request.getParameter("length");
  210. //替换视频,1为替换,0或没值为不替换
  211. String replace = request.getParameter("replace");
  212. String times = request.getParameter("times");
  213. String index = request.getParameter("index");
  214. return sceneProService.uploadScreencapVoiceNewV3(sceneNum, type, fileName, file, length, replace, times, index);
  215. }
  216. /**
  217. * 删除录屏音频文件
  218. * @return
  219. */
  220. @CheckCurrentUser(description = "删除录屏音频文件")
  221. @RequestMapping(value = "/deleteScreencapVoiceNew", method = RequestMethod.POST)
  222. public ResultData deleteScreencapVoiceNew(RequestSceneEdit base) throws Exception {
  223. return sceneProService.deleteScreencapVoice(base);
  224. }
  225. /**
  226. * 删除某部分音频
  227. * @return
  228. */
  229. @CheckCurrentUser(description = "删除某部分音频")
  230. @RequestMapping(value = "/deleteScreencapVoicePart", method = RequestMethod.POST)
  231. public ResultData deleteScreencapVoicePart(HttpServletRequest request, HttpServletResponse response) throws Exception {
  232. String sceneNum = request.getParameter("sceneNum");
  233. String fileName = request.getParameter("fileName");
  234. String times = request.getParameter("times");
  235. String index = request.getParameter("index");
  236. return sceneProService.deleteScreencapVoicePart(sceneNum, fileName, times, index);
  237. }
  238. /**
  239. * 上传场景的Overlay媒体文件
  240. * @param file
  241. * @return
  242. */
  243. @CheckCurrentUser(description = "上传场景的Overlay媒体文件")
  244. @RequestMapping(value = "/uploadOverlayMedia", method = RequestMethod.POST)
  245. public ResultData uploadOverlayMedia(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception {
  246. String sceneNum = request.getParameter("sceneNum");
  247. String sid = request.getParameter("sid");
  248. return sceneProService.uploadOverlayMedia(sceneNum, file, sid);
  249. }
  250. /**
  251. * 保存场景热点
  252. * @return
  253. */
  254. @CheckCurrentUser(description = "保存场景热点")
  255. @RequestMapping(value = "/saveOverlay", method = RequestMethod.POST)
  256. public ResultData saveOverlay(RequestSceneEdit base) throws Exception {
  257. return sceneProService.saveOverlay(base);
  258. }
  259. /**
  260. * 直接上传hot.json到oss
  261. * @return
  262. */
  263. @CheckCurrentUser(description = "上传图片多媒体数据,直接到七牛云")
  264. @RequestMapping(value = "/uploadHotJsonToOss", method = RequestMethod.POST)
  265. public ResultData uploadHotJsonToOss(HttpServletRequest request, HttpServletResponse response) throws Exception {
  266. String sceneNum = request.getParameter("sceneNum");
  267. return sceneProService.uploadHotJsonToOss(sceneNum);
  268. }
  269. /**
  270. * 保存通用json数据
  271. */
  272. @CheckCurrentUser(description = "保存通用json数据")
  273. @RequestMapping(value = "/saveJsonData", method = RequestMethod.POST)
  274. public ResultData saveJsonData(HttpServletRequest request) throws Exception{
  275. String sceneNum = request.getParameter("sceneNum");
  276. String fileName = request.getParameter("fileName");
  277. String jsonData = request.getParameter("jsonData");
  278. return sceneProService.saveJsonData(sceneNum, fileName, jsonData);
  279. }
  280. /**
  281. * 保存关联全景图
  282. */
  283. @CheckCurrentUser(description = "保存关联全景图")
  284. @RequestMapping(value = "/savePanorama", method = RequestMethod.POST)
  285. public ResultData savePanorama(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{
  286. String sceneNum = request.getParameter("sceneNum");
  287. String sid = request.getParameter("sid");
  288. String imagesName = request.getParameter("fileName");
  289. return sceneProService.savePanorama(sceneNum, sid, file, imagesName);
  290. }
  291. /**
  292. * 保存关联全景图json
  293. */
  294. @CheckCurrentUser(description = "保存关联全景图json")
  295. @RequestMapping(value = "/savePanoramaJson", method = RequestMethod.POST)
  296. public ResultData savePanoramaJson(HttpServletRequest request) throws Exception{
  297. String sceneNum = request.getParameter("sceneNum");
  298. String fileData = request.getParameter("fileData");
  299. String fileName = request.getParameter("fileName");
  300. String sid = request.getParameter("sid");
  301. return sceneProService.savePanoramaJson(sceneNum, fileData, fileName, sid);
  302. }
  303. /**
  304. * 保存关联全景图
  305. */
  306. @CheckCurrentUser(description = "保存关联全景图json")
  307. @RequestMapping(value = "/updateFloorJson", method = RequestMethod.POST)
  308. public ResultData updateFloorJson(HttpServletRequest request) throws Exception{
  309. String sceneNum = request.getParameter("sceneNum");
  310. String floorJsonData = request.getParameter("floorJsonData");
  311. return sceneProService.updateFloorJson(sceneNum, floorJsonData);
  312. }
  313. /**
  314. * 下载点位全景图或视频
  315. */
  316. @CheckCurrentUser(description = "下载点位全景图或视频")
  317. @RequestMapping(value = "/downloadPanoramaOrVideo", method = RequestMethod.POST)
  318. public ResultData downloadPanoramaOrVideo(HttpServletRequest request) throws Exception{
  319. String sceneNum = request.getParameter("sceneNum");
  320. String fileName = request.getParameter("fileName");
  321. String type = request.getParameter("type");
  322. String planId = request.getParameter("planId");
  323. return sceneProService.downloadPanoramaOrVideo(sceneNum, fileName, type, planId);
  324. }
  325. /**
  326. * 上传场景背景音乐
  327. */
  328. @CheckCurrentUser(description = "上传场景背景音乐")
  329. @RequestMapping(value = "/uploadBgMusic", method = RequestMethod.POST)
  330. public ResultData uploadBgMusic(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{
  331. String sceneNum = request.getParameter("sceneNum");
  332. String fileName = request.getParameter("fileName");
  333. return sceneProService.uploadBgMusic(sceneNum, fileName, file);
  334. }
  335. /**
  336. * 删除上传的场景背景音乐
  337. */
  338. @CheckCurrentUser(description = "删除上传的场景背景音乐")
  339. @RequestMapping(value = "/deleteUploadBgMusic", method = RequestMethod.POST)
  340. public ResultData deleteUploadBgMusic(HttpServletRequest request) throws Exception{
  341. String sceneNum = request.getParameter("sceneNum");
  342. return sceneProService.deleteUploadBgMusic(sceneNum);
  343. }
  344. /**
  345. * 安居客
  346. */
  347. @CheckCurrentUser(description = "安居客")
  348. @RequestMapping(value = "/uploadFloorJsonAjk", method = RequestMethod.POST)
  349. public ResultData uploadFloorJsonAjk(HttpServletRequest request, @RequestParam("file") MultipartFile[] file) throws Exception{
  350. String sceneNum = request.getParameter("sceneNum");
  351. String ajkJson = request.getParameter("ajkJson");
  352. String cameraJson = request.getParameter("cameraJson");
  353. String floorPlanJson = request.getParameter("floorPlanJson");
  354. return sceneProService.uploadFloorJsonAjk(sceneNum, ajkJson, cameraJson, floorPlanJson, file);
  355. }
  356. /**
  357. * 上传点位全景图或视频
  358. */
  359. @CheckCurrentUser(description = "上传点位全景图或视频")
  360. @RequestMapping(value = "/uploadPanoramaOrVideo", method = RequestMethod.POST)
  361. public ResultData uploadPanoramaOrVideo(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws Exception{
  362. String sceneNum = request.getParameter("sceneNum");
  363. String fileName = request.getParameter("fileName");
  364. String type = request.getParameter("type");
  365. String planId = request.getParameter("planId");
  366. return sceneProService.uploadPanoramaOrVideo(sceneNum, fileName, type, file, planId);
  367. }
  368. /**
  369. * 肖安需求,上传修改后的obj和贴图
  370. * @param file
  371. * @return
  372. */
  373. @CheckCurrentUser(description = "肖安需求,上传修改后的obj和贴图")
  374. @SystemControllerLog(description = "上传修改后的obj和贴图")
  375. @RequestMapping(value = "/uploadObjAndImg", method = RequestMethod.POST)
  376. public ResultData uploadObjAndImg(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception {
  377. String sceneNum = request.getParameter("sceneNum");
  378. return sceneProService.uploadObjAndImg(sceneNum, file);
  379. }
  380. /**
  381. * 下载全景图数据
  382. */
  383. @CheckCurrentUser(description = "下载全景图数据")
  384. @RequestMapping(value = "/downloadPanoramaData")
  385. public ResultData downloadPanoramaData(@RequestParam("sceneNum") String sceneNum) throws Exception{
  386. return sceneProService.downloadPanoramaData(sceneNum);
  387. }
  388. /**
  389. * 下载点位数据
  390. */
  391. @CheckCurrentUser(description = "下载点位数据")
  392. @RequestMapping(value = "/downloadVisionData")
  393. public ResultData downloadVisionData(@RequestParam("sceneNum") String sceneNum) throws Exception{
  394. return sceneProService.downloadVisionData(sceneNum);
  395. }
  396. /**
  397. * 上传音频
  398. * @param file
  399. * @return
  400. */
  401. @CheckCurrentUser(description = "上传音频")
  402. @PostMapping(value = "/uploadScreencapVoiceNew")
  403. public ResultData uploadScreencapVoice(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile file) throws Exception {
  404. String sceneNum = request.getParameter("sceneNum");
  405. String type = request.getParameter("type");
  406. String fileName = request.getParameter("fileName");
  407. String length = request.getParameter("length");
  408. //替换视频,1为替换,0或没值为不替换
  409. String replace = request.getParameter("replace");
  410. return sceneProService.uploadScreencapVoiceNew(sceneNum, type, fileName, file, length, replace);
  411. }
  412. /**
  413. * 上传绿幕抠图视频
  414. */
  415. @CheckCurrentUser(description = "上传绿幕抠图视频")
  416. @RequestMapping(value = "/uploadROIVideo", method = RequestMethod.POST)
  417. public ResultData uploadROIVideo(HttpServletRequest request, @RequestParam(name = "file", required = false) MultipartFile file) throws Exception{
  418. String sceneNum = request.getParameter("sceneNum");
  419. String fileName = request.getParameter("fileName");
  420. String planId = request.getParameter("planId");
  421. String rect = request.getParameter("rect");
  422. String videoDirMatrix = request.getParameter("videoDirMatrix");
  423. String dir = request.getParameter("dir");
  424. String hfov = request.getParameter("hfov");
  425. String vfov = request.getParameter("vfov");
  426. return sceneProService.uploadROIVideo(sceneNum, fileName, file, planId, rect, videoDirMatrix, dir, hfov, vfov);
  427. }
  428. }