SceneEditController.java 35 KB

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