SceneEditController.java 35 KB

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