SceneEditController.java 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855
  1. package com.fdkankan.scene.controller;
  2. import com.fdkankan.common.constant.SceneInfoReqType;
  3. import com.fdkankan.common.controller.BaseController;
  4. import com.fdkankan.scene.service.ISceneEditInfoService;
  5. import com.fdkankan.scene.service.ISceneEditService;
  6. import com.fdkankan.scene.service.ISceneProService;
  7. import com.fdkankan.scene.service.ISceneUploadService;
  8. import com.fdkankan.scene.vo.*;
  9. import com.fdkankan.common.response.ResultData;
  10. import java.util.List;
  11. import lombok.extern.log4j.Log4j2;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.multipart.MultipartFile;
  16. /**
  17. * 场景编辑管理
  18. */
  19. @Log4j2
  20. @RestController
  21. @RequestMapping("/api/scene/edit")
  22. public class SceneEditController extends BaseController {
  23. @Autowired
  24. private ISceneProService sceneProService;
  25. @Autowired
  26. private ISceneEditInfoService sceneEditInfoService;
  27. @Autowired
  28. private ISceneUploadService sceneUploadService;
  29. @Autowired
  30. private ISceneEditService sceneEditService;
  31. /**
  32. * <p>
  33. 保存编辑的数据
  34. * </p>
  35. * @author dengsixing
  36. * @date 2022/1/12
  37. * @param sceneEditParamVO
  38. * @return com.fdkankan.common.response.ResultData
  39. **/
  40. @PostMapping(value = "/saveSceneInfo")
  41. public ResultData saveSceneInfo(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  42. return sceneProService.saveSceneInfo(sceneEditParamVO);
  43. }
  44. /**
  45. * <p>
  46. 保存场景编辑数据
  47. * </p>
  48. * @author dengsixing
  49. * @date 2022/1/12
  50. * @param param
  51. * @return com.fdkankan.common.response.ResultData
  52. **/
  53. @PostMapping(value = "/base/save")
  54. public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
  55. return sceneEditInfoService.saveScene(param);
  56. }
  57. /**
  58. * <p>
  59. 发布场景数据
  60. * </p>
  61. * @author dengsixing
  62. * @date 2022/1/12
  63. * @param param
  64. * @return com.fdkankan.common.response.ResultData
  65. **/
  66. @PostMapping(value = "/publicScene")
  67. public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception {
  68. return sceneEditInfoService.publicScene(param);
  69. }
  70. /**
  71. * <p>
  72. 单独保存tourList
  73. * </p>
  74. * @author dengsixing
  75. * @date 2022/1/12
  76. * @param sceneEditParamVO
  77. * @return com.fdkankan.common.response.ResultData
  78. **/
  79. @PostMapping(value = "/saveTourList")
  80. public ResultData saveTourList(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  81. return sceneProService.saveTourList(sceneEditParamVO);
  82. }
  83. /**
  84. * <p>
  85. 删除导览
  86. * </p>
  87. * @author dengsixing
  88. * @date 2022/1/12
  89. * @param sceneEditParamVO
  90. * @return com.fdkankan.common.response.ResultData
  91. **/
  92. @PostMapping(value = "/deleteScreencap")
  93. public ResultData deleteScreencap(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  94. return sceneProService.deleteScreencap(sceneEditParamVO);
  95. }
  96. /**
  97. * <p>
  98. 删除录屏音频文件
  99. * </p>
  100. * @author dengsixing
  101. * @date 2022/1/12
  102. * @param sceneEditParamVO
  103. * @return com.fdkankan.common.response.ResultData
  104. **/
  105. @PostMapping(value = "/deleteScreencapVoiceNew")
  106. public ResultData deleteScreencapVoiceNew(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
  107. return sceneProService.deleteScreencapVoice(sceneEditParamVO);
  108. }
  109. /**
  110. * <p>
  111. 上传音频
  112. * </p>
  113. * @author dengsixing
  114. * @date 2022/1/12
  115. * @param param
  116. * @param file
  117. * @return com.fdkankan.common.response.ResultData
  118. **/
  119. @PostMapping(value = "/uploadScreencapVoiceNew")
  120. public ResultData uploadScreencapVoice(FileParamVO param,
  121. @RequestParam("file") MultipartFile file) throws Exception {
  122. return sceneProService.uploadScreencapVoiceNew(param, file);
  123. }
  124. /**
  125. * <p>
  126. 上传音频
  127. * </p>
  128. * @author dengsixing
  129. * @date 2022/1/12
  130. * @param param
  131. * @param file
  132. * @return com.fdkankan.common.response.ResultData
  133. **/
  134. @PostMapping(value = "/uploadScreencapVoiceNewV3")
  135. public ResultData uploadScreencapVoiceV3(FileParamVO param,
  136. @RequestParam("file") MultipartFile file) throws Exception {
  137. return sceneProService.uploadScreencapVoiceNewV3(param, file);
  138. }
  139. /**
  140. * <p>
  141. 删除音频
  142. * </p>
  143. * @author dengsixing
  144. * @date 2022/1/12
  145. * @param param
  146. * @return com.fdkankan.common.response.ResultData
  147. **/
  148. @PostMapping(value = "/deleteScreencapVoicePart")
  149. public ResultData deleteScreencapVoicePart(@RequestBody @Validated FileParamVO param) throws Exception {
  150. return sceneProService.deleteScreencapVoicePart(param);
  151. }
  152. /**
  153. * <p>
  154. 获取录屏的文件名称
  155. * </p>
  156. * @author dengsixing
  157. * @date 2022/1/12
  158. * @param param
  159. * @return com.fdkankan.common.response.ResultData
  160. **/
  161. @PostMapping(value = "/getScreencapVoice")
  162. public ResultData getScreencapVoice(@RequestBody SceneEditParamVO param) throws Exception {
  163. return sceneProService.getScreencapVoice(param);
  164. }
  165. /**
  166. * <p>
  167. 保存初始页面
  168. * </p>
  169. * @author dengsixing
  170. * @date 2022/1/12
  171. * @param param
  172. * @return com.fdkankan.common.response.ResultData
  173. **/
  174. @PostMapping(value = "/saveInitialPage")
  175. public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
  176. return sceneProService.saveInitialPage(param);
  177. }
  178. /**
  179. * <p>
  180. 保存背景音乐(只是编辑页面生效)
  181. * </p>
  182. * @author dengsixing
  183. * @date 2022/1/12
  184. * @param param
  185. * @return com.fdkankan.common.response.ResultData
  186. **/
  187. @PostMapping(value = "/saveBackgroundMusic")
  188. public ResultData saveBackgroundMusic(@RequestBody SceneEditParamVO param) throws Exception {
  189. return sceneProService.saveBackgroundMusic(param);
  190. }
  191. /**
  192. * <p>
  193. 保存地面logo
  194. * </p>
  195. * @author dengsixing
  196. * @date 2022/1/12
  197. * @param param
  198. * @return com.fdkankan.common.response.ResultData
  199. **/
  200. @PostMapping(value = "/saveFloorLogo")
  201. public ResultData saveFloorLogo(@RequestBody SceneEditParamVO param) throws Exception {
  202. return sceneProService.saveFloorLogo(param);
  203. }
  204. /**
  205. * <p>
  206. 保存场景热点
  207. * </p>
  208. * @author dengsixing
  209. * @date 2022/1/12
  210. * @param param
  211. * @return com.fdkankan.common.response.ResultData
  212. **/
  213. @PostMapping(value = "/tagSave")
  214. public ResultData tagSave(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
  215. return sceneProService.tagSave(param);
  216. }
  217. /**
  218. * <p>
  219. 新增或修改场景热点
  220. * </p>
  221. * @author dengsixing
  222. * @date 2022/1/12
  223. * @param param
  224. * @return com.fdkankan.common.response.ResultData
  225. **/
  226. @PostMapping(value = "/tag/save")
  227. public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
  228. return sceneProService.addOrUpdateTag(param);
  229. }
  230. /**
  231. * <p>
  232. 删除热点
  233. * </p>
  234. * @author dengsixing
  235. * @date 2022/2/16
  236. * @param param
  237. * @return com.fdkankan.common.response.ResultData
  238. **/
  239. @PostMapping(value = "/tag/delete")
  240. public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
  241. return sceneProService.deleteTag(param);
  242. }
  243. @PostMapping(value = "/tag/list")
  244. public ResultData listTags(@RequestParam(value = "num") String num) throws Exception {
  245. return sceneProService.listTags(num);
  246. }
  247. /**
  248. * <p>
  249. 删除热点
  250. * </p>
  251. * @author dengsixing
  252. * @date 2022/2/16
  253. * @param param
  254. * @return com.fdkankan.common.response.ResultData
  255. **/
  256. @PostMapping(value = "/icons/delete")
  257. public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
  258. return sceneProService.deleteIcons(param);
  259. }
  260. /**
  261. * <p>
  262. 保存场景热点
  263. * </p>
  264. * @author dengsixing
  265. * @date 2022/1/12
  266. * @param param
  267. * @return com.fdkankan.common.response.ResultData
  268. **/
  269. @PostMapping(value = "/saveShopHot")
  270. public ResultData saveShopHot(@RequestBody SceneEditParamVO param) throws Exception {
  271. return sceneProService.saveShopHot(param);
  272. }
  273. /**
  274. * <p>
  275. 保存场景热点
  276. * </p>
  277. * @author dengsixing
  278. * @date 2022/1/12
  279. * @param param
  280. * @return com.fdkankan.common.response.ResultData
  281. **/
  282. @PostMapping(value = "/saveOverlay")
  283. public ResultData saveOverlay(@RequestBody SceneEditParamVO param) throws Exception {
  284. return sceneProService.saveOverlay(param);
  285. }
  286. /**
  287. * <p>
  288. 保存导览静态数据
  289. * </p>
  290. * @author dengsixing
  291. * @date 2022/1/12
  292. * @param param
  293. * @return com.fdkankan.common.response.ResultData
  294. **/
  295. @PostMapping(value = "/saveScreencapData")
  296. public ResultData saveScreencapData(@RequestBody SceneEditParamVO param) throws Exception {
  297. return sceneProService.saveScreencapData(param);
  298. }
  299. /**
  300. * <p>
  301. 修改场景秘钥
  302. * </p>
  303. * @author dengsixing
  304. * @date 2022/1/12
  305. * @param param
  306. * @return com.fdkankan.common.response.ResultData
  307. **/
  308. @PostMapping(value = "/saveSceneKey")
  309. public ResultData saveSceneKey(@RequestBody SceneEditParamVO param) throws Exception {
  310. return sceneProService.saveSceneKey(param);
  311. }
  312. /**
  313. * <p>
  314. 增加热点媒体文件
  315. * </p>
  316. * @author dengsixing
  317. * @date 2022/1/12
  318. * @param param
  319. * @return com.fdkankan.common.response.ResultData
  320. **/
  321. @PostMapping(value = "/saveScreencapFile")
  322. public ResultData saveScreencapFile(@RequestBody SceneEditParamVO param) throws Exception {
  323. return sceneProService.saveScreencapFile(param);
  324. }
  325. /**
  326. * <p>
  327. 上传场景的热点媒体文件
  328. * </p>
  329. * @author dengsixing
  330. * @date 2022/1/12
  331. * @param param
  332. * @param file
  333. * @return com.fdkankan.common.response.ResultData
  334. **/
  335. @PostMapping(value = "/uploadHotMedia")
  336. public ResultData uploadHotMedia(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  337. return sceneProService.uploadHotMedia(param, file);
  338. }
  339. /**
  340. * <p>
  341. 上传场景的Overlay媒体文件
  342. * </p>
  343. * @author dengsixing
  344. * @date 2022/1/12
  345. * @param param
  346. * @param file
  347. * @return com.fdkankan.common.response.ResultData
  348. **/
  349. @PostMapping(value = "/uploadOverlayMedia")
  350. public ResultData uploadOverlayMedia(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  351. return sceneProService.uploadOverlayMedia(param, file);
  352. }
  353. /**
  354. * <p>
  355. 增加热点媒体文件
  356. * </p>
  357. * @author dengsixing
  358. * @date 2022/1/12
  359. * @param param
  360. * @return com.fdkankan.common.response.ResultData
  361. **/
  362. @PostMapping(value = "/addHotMediaInfo")
  363. public ResultData addHotMediaInfo(@RequestBody SceneEditParamVO param) throws Exception {
  364. return sceneProService.addHotMediaInfo(param);
  365. }
  366. /**
  367. * <p>
  368. 保存漫游可行
  369. * </p>
  370. * @author dengsixing
  371. * @date 2022/1/12
  372. * @param param
  373. * @return com.fdkankan.common.response.ResultData
  374. **/
  375. @PostMapping(value = "/saveRoam")
  376. public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
  377. return sceneProService.saveRoam(param);
  378. }
  379. /**
  380. * 保存热点可见性的数据
  381. * @return
  382. */
  383. @PostMapping(value = "/saveTagsVisible")
  384. public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
  385. return sceneProService.saveTagsVisible(param);
  386. }
  387. /**
  388. * 获取从浏览器的音频
  389. */
  390. @PostMapping(value = "/getRecordAudioFromBrowser")
  391. public ResultData getRecordAudioFromBrowser(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  392. return sceneProService.getRecordAudioFromBrowser(param, file);
  393. }
  394. /**
  395. * 新增画墙重建模型(钟文)
  396. */
  397. @PostMapping(value = "/uploadFloorJson")
  398. public ResultData uploadFloorJson(@RequestBody SceneEditParamVO param) throws Exception{
  399. return sceneProService.uploadFloorJson(param);
  400. }
  401. /**
  402. * 安居客
  403. */
  404. @PostMapping(value = "/uploadFloorJsonAjk")
  405. public ResultData uploadFloorJsonAjk(FileParamVO param, @RequestParam("file") MultipartFile[] file) throws Exception{
  406. return sceneProService.uploadFloorJsonAjk(param, file);
  407. }
  408. /**
  409. * 重置画墙重建模型
  410. * @return
  411. */
  412. @PostMapping(value = "/resetUploadFloorJson")
  413. public ResultData resetUploadFloorJson(@RequestBody SceneEditParamVO param) throws Exception {
  414. return sceneProService.resetUploadFloorJson(param);
  415. }
  416. /**
  417. * 上传二维码和分享的logo
  418. * @return
  419. */
  420. @RequestMapping(value = "/uploadShareLogo", method = RequestMethod.POST)
  421. public ResultData uploadShareLogo(@RequestParam("num") String sceneNum, @RequestParam("file") MultipartFile file) throws Exception {
  422. SceneEditParamVO base = new SceneEditParamVO();
  423. base.setNum(sceneNum);
  424. return sceneProService.uploadShareLogo(base, file);
  425. }
  426. /**
  427. * 上传图片多媒体数据,直接到七牛云
  428. * @param file
  429. * @return
  430. */
  431. @PostMapping(value = "/uploadPic")
  432. public ResultData uploadPic(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception {
  433. return sceneProService.uploadPic(param, file);
  434. }
  435. /**
  436. * 直接上传hot.json到oss
  437. * @return
  438. */
  439. @PostMapping(value = "/uploadHotJsonToOss")
  440. public ResultData uploadHotJsonToOss(@RequestBody SceneEditParamVO param) throws Exception {
  441. return sceneProService.uploadHotJsonToOss(param);
  442. }
  443. /**
  444. * 删除oss的数据
  445. * @return
  446. */
  447. @PostMapping(value = "/deleteOss")
  448. public ResultData deleteOss(@RequestBody FileParamVO param) throws Exception {
  449. return sceneProService.deleteOss(param);
  450. }
  451. /**
  452. * 上传图片多媒体数据,直接到七牛云
  453. * @param file
  454. * @return
  455. */
  456. @PostMapping(value = "/uploadFloorplanPng")
  457. public ResultData uploadFloorplanPng(FileParamVO param, @RequestParam("file") MultipartFile[] file) throws Exception {
  458. return sceneProService.uploadFloorplanPng(param, file);
  459. }
  460. /**
  461. * 检验视频网站url是否正确
  462. * @return
  463. */
  464. @PostMapping(value = "/checkVideoUrl")
  465. public ResultData checkVideoUrl(@RequestBody FileParamVO param){
  466. return sceneProService.checkVideoUrl(param);
  467. }
  468. /**
  469. * 肖安需求,下载场景obj和贴图
  470. */
  471. @PostMapping(value = "/downloadModel")
  472. public ResultData downloadTexData(@RequestParam("num") String num) throws Exception {
  473. return sceneProService.downloadTexData(num);
  474. }
  475. /**
  476. * 肖安需求,上传修改后的obj和贴图
  477. * @param file
  478. * @return
  479. */
  480. // @SystemControllerLog(description = "上传修改后的obj和贴图")
  481. @PostMapping(value = "/uploadModel")
  482. public ResultData uploadObjAndImg(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
  483. return sceneProService.uploadObjAndImg(num, file);
  484. }
  485. /**
  486. * 修改logoBottom状态
  487. * @param
  488. * @return
  489. */
  490. @PostMapping(value = "/uploadLogoBottomStatus")
  491. public ResultData uploadLogoBottomStatus(@RequestBody FileParamVO param) throws Exception {
  492. return sceneProService.uploadLogoBottomStatus(param);
  493. }
  494. /**
  495. * 保存通用json数据
  496. */
  497. @PostMapping(value = "/saveJsonData")
  498. public ResultData saveJsonData(@RequestBody FileParamVO param) throws Exception{
  499. return sceneProService.saveJsonData(param);
  500. }
  501. /**
  502. * 下载点位全景图或视频
  503. */
  504. @PostMapping(value = "/downloadPanoramaOrVideo")
  505. public ResultData downloadPanoramaOrVideo(@RequestBody FileParamVO param) throws Exception{
  506. return sceneProService.downloadPanoramaOrVideo(param);
  507. }
  508. /**
  509. * 上传点位全景图或视频
  510. */
  511. @PostMapping(value = "/uploadPanoramaOrVideo")
  512. public ResultData uploadPanoramaOrVideo(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  513. return sceneProService.uploadPanoramaOrVideo(param, file);
  514. }
  515. /**
  516. * 上传绿幕抠图视频
  517. */
  518. @PostMapping(value = "/uploadROIVideo")
  519. public ResultData uploadROIVideo(FileParamVO param, @RequestParam(name = "file", required = false) MultipartFile file) throws Exception{
  520. return sceneProService.uploadROIVideo(param, file);
  521. }
  522. /**
  523. * 删除绿幕抠图视频
  524. */
  525. @PostMapping(value = "/deleteROIVideo")
  526. public ResultData deleteROIVideo(@RequestBody FileParamVO param) throws Exception{
  527. return sceneProService.deleteROIVideo(param);
  528. }
  529. /**
  530. * 上传场景背景音乐
  531. */
  532. @PostMapping(value = "/uploadBgMusic")
  533. public ResultData uploadBgMusic(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  534. return sceneProService.uploadBgMusic(param, file);
  535. }
  536. /**
  537. * 删除上传的场景背景音乐
  538. */
  539. @PostMapping(value = "/deleteUploadBgMusic")
  540. public ResultData deleteUploadBgMusic(@RequestBody FileParamVO param) throws Exception{
  541. return sceneProService.deleteUploadBgMusic(param);
  542. }
  543. /**
  544. * 保存关联全景图
  545. */
  546. @PostMapping(value = "/savePanorama")
  547. public ResultData savePanorama(FileParamVO param, @RequestParam("file") MultipartFile file) throws Exception{
  548. return sceneProService.savePanorama(param, file);
  549. }
  550. /**
  551. * 保存关联全景图
  552. */
  553. @PostMapping(value = "/savePanoramaJson")
  554. public ResultData savePanoramaJson(@RequestBody FileParamVO param) throws Exception{
  555. return sceneProService.savePanoramaJson(param);
  556. }
  557. /**
  558. * 保存关联全景图json
  559. */
  560. @PostMapping(value = "/copyAndUpdateFloorJson")
  561. public ResultData copyAndUpdateFloorJson(@RequestBody FileParamVO param) throws Exception{
  562. return sceneProService.copyAndUpdateFloorJson(param);
  563. }
  564. /**
  565. * 保存关联全景图json
  566. */
  567. @PostMapping(value = "/updateFloorJson")
  568. public ResultData updateFloorJson(@RequestBody FileParamVO param) throws Exception{
  569. return sceneProService.updateFloorJson(param);
  570. }
  571. /**
  572. * 下载点位数据
  573. */
  574. @PostMapping(value = "/downloadVisionData")
  575. public ResultData downloadVisionData(@RequestBody SceneEditParamVO param) throws Exception{
  576. return sceneProService.downloadVisionData(param);
  577. }
  578. /**
  579. * 下载全景图数据
  580. */
  581. @PostMapping(value = "/downloadPanoramaData")
  582. public ResultData downloadPanoramaData(@RequestBody SceneEditParamVO param) throws Exception{
  583. return sceneProService.downloadPanoramaData(param);
  584. }
  585. /**
  586. * <p>
  587. 上传后保存
  588. * </p>
  589. * @author dengsixing
  590. * @date 2022/1/20
  591. * @param param
  592. * @return com.fdkankan.common.response.ResultData
  593. **/
  594. @PostMapping(value = "/saveUpload")
  595. public ResultData saveUpload(@RequestBody @Validated SaveUploadParamVO param) throws Exception{
  596. return sceneEditInfoService.saveUpload(param);
  597. }
  598. /**
  599. * <p>
  600. 保存户型图
  601. * </p>
  602. * @author dengsixing
  603. * @date 2022/1/20
  604. * @param param
  605. * @return com.fdkankan.common.response.ResultData
  606. **/
  607. @PostMapping(value = "/cad/save")
  608. public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
  609. return sceneEditInfoService.saveCad(param);
  610. }
  611. /**
  612. * <p>
  613. 重置户型图
  614. * </p>
  615. * @author dengsixing
  616. * @date 2022/2/16
  617. * @param num
  618. * @return
  619. **/
  620. @PostMapping(value = "/cad/reset")
  621. public ResultData resetCad(@RequestParam(value = "num") String num){
  622. return sceneEditInfoService.resetCad(num);
  623. }
  624. /**
  625. * 获取场景详情
  626. */
  627. @GetMapping(value = "/getInfo")
  628. public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
  629. param.setReqType(SceneInfoReqType.EDIT.code());
  630. return sceneEditInfoService.getSceneInfo(param);
  631. }
  632. /**
  633. * <p>
  634. 批量上传全景照片
  635. * </p>
  636. * @author dengsixing
  637. * @date 2022/2/16
  638. * @param num
  639. * @param file
  640. * @return java.util.List<java.lang.String>
  641. **/
  642. @PostMapping(value = "/uploadPanorama")
  643. public List<String> uploadPanorama(@RequestParam(value = "num") String num,
  644. @RequestParam("file") MultipartFile file) throws Exception {
  645. return sceneEditInfoService.uploadPanorama(num, file);
  646. }
  647. /**
  648. * <p>
  649. 下载全景图
  650. * </p>
  651. * @author dengsixing
  652. * @date 2022/2/16
  653. * @return java.util.List<java.lang.String>
  654. **/
  655. @PostMapping(value = "/downloadPanorama")
  656. public ResultData downloadPanorama(@RequestBody @Validated FileParamVO param) throws Exception {
  657. return sceneEditInfoService.downloadPanorama(param);
  658. }
  659. /**
  660. * <p>
  661. 保存视频盒子
  662. * </p>
  663. * @author dengsixing
  664. * @date 2022/2/18
  665. * @param param
  666. * @return com.fdkankan.common.response.ResultData
  667. **/
  668. @PostMapping(value = "/video/box/save")
  669. public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
  670. return sceneEditInfoService.saveVideoBox(param);
  671. }
  672. /**
  673. * <p>
  674. 删除视频盒子
  675. * </p>
  676. * @author dengsixing
  677. * @date 2022/2/18
  678. * @param param
  679. * @return com.fdkankan.common.response.ResultData
  680. **/
  681. @PostMapping(value = "/video/box/delete")
  682. public ResultData deleteVideoBox(@RequestBody @Validated DeleteVidoeBoxParamVO param) throws Exception {
  683. return sceneEditInfoService.deleteVideoBox(param);
  684. }
  685. /**
  686. * <p>
  687. 下载视频
  688. * </p>
  689. * @author dengsixing
  690. * @date 2022/2/23
  691. * @param param
  692. * @return com.fdkankan.scene.vo.DownloadVO
  693. **/
  694. @PostMapping(value = "downloadBallScreenVideo")
  695. public DownloadVO downloadBallScreenVideo(@RequestBody @Validated BallScreenVideoParamVO param){
  696. return sceneEditInfoService.downloadBallScreenVideo(param);
  697. }
  698. /**
  699. * <p>
  700. 上传视频
  701. * </p>
  702. * @author dengsixing
  703. * @date 2022/2/23
  704. * @param num
  705. * @param fileName
  706. * @param file
  707. * @return com.fdkankan.common.response.ResultData
  708. **/
  709. @PostMapping(value = "uploadBallScreenVideo")
  710. public ResultData uploadBallScreenVideo(
  711. @RequestParam("num") String num,
  712. @RequestParam("fileName") String fileName,
  713. @RequestParam("file") MultipartFile file) throws Exception {
  714. return sceneEditInfoService.uploadBallScreenVideo(num, fileName, file);
  715. }
  716. /**
  717. * 上传图片到oss,base64
  718. * base64 图片base64
  719. * fileName 文件名称
  720. * bizType 业务类型
  721. * files 文件
  722. * num 场景码
  723. * type 操作类型 0添加,1替换
  724. */
  725. @RequestMapping(value = "/upload/files", method = RequestMethod.POST)
  726. public String uploads(@RequestParam(value = "base64",required = false) String base64,
  727. @RequestParam(value = "fileName",required = false) String fileName,
  728. @RequestParam(value = "bizType",required = false) String bizType,
  729. @RequestParam(value = "files",required = false) MultipartFile[] files,
  730. @RequestParam(value = "num",required = false) String num,
  731. @RequestParam(value = "type",required = false,defaultValue = "1") Integer type) throws Exception {
  732. return sceneUploadService.uploads(base64,fileName,bizType,files,num,type,getToken());
  733. }
  734. /**
  735. * <p>
  736. 删除文件
  737. * </p>
  738. * @author dengsixing
  739. * @date 2022/2/23
  740. * @param paramVO
  741. * @return com.fdkankan.common.response.ResultData
  742. **/
  743. @PostMapping("/delete/file")
  744. public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{
  745. return sceneUploadService.delete(paramVO);
  746. }
  747. /**
  748. * 场景同步
  749. */
  750. @PostMapping(value = "/sceneSync")
  751. public ResultData sceneSync(
  752. @RequestParam("num") String num,
  753. @RequestParam(value = "type", defaultValue = "ajk") String type,
  754. @RequestParam("floorPlanJson") String floorPlanJson,
  755. @RequestParam("ajkJson") String ajkJson,
  756. @RequestParam("cameraJson") String cameraJson,
  757. @RequestParam("files") MultipartFile[] files) throws Exception{
  758. return sceneEditInfoService.sceneSync(num, type, floorPlanJson, ajkJson, cameraJson, files);
  759. }
  760. /**
  761. * 获取场景权限
  762. * @param param
  763. * @return
  764. * @throws Exception
  765. */
  766. @PostMapping(value = "/getAuth")
  767. public SceneAuthVO getAuth(BaseSceneParamVO param) throws Exception{
  768. return sceneEditService.getAuth(param);
  769. }
  770. }