SceneEditController.java 26 KB

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