SceneEditController.java 25 KB

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