SceneEditController.java 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168
  1. package com.fdkankan.scene.controller;
  2. import com.fdkankan.common.constant.ErrorCode;
  3. import com.fdkankan.common.constant.SceneInfoReqType;
  4. import com.fdkankan.common.controller.BaseController;
  5. import com.fdkankan.common.exception.BusinessException;
  6. import com.fdkankan.common.response.ResultData;
  7. import com.fdkankan.scene.annotation.CheckCooperationPermit;
  8. import com.fdkankan.scene.service.ISceneEditInfoService;
  9. import com.fdkankan.scene.service.ISceneEditService;
  10. import com.fdkankan.scene.service.IScenePlusService;
  11. import com.fdkankan.scene.service.ISceneProService;
  12. import com.fdkankan.scene.service.ISceneUploadService;
  13. import com.fdkankan.scene.service.ISurveillanceService;
  14. import com.fdkankan.scene.vo.BaseSidParamVO;
  15. import com.fdkankan.scene.vo.SurveillanceParamVO;
  16. import com.fdkankan.scene.vo.BallScreenVideoParamVO;
  17. import com.fdkankan.scene.vo.BaseDataParamVO;
  18. import com.fdkankan.scene.vo.BaseFileParamVO;
  19. import com.fdkankan.scene.vo.BaseIdParamVO;
  20. import com.fdkankan.scene.vo.BaseSceneParamVO;
  21. import com.fdkankan.scene.vo.DeleteFileParamVO;
  22. import com.fdkankan.scene.vo.DeleteHotIconParamVO;
  23. import com.fdkankan.scene.vo.DeleteHotParamVO;
  24. import com.fdkankan.scene.vo.DeleteLinkPanParamVO;
  25. import com.fdkankan.scene.vo.DeleteLinkSceneStylesParamVO;
  26. import com.fdkankan.scene.vo.DeleteMosaicParamVO;
  27. import com.fdkankan.scene.vo.DeleteSidParamVO;
  28. import com.fdkankan.scene.vo.DownloadVO;
  29. import com.fdkankan.scene.vo.FileNameAndDataParamVO;
  30. import com.fdkankan.scene.vo.FileParamVO;
  31. import com.fdkankan.scene.vo.LocalesParamVO;
  32. import com.fdkankan.scene.vo.RenameCadParamVO;
  33. import com.fdkankan.scene.vo.SaveLinkPanParamVO;
  34. import com.fdkankan.scene.vo.SaveTagsParamVO;
  35. import com.fdkankan.scene.vo.SaveTagsVisibleParamVO;
  36. import com.fdkankan.scene.vo.SaveUploadParamVO;
  37. import com.fdkankan.scene.vo.SceneAuthVO;
  38. import com.fdkankan.scene.vo.SceneEditInfoParamVO;
  39. import com.fdkankan.scene.vo.SceneEditInfoVO;
  40. import com.fdkankan.scene.vo.SceneEditParamVO;
  41. import com.fdkankan.scene.vo.SceneInfoParamVO;
  42. import com.fdkankan.scene.vo.SceneInfoVO;
  43. import com.fdkankan.scene.vo.UploadContentParamVO;
  44. import java.io.IOException;
  45. import lombok.extern.log4j.Log4j2;
  46. import org.springframework.beans.factory.annotation.Autowired;
  47. import org.springframework.beans.factory.annotation.Value;
  48. import org.springframework.validation.annotation.Validated;
  49. import org.springframework.web.bind.annotation.GetMapping;
  50. import org.springframework.web.bind.annotation.PostMapping;
  51. import org.springframework.web.bind.annotation.RequestBody;
  52. import org.springframework.web.bind.annotation.RequestMapping;
  53. import org.springframework.web.bind.annotation.RequestMethod;
  54. import org.springframework.web.bind.annotation.RequestParam;
  55. import org.springframework.web.bind.annotation.RestController;
  56. import org.springframework.web.multipart.MultipartFile;
  57. /**
  58. * 场景编辑管理
  59. */
  60. @Log4j2
  61. @RestController
  62. @RequestMapping("/service/scene/edit")
  63. public class SceneEditController extends BaseController {
  64. @Value("${spring.profiles.active}")
  65. private String env;
  66. @Autowired
  67. private ISceneProService sceneProService;
  68. @Autowired
  69. private ISceneEditInfoService sceneEditInfoService;
  70. @Autowired
  71. private ISceneUploadService sceneUploadService;
  72. @Autowired
  73. private ISceneEditService sceneEditService;
  74. @Autowired
  75. private ISurveillanceService surveillanceService;
  76. @Autowired
  77. private IScenePlusService scenePlusService;
  78. /**
  79. * <p>
  80. 保存编辑的数据
  81. * </p>
  82. * @author dengsixing
  83. * @date 2022/1/12
  84. * @param sceneEditParamVO
  85. * @return com.fdkankan.common.response.ResultData
  86. **/
  87. @PostMapping(value = "/saveSceneInfo")
  88. public ResultData saveSceneInfo(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  89. return sceneProService.saveSceneInfo(sceneEditParamVO);
  90. }
  91. /**
  92. * <p>
  93. 保存场景编辑数据
  94. * </p>
  95. * @author dengsixing
  96. * @date 2022/1/12
  97. * @param param
  98. * @return com.fdkankan.common.response.ResultData
  99. **/
  100. @CheckCooperationPermit
  101. @PostMapping(value = "/base/save")
  102. public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
  103. return sceneEditInfoService.saveScene(param);
  104. }
  105. /**
  106. * <p>
  107. 发布场景数据
  108. * </p>
  109. * @author dengsixing
  110. * @date 2022/1/12
  111. * @param param
  112. * @return com.fdkankan.common.response.ResultData
  113. **/
  114. @CheckCooperationPermit
  115. @PostMapping(value = "/publicScene")
  116. public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception {
  117. return sceneEditInfoService.publicScene(param);
  118. }
  119. /**
  120. * <p>
  121. 单独保存tourList
  122. * </p>
  123. * @author dengsixing
  124. * @date 2022/1/12
  125. * @param sceneEditParamVO
  126. * @return com.fdkankan.common.response.ResultData
  127. **/
  128. @PostMapping(value = "/saveTourList")
  129. public ResultData saveTourList(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  130. return sceneProService.saveTourList(sceneEditParamVO);
  131. }
  132. /**
  133. * <p>
  134. 删除导览
  135. * </p>
  136. * @author dengsixing
  137. * @date 2022/1/12
  138. * @param sceneEditParamVO
  139. * @return com.fdkankan.common.response.ResultData
  140. **/
  141. @PostMapping(value = "/deleteScreencap")
  142. public ResultData deleteScreencap(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  143. return sceneProService.deleteScreencap(sceneEditParamVO);
  144. }
  145. /**
  146. * <p>
  147. 删除录屏音频文件
  148. * </p>
  149. * @author dengsixing
  150. * @date 2022/1/12
  151. * @param sceneEditParamVO
  152. * @return com.fdkankan.common.response.ResultData
  153. **/
  154. @PostMapping(value = "/deleteScreencapVoiceNew")
  155. public ResultData deleteScreencapVoiceNew(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  156. return sceneProService.deleteScreencapVoice(sceneEditParamVO);
  157. }
  158. /**
  159. * <p>
  160. 上传音频
  161. * </p>
  162. * @author dengsixing
  163. * @date 2022/1/12
  164. * @param param
  165. * @param file
  166. * @return com.fdkankan.common.response.ResultData
  167. **/
  168. @PostMapping(value = "/uploadScreencapVoiceNew")
  169. public ResultData uploadScreencapVoice(FileParamVO param,
  170. @RequestParam("file") MultipartFile file) throws Exception {
  171. return sceneProService.uploadScreencapVoiceNew(param, file);
  172. }
  173. /**
  174. * <p>
  175. 上传音频
  176. * </p>
  177. * @author dengsixing
  178. * @date 2022/1/12
  179. * @param param
  180. * @param file
  181. * @return com.fdkankan.common.response.ResultData
  182. **/
  183. @PostMapping(value = "/uploadScreencapVoiceNewV3")
  184. public ResultData uploadScreencapVoiceV3(FileParamVO param,
  185. @RequestParam("file") MultipartFile file) throws Exception {
  186. return sceneProService.uploadScreencapVoiceNewV3(param, file);
  187. }
  188. /**
  189. * <p>
  190. 删除音频
  191. * </p>
  192. * @author dengsixing
  193. * @date 2022/1/12
  194. * @param param
  195. * @return com.fdkankan.common.response.ResultData
  196. **/
  197. @PostMapping(value = "/deleteScreencapVoicePart")
  198. public ResultData deleteScreencapVoicePart(@RequestBody @Validated FileParamVO param) throws Exception {
  199. return sceneProService.deleteScreencapVoicePart(param);
  200. }
  201. /**
  202. * <p>
  203. 获取录屏的文件名称
  204. * </p>
  205. * @author dengsixing
  206. * @date 2022/1/12
  207. * @param param
  208. * @return com.fdkankan.common.response.ResultData
  209. **/
  210. @PostMapping(value = "/getScreencapVoice")
  211. public ResultData getScreencapVoice(@RequestBody SceneEditParamVO param) throws Exception {
  212. return sceneProService.getScreencapVoice(param);
  213. }
  214. /**
  215. * <p>
  216. 保存初始页面
  217. * </p>
  218. * @author dengsixing
  219. * @date 2022/1/12
  220. * @param param
  221. * @return com.fdkankan.common.response.ResultData
  222. **/
  223. @CheckCooperationPermit
  224. @PostMapping(value = "/saveInitialPage")
  225. public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
  226. return sceneProService.saveInitialPage(param);
  227. }
  228. /**
  229. * <p>
  230. 保存背景音乐(只是编辑页面生效)
  231. * </p>
  232. * @author dengsixing
  233. * @date 2022/1/12
  234. * @param param
  235. * @return com.fdkankan.common.response.ResultData
  236. **/
  237. @PostMapping(value = "/saveBackgroundMusic")
  238. public ResultData saveBackgroundMusic(@RequestBody SceneEditParamVO param) throws Exception {
  239. return sceneProService.saveBackgroundMusic(param);
  240. }
  241. /**
  242. * <p>
  243. 保存地面logo
  244. * </p>
  245. * @author dengsixing
  246. * @date 2022/1/12
  247. * @param param
  248. * @return com.fdkankan.common.response.ResultData
  249. **/
  250. @PostMapping(value = "/saveFloorLogo")
  251. public ResultData saveFloorLogo(@RequestBody SceneEditParamVO param) throws Exception {
  252. return sceneProService.saveFloorLogo(param);
  253. }
  254. /**
  255. * <p>
  256. 保存场景热点
  257. * </p>
  258. * @author dengsixing
  259. * @date 2022/1/12
  260. * @param param
  261. * @return com.fdkankan.common.response.ResultData
  262. **/
  263. @PostMapping(value = "/tagSave")
  264. public ResultData tagSave(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
  265. return sceneProService.tagSave(param);
  266. }
  267. /**
  268. * <p>
  269. 新增或修改场景热点
  270. * </p>
  271. * @author dengsixing
  272. * @date 2022/1/12
  273. * @param param
  274. * @return com.fdkankan.common.response.ResultData
  275. **/
  276. @CheckCooperationPermit
  277. @PostMapping(value = "/tag/save")
  278. public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
  279. return sceneProService.addOrUpdateTag(param);
  280. }
  281. /**
  282. * <p>
  283. 删除热点
  284. * </p>
  285. * @author dengsixing
  286. * @date 2022/2/16
  287. * @param param
  288. * @return com.fdkankan.common.response.ResultData
  289. **/
  290. @CheckCooperationPermit
  291. @PostMapping(value = "/tag/delete")
  292. public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
  293. return sceneProService.deleteTag(param);
  294. }
  295. @PostMapping(value = "/tag/list")
  296. public ResultData listTags(@RequestParam(value = "num") String num) throws Exception {
  297. return sceneProService.listTags(num);
  298. }
  299. /**
  300. * <p>
  301. 删除热点
  302. * </p>
  303. * @author dengsixing
  304. * @date 2022/2/16
  305. * @param param
  306. * @return com.fdkankan.common.response.ResultData
  307. **/
  308. @CheckCooperationPermit
  309. @PostMapping(value = "/icons/delete")
  310. public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
  311. return sceneProService.deleteIcons(param);
  312. }
  313. /**
  314. * <p>
  315. 保存场景热点
  316. * </p>
  317. * @author dengsixing
  318. * @date 2022/1/12
  319. * @param param
  320. * @return com.fdkankan.common.response.ResultData
  321. **/
  322. @PostMapping(value = "/saveShopHot")
  323. public ResultData saveShopHot(@RequestBody SceneEditParamVO param) throws Exception {
  324. return sceneProService.saveShopHot(param);
  325. }
  326. /**
  327. * <p>
  328. 保存场景热点
  329. * </p>
  330. * @author dengsixing
  331. * @date 2022/1/12
  332. * @param param
  333. * @return com.fdkankan.common.response.ResultData
  334. **/
  335. @PostMapping(value = "/saveOverlay")
  336. public ResultData saveOverlay(@RequestBody SceneEditParamVO param) throws Exception {
  337. return sceneProService.saveOverlay(param);
  338. }
  339. /**
  340. * <p>
  341. 保存导览静态数据
  342. * </p>
  343. * @author dengsixing
  344. * @date 2022/1/12
  345. * @param param
  346. * @return com.fdkankan.common.response.ResultData
  347. **/
  348. @PostMapping(value = "/saveScreencapData")
  349. public ResultData saveScreencapData(@RequestBody SceneEditParamVO param) throws Exception {
  350. return sceneProService.saveScreencapData(param);
  351. }
  352. /**
  353. * <p>
  354. 修改场景秘钥
  355. * </p>
  356. * @author dengsixing
  357. * @date 2022/1/12
  358. * @param param
  359. * @return com.fdkankan.common.response.ResultData
  360. **/
  361. @PostMapping(value = "/saveSceneKey")
  362. public ResultData saveSceneKey(@RequestBody SceneEditParamVO param) throws Exception {
  363. return sceneProService.saveSceneKey(param);
  364. }
  365. /**
  366. * <p>
  367. 增加热点媒体文件
  368. * </p>
  369. * @author dengsixing
  370. * @date 2022/1/12
  371. * @param param
  372. * @return com.fdkankan.common.response.ResultData
  373. **/
  374. @PostMapping(value = "/saveScreencapFile")
  375. public ResultData saveScreencapFile(@RequestBody SceneEditParamVO param) throws Exception {
  376. return sceneProService.saveScreencapFile(param);
  377. }
  378. /**
  379. * <p>
  380. 上传场景的热点媒体文件
  381. * </p>
  382. * @author dengsixing
  383. * @date 2022/1/12
  384. * @param param
  385. * @param file
  386. * @return com.fdkankan.common.response.ResultData
  387. **/
  388. @PostMapping(value = "/uploadHotMedia")
  389. public ResultData uploadHotMedia(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  390. return sceneProService.uploadHotMedia(param, file);
  391. }
  392. /**
  393. * <p>
  394. 上传场景的Overlay媒体文件
  395. * </p>
  396. * @author dengsixing
  397. * @date 2022/1/12
  398. * @param param
  399. * @param file
  400. * @return com.fdkankan.common.response.ResultData
  401. **/
  402. @PostMapping(value = "/uploadOverlayMedia")
  403. public ResultData uploadOverlayMedia(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  404. return sceneProService.uploadOverlayMedia(param, file);
  405. }
  406. /**
  407. * <p>
  408. 增加热点媒体文件
  409. * </p>
  410. * @author dengsixing
  411. * @date 2022/1/12
  412. * @param param
  413. * @return com.fdkankan.common.response.ResultData
  414. **/
  415. @PostMapping(value = "/addHotMediaInfo")
  416. public ResultData addHotMediaInfo(@RequestBody SceneEditParamVO param) throws Exception {
  417. return sceneProService.addHotMediaInfo(param);
  418. }
  419. /**
  420. * <p>
  421. 保存漫游可行
  422. * </p>
  423. * @author dengsixing
  424. * @date 2022/1/12
  425. * @param param
  426. * @return com.fdkankan.common.response.ResultData
  427. **/
  428. @CheckCooperationPermit
  429. @PostMapping(value = "/saveRoam")
  430. public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
  431. return sceneProService.saveRoam(param);
  432. }
  433. @CheckCooperationPermit
  434. @PostMapping(value = "/downloadRoamVideo")
  435. public void tranferRoam(@RequestParam("file") MultipartFile file) throws Exception {
  436. sceneUploadService.formatMp4(file, this.response);
  437. }
  438. /**
  439. * 保存热点可见性的数据
  440. * @return
  441. */
  442. @CheckCooperationPermit
  443. @PostMapping(value = "/saveTagsVisible")
  444. public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
  445. return sceneProService.saveTagsVisible(param);
  446. }
  447. /**
  448. * 获取从浏览器的音频
  449. */
  450. @PostMapping(value = "/getRecordAudioFromBrowser")
  451. public ResultData getRecordAudioFromBrowser(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  452. return sceneProService.getRecordAudioFromBrowser(param, file);
  453. }
  454. /**
  455. * 新增画墙重建模型(钟文)
  456. */
  457. @PostMapping(value = "/uploadFloorJson")
  458. public ResultData uploadFloorJson(@RequestBody SceneEditParamVO param) throws Exception{
  459. return sceneProService.uploadFloorJson(param);
  460. }
  461. /**
  462. * 安居客
  463. */
  464. @PostMapping(value = "/uploadFloorJsonAjk")
  465. public ResultData uploadFloorJsonAjk(FileParamVO param, @RequestParam("file") MultipartFile[] file) throws Exception{
  466. return sceneProService.uploadFloorJsonAjk(param, file);
  467. }
  468. /**
  469. * 重置画墙重建模型
  470. * @return
  471. */
  472. @PostMapping(value = "/resetUploadFloorJson")
  473. public ResultData resetUploadFloorJson(@RequestBody SceneEditParamVO param) throws Exception {
  474. return sceneProService.resetUploadFloorJson(param);
  475. }
  476. /**
  477. * 上传二维码和分享的logo
  478. * @return
  479. */
  480. @RequestMapping(value = "/uploadShareLogo", method = RequestMethod.POST)
  481. public ResultData uploadShareLogo(@RequestParam("num") String sceneNum, @RequestParam("file") MultipartFile file) throws Exception {
  482. SceneEditParamVO base = new SceneEditParamVO();
  483. base.setNum(sceneNum);
  484. return sceneProService.uploadShareLogo(base, file);
  485. }
  486. /**
  487. * 上传图片多媒体数据,直接到七牛云
  488. * @param file
  489. * @return
  490. */
  491. @PostMapping(value = "/uploadPic")
  492. public ResultData uploadPic(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  493. return sceneProService.uploadPic(param, file);
  494. }
  495. /**
  496. * 直接上传hot.json到oss
  497. * @return
  498. */
  499. @PostMapping(value = "/uploadHotJsonToOss")
  500. public ResultData uploadHotJsonToOss(@RequestBody SceneEditParamVO param) throws Exception {
  501. return sceneProService.uploadHotJsonToOss(param);
  502. }
  503. /**
  504. * 删除oss的数据
  505. * @return
  506. */
  507. @PostMapping(value = "/deleteOss")
  508. public ResultData deleteOss(@RequestBody FileParamVO param) throws Exception {
  509. return sceneProService.deleteOss(param);
  510. }
  511. /**
  512. * 上传图片多媒体数据,直接到七牛云
  513. * @param file
  514. * @return
  515. */
  516. @PostMapping(value = "/uploadFloorplanPng")
  517. public ResultData uploadFloorplanPng(FileParamVO param, @RequestParam("file") MultipartFile[] file) throws Exception {
  518. return sceneProService.uploadFloorplanPng(param, file);
  519. }
  520. /**
  521. * 检验视频网站url是否正确
  522. * @return
  523. */
  524. @PostMapping(value = "/checkVideoUrl")
  525. public ResultData checkVideoUrl(@RequestBody FileParamVO param){
  526. return sceneProService.checkVideoUrl(param);
  527. }
  528. /**
  529. * 肖安需求,下载场景obj和贴图
  530. */
  531. @CheckCooperationPermit
  532. @PostMapping(value = "/downloadModel")
  533. public ResultData downloadTexData(@RequestParam("num") String num) throws Exception {
  534. return sceneProService.downloadTexData(num);
  535. }
  536. /**
  537. * 肖安需求,上传修改后的obj和贴图
  538. * @param file
  539. * @return
  540. */
  541. // @SystemControllerLog(description = "上传修改后的obj和贴图")
  542. @CheckCooperationPermit
  543. @PostMapping(value = "/uploadModel")
  544. public ResultData uploadObjAndImg(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
  545. return sceneProService.uploadObjAndImg(num, file);
  546. }
  547. /**
  548. * 修改logoBottom状态
  549. * @param
  550. * @return
  551. */
  552. @PostMapping(value = "/uploadLogoBottomStatus")
  553. public ResultData uploadLogoBottomStatus(@RequestBody FileParamVO param) throws Exception {
  554. return sceneProService.uploadLogoBottomStatus(param);
  555. }
  556. /**
  557. * 保存通用json数据
  558. */
  559. @PostMapping(value = "/saveJsonData")
  560. public ResultData saveJsonData(@RequestBody FileParamVO param) throws Exception{
  561. return sceneProService.saveJsonData(param);
  562. }
  563. /**
  564. * 下载点位全景图或视频
  565. */
  566. @PostMapping(value = "/downloadPanoramaOrVideo")
  567. public ResultData downloadPanoramaOrVideo(@RequestBody FileParamVO param) throws Exception{
  568. return sceneProService.downloadPanoramaOrVideo(param);
  569. }
  570. /**
  571. * 上传点位全景图或视频
  572. */
  573. @PostMapping(value = "/uploadPanoramaOrVideo")
  574. public ResultData uploadPanoramaOrVideo(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  575. return sceneProService.uploadPanoramaOrVideo(param, file);
  576. }
  577. /**
  578. * 上传绿幕抠图视频
  579. */
  580. @PostMapping(value = "/uploadROIVideo")
  581. public ResultData uploadROIVideo(FileParamVO param, @RequestParam(name = "file", required = false) MultipartFile file) throws Exception{
  582. return sceneProService.uploadROIVideo(param, file);
  583. }
  584. /**
  585. * 删除绿幕抠图视频
  586. */
  587. @PostMapping(value = "/deleteROIVideo")
  588. public ResultData deleteROIVideo(@RequestBody FileParamVO param) throws Exception{
  589. return sceneProService.deleteROIVideo(param);
  590. }
  591. /**
  592. * 上传场景背景音乐
  593. */
  594. @PostMapping(value = "/uploadBgMusic")
  595. public ResultData uploadBgMusic(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  596. return sceneProService.uploadBgMusic(param, file);
  597. }
  598. /**
  599. * 删除上传的场景背景音乐
  600. */
  601. @PostMapping(value = "/deleteUploadBgMusic")
  602. public ResultData deleteUploadBgMusic(@RequestBody FileParamVO param) throws Exception{
  603. return sceneProService.deleteUploadBgMusic(param);
  604. }
  605. /**
  606. * 保存关联全景图
  607. */
  608. @CheckCooperationPermit
  609. @PostMapping(value = "/linkPan/upload")
  610. public ResultData uploadLinkPan(
  611. @RequestParam(value = "num") String num,
  612. @RequestParam(value = "sid") String sid,
  613. @RequestParam(value = "fileName") String fileName,
  614. @RequestParam("file") MultipartFile file) throws Exception{
  615. return sceneEditInfoService.uploadLinkPan(num, sid, fileName, file);
  616. }
  617. /**
  618. * 保存关联全景图
  619. */
  620. @CheckCooperationPermit
  621. @PostMapping(value = "/linkPan/save")
  622. public ResultData saveLinkPan(@RequestBody @Validated SaveLinkPanParamVO param) throws Exception{
  623. return sceneEditInfoService.saveLinkPan(param);
  624. }
  625. @CheckCooperationPermit
  626. @PostMapping(value = "/linkPan/delete")
  627. public ResultData deleteLinkPan(@RequestBody @Validated DeleteLinkPanParamVO param) throws Exception {
  628. return sceneEditInfoService.deleteLinkPan(param);
  629. }
  630. @CheckCooperationPermit
  631. @PostMapping(value = "/styles/delete")
  632. public ResultData deleteStyles(@RequestBody @Validated DeleteLinkSceneStylesParamVO param) throws Exception {
  633. return sceneEditInfoService.deleteStyles(param);
  634. }
  635. @CheckCooperationPermit
  636. @PostMapping(value = "/linkPan/list")
  637. public ResultData listLinkPan(@RequestParam(value = "num") String num) throws Exception {
  638. return sceneEditInfoService.listLinkPan(num);
  639. }
  640. /**
  641. * 保存关联全景图json
  642. */
  643. @PostMapping(value = "/copyAndUpdateFloorJson")
  644. public ResultData copyAndUpdateFloorJson(@RequestBody FileParamVO param) throws Exception{
  645. return sceneProService.copyAndUpdateFloorJson(param);
  646. }
  647. /**
  648. * 保存关联全景图json
  649. */
  650. @PostMapping(value = "/updateFloorJson")
  651. public ResultData updateFloorJson(@RequestBody FileParamVO param) throws Exception{
  652. return sceneProService.updateFloorJson(param);
  653. }
  654. /**
  655. * 下载点位数据
  656. */
  657. @PostMapping(value = "/downloadVisionData")
  658. public ResultData downloadVisionData(@RequestBody SceneEditParamVO param) throws Exception{
  659. return sceneProService.downloadVisionData(param);
  660. }
  661. /**
  662. * 下载全景图数据
  663. */
  664. @PostMapping(value = "/downloadPanoramaData")
  665. public ResultData downloadPanoramaData(@RequestBody SceneEditParamVO param) throws Exception{
  666. return sceneProService.downloadPanoramaData(param);
  667. }
  668. /**
  669. * <p>
  670. 上传后保存
  671. * </p>
  672. * @author dengsixing
  673. * @date 2022/1/20
  674. * @param param
  675. * @return com.fdkankan.common.response.ResultData
  676. **/
  677. @PostMapping(value = "/saveUpload")
  678. public ResultData saveUpload(@RequestBody @Validated SaveUploadParamVO param) throws Exception{
  679. return sceneEditInfoService.saveUpload(param);
  680. }
  681. /**
  682. * <p>
  683. 保存户型图
  684. * </p>
  685. * @author dengsixing
  686. * @date 2022/1/20
  687. * @param param
  688. * @return com.fdkankan.common.response.ResultData
  689. **/
  690. @CheckCooperationPermit
  691. @PostMapping(value = "/cad/save")
  692. public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
  693. return sceneEditInfoService.saveCad(param);
  694. }
  695. /**
  696. * <p>
  697. 重置户型图
  698. * </p>
  699. * @author dengsixing
  700. * @date 2022/2/16
  701. * @param num
  702. * @return
  703. **/
  704. @CheckCooperationPermit
  705. @PostMapping(value = "/cad/reset")
  706. public ResultData resetCad(@RequestParam(value = "num") String num) throws Exception {
  707. return sceneEditInfoService.resetCad(num);
  708. }
  709. /**
  710. * <p>
  711. 楼层户型重命名
  712. * </p>
  713. * @author dengsixing
  714. * @date 2022/2/16
  715. * @return
  716. **/
  717. @CheckCooperationPermit
  718. @PostMapping(value = "/cad/rename")
  719. public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException {
  720. return sceneEditInfoService.renameCad(param);
  721. }
  722. /**
  723. * 获取场景详情
  724. */
  725. @GetMapping(value = "/getInfo")
  726. public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
  727. param.setReqType(SceneInfoReqType.EDIT.code());
  728. return sceneEditInfoService.getSceneInfo(param);
  729. }
  730. /**
  731. * <p>
  732. 上传全景图
  733. * </p>
  734. * @author dengsixing
  735. * @date 2022/2/16
  736. * @param num
  737. * @param file
  738. * @return java.util.List<java.lang.String>
  739. **/
  740. @CheckCooperationPermit
  741. @PostMapping(value = "/uploadPanorama")
  742. public ResultData uploadPanorama(@RequestParam(value = "num") String num,
  743. @RequestParam("file") MultipartFile file) throws Exception {
  744. return sceneEditInfoService.uploadPanorama(num, file);
  745. }
  746. /**
  747. * <p>
  748. 下载全景图
  749. * </p>
  750. * @author dengsixing
  751. * @date 2022/2/16
  752. * @return java.util.List<java.lang.String>
  753. **/
  754. @CheckCooperationPermit
  755. @PostMapping(value = "/downloadPanorama")
  756. public ResultData downloadPanorama(@RequestBody @Validated FileParamVO param) throws Exception {
  757. return sceneEditInfoService.downloadPanorama(param);
  758. }
  759. /**
  760. * <p>
  761. 保存视频盒子
  762. * </p>
  763. * @author dengsixing
  764. * @date 2022/2/18
  765. * @param param
  766. * @return com.fdkankan.common.response.ResultData
  767. **/
  768. @CheckCooperationPermit
  769. @PostMapping(value = "/video/box/save")
  770. public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
  771. return sceneEditInfoService.saveVideoBox(param);
  772. }
  773. /**
  774. * <p>
  775. 删除视频盒子
  776. * </p>
  777. * @author dengsixing
  778. * @date 2022/2/18
  779. * @param param
  780. * @return com.fdkankan.common.response.ResultData
  781. **/
  782. @CheckCooperationPermit
  783. @PostMapping(value = "/video/box/delete")
  784. public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
  785. return sceneEditInfoService.deleteVideoBox(param);
  786. }
  787. /**
  788. * <p>
  789. 保存空间贴图
  790. * </p>
  791. * @author dengsixing
  792. * @date 2022/2/18
  793. * @param param
  794. * @return com.fdkankan.common.response.ResultData
  795. **/
  796. @CheckCooperationPermit
  797. @PostMapping(value = "/photo/box/save")
  798. public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception {
  799. return sceneEditInfoService.saveBoxPhoto(param);
  800. }
  801. /**
  802. * <p>
  803. 删除空间贴图
  804. * </p>
  805. * @author dengsixing
  806. * @date 2022/2/18
  807. * @param param
  808. * @return com.fdkankan.common.response.ResultData
  809. **/
  810. @CheckCooperationPermit
  811. @PostMapping(value = "/photo/box/delete")
  812. public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
  813. return sceneEditInfoService.deleteBoxPhoto(param);
  814. }
  815. /**
  816. * <p>
  817. 下载视频
  818. * </p>
  819. * @author dengsixing
  820. * @date 2022/2/23
  821. * @param param
  822. * @return com.fdkankan.scene.vo.DownloadVO
  823. **/
  824. @CheckCooperationPermit
  825. @PostMapping(value = "downloadBallScreenVideo")
  826. public DownloadVO downloadBallScreenVideo(@RequestBody @Validated BallScreenVideoParamVO param){
  827. return sceneEditInfoService.downloadBallScreenVideo(param);
  828. }
  829. /**
  830. * <p>
  831. 上传视频
  832. * </p>
  833. * @author dengsixing
  834. * @date 2022/2/23
  835. * @param num
  836. * @param fileName
  837. * @param file
  838. * @return com.fdkankan.common.response.ResultData
  839. **/
  840. @CheckCooperationPermit
  841. @PostMapping(value = "uploadBallScreenVideo")
  842. public ResultData uploadBallScreenVideo(
  843. @RequestParam("num") String num,
  844. @RequestParam("fileName") String fileName,
  845. @RequestParam("file") MultipartFile file) throws Exception {
  846. return sceneEditInfoService.uploadBallScreenVideo(num, fileName, file);
  847. }
  848. /**
  849. * 上传图片到oss,base64
  850. * base64 图片base64
  851. * fileName 文件名称
  852. * bizType 业务类型
  853. * files 文件
  854. * num 场景码
  855. * type 操作类型 0添加,1替换
  856. * uploadPath 上传路径,此字段为扩展字段,前端可自定义上传路径,注意是完全的文件路径
  857. */
  858. @CheckCooperationPermit
  859. @RequestMapping(value = "/upload/files", method = RequestMethod.POST)
  860. public String uploads(@RequestParam(value = "base64",required = false) String base64,
  861. @RequestParam(value = "fileName",required = false) String fileName,
  862. @RequestParam(value = "bizType",required = false) String bizType,
  863. @RequestParam(value = "files",required = false) MultipartFile[] files,
  864. @RequestParam(value = "num",required = false) String num,
  865. @RequestParam(value = "type",required = false,defaultValue = "1") Integer type,
  866. @RequestParam(value = "uploadPath",required = false) String uploadPath) throws Exception {
  867. return sceneUploadService.uploads(base64,fileName,bizType,files,num,type,getToken(),uploadPath);
  868. }
  869. /**
  870. * 用户自定义上传文本内容上传
  871. * @param param
  872. * @return
  873. * @throws Exception
  874. */
  875. @RequestMapping(value = "/upload/content", method = RequestMethod.POST)
  876. public String uploadContent(@RequestBody @Validated UploadContentParamVO param) throws Exception {
  877. return sceneUploadService.uploadContent(param);
  878. }
  879. /**
  880. * <p>
  881. 删除文件
  882. * </p>
  883. * @author dengsixing
  884. * @date 2022/2/23
  885. * @param paramVO
  886. * @return com.fdkankan.common.response.ResultData
  887. **/
  888. @CheckCooperationPermit
  889. @PostMapping("/delete/file")
  890. public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{
  891. return sceneUploadService.delete(paramVO);
  892. }
  893. /**
  894. * 场景同步
  895. */
  896. @CheckCooperationPermit
  897. @PostMapping(value = "/sceneSync")
  898. public ResultData sceneSync(
  899. @RequestParam("num") String num,
  900. @RequestParam(value = "type", defaultValue = "ajk") String type,
  901. @RequestParam("floorPlanJson") String floorPlanJson,
  902. @RequestParam("ajkJson") String ajkJson,
  903. @RequestParam("cameraJson") String cameraJson,
  904. @RequestParam("files") MultipartFile[] files) throws Exception{
  905. return sceneEditInfoService.sceneSync(num, type, floorPlanJson, ajkJson, cameraJson, files);
  906. }
  907. /**
  908. * 获取场景权限
  909. * @param num 场景码
  910. * @return
  911. * @throws Exception
  912. */
  913. @CheckCooperationPermit
  914. @PostMapping(value = "/getAuth")
  915. public SceneAuthVO getAuth(@RequestParam("num") String num) throws Exception{
  916. return sceneEditService.getAuth(num, this.getToken());
  917. }
  918. /**
  919. * <p>
  920. 上传国际化文件
  921. * </p>
  922. * @author dengsixing
  923. * @date 2022/4/11
  924. * @param param
  925. * @return com.fdkankan.common.response.ResultData
  926. **/
  927. @PostMapping(value = "/locales")
  928. public ResultData locales(@RequestBody @Validated LocalesParamVO param) throws Exception {
  929. if("pro".equals(env)){
  930. throw new BusinessException(ErrorCode.HAVE_NO_RIGHT);
  931. }
  932. return sceneEditService.locales(param);
  933. }
  934. /**
  935. * 保存导览
  936. * @param param
  937. * @return
  938. * @throws Exception
  939. */
  940. @CheckCooperationPermit
  941. @PostMapping(value = "/tour/save")
  942. public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{
  943. return sceneEditService.saveTour(param);
  944. }
  945. /**
  946. * 删除导览
  947. * @param param
  948. * @return
  949. * @throws Exception
  950. */
  951. @CheckCooperationPermit
  952. @PostMapping(value = "/tour/delete")
  953. public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
  954. return sceneEditService.deleteTour(param);
  955. }
  956. /**
  957. * 添加马赛克
  958. * @param param
  959. * @return
  960. * @throws Exception
  961. */
  962. @CheckCooperationPermit
  963. @PostMapping(value = "/mosaics/add")
  964. public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{
  965. return sceneEditInfoService.addMosaics(param);
  966. }
  967. /**
  968. * 删除马赛克
  969. * @param param
  970. * @return
  971. * @throws Exception
  972. */
  973. @CheckCooperationPermit
  974. @PostMapping(value = "/mosaics/delete")
  975. public ResultData deleteMosaics(@RequestBody @Validated DeleteMosaicParamVO param) throws Exception{
  976. return sceneEditInfoService.deleteMosaics(param);
  977. }
  978. /**
  979. * 删除马赛克
  980. * @param param
  981. * @return
  982. * @throws Exception
  983. */
  984. @CheckCooperationPermit
  985. @PostMapping(value = "/mosaics/list")
  986. public ResultData getMosaicList(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
  987. return ResultData.ok(sceneEditInfoService.getMosaicList(param.getNum()));
  988. }
  989. /**
  990. * 保存水印
  991. * @param param
  992. * @return
  993. * @throws Exception
  994. */
  995. @CheckCooperationPermit
  996. @PostMapping(value = "/waterMark/add")
  997. public ResultData addWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
  998. return sceneEditInfoService.addWaterMark(param);
  999. }
  1000. /**
  1001. * 删除水印
  1002. * @param param
  1003. * @return
  1004. * @throws Exception
  1005. */
  1006. @CheckCooperationPermit
  1007. @PostMapping(value = "/waterMark/delete")
  1008. public ResultData deleteWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
  1009. return sceneEditInfoService.deleteWaterMark(param);
  1010. }
  1011. /**
  1012. * 删除水印
  1013. * @param param
  1014. * @return
  1015. * @throws Exception
  1016. */
  1017. @CheckCooperationPermit
  1018. @PostMapping(value = "/filter/save")
  1019. public ResultData saveFilter(@RequestBody @Validated BaseDataParamVO param) throws Exception{
  1020. return sceneEditInfoService.saveFilter(param);
  1021. }
  1022. /**
  1023. * 删除水印
  1024. * @param param
  1025. * @return
  1026. * @throws Exception
  1027. */
  1028. @CheckCooperationPermit
  1029. @PostMapping(value = "/filter/list")
  1030. public ResultData listFilter(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
  1031. return sceneEditInfoService.listFilter(param);
  1032. }
  1033. /**
  1034. * <p>
  1035. 添加监控
  1036. * </p>
  1037. * @author dengsixing
  1038. * @date 2022/9/20
  1039. * @param param
  1040. * @return com.fdkankan.common.response.ResultData
  1041. **/
  1042. @CheckCooperationPermit
  1043. @PostMapping("/surveillance/save")
  1044. public ResultData saveSurveillance(@RequestBody @Validated SurveillanceParamVO param){
  1045. return surveillanceService.saveSurveillance(param);
  1046. }
  1047. @PostMapping("/surveillance/delete")
  1048. public ResultData deleteSurveillance(@RequestBody @Validated BaseSidParamVO param){
  1049. return surveillanceService.deleteSurveillance(param);
  1050. }
  1051. @PostMapping("/surveillance/list")
  1052. public ResultData listSurveillance(@RequestBody @Validated BaseSceneParamVO param){
  1053. return ResultData.ok(surveillanceService.listSurveillance(param.getNum()));
  1054. }
  1055. }