SceneEditController.java 27 KB

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