SceneController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.fdkankan.manage.controller;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.fdkankan.manage.common.ResultCode;
  5. import com.fdkankan.manage.exception.BusinessException;
  6. import com.fdkankan.manage.common.ResultData;
  7. import com.fdkankan.manage.entity.ScenePlus;
  8. import com.fdkankan.manage.entity.ScenePro;
  9. import com.fdkankan.manage.httpClient.client.FdKKClient;
  10. import com.fdkankan.manage.httpClient.client.LaserClient;
  11. import com.fdkankan.manage.httpClient.param.LaserSceneParam;
  12. import com.fdkankan.manage.httpClient.vo.FdkkResponse;
  13. import com.fdkankan.manage.service.IDownService;
  14. import com.fdkankan.manage.service.IScenePlusService;
  15. import com.fdkankan.manage.service.ISceneProService;
  16. import com.fdkankan.manage.vo.request.SceneParam;
  17. import lombok.extern.slf4j.Slf4j;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.annotation.Resource;
  22. import java.util.HashMap;
  23. /**
  24. * 相机场景管理
  25. */
  26. @RestController
  27. @RequestMapping("/service/manage/scene")
  28. @Slf4j
  29. public class SceneController {
  30. @Autowired
  31. ISceneProService sceneProService;
  32. @Autowired
  33. IScenePlusService scenePlusService;
  34. @Autowired
  35. IDownService downService;
  36. @Autowired
  37. FdKKClient fdKKClient;
  38. @Autowired
  39. LaserClient laserClient;
  40. @PostMapping("/list")
  41. public ResultData list(@RequestBody SceneParam param){
  42. return ResultData.ok(sceneProService.pageList(param));
  43. }
  44. /**
  45. * 场景迁移
  46. * num 迁移场景码
  47. * snCode 迁移至相机snCode
  48. */
  49. @PostMapping("/move")
  50. public ResultData move(@RequestBody SceneParam param){
  51. if(StringUtils.isEmpty(param.getNum()) || StringUtils.isEmpty(param.getSnCode())){
  52. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  53. }
  54. sceneProService.move(param);
  55. return ResultData.ok();
  56. }
  57. /**
  58. * 场景复制
  59. * num 场景码
  60. */
  61. @PostMapping("/copy")
  62. public ResultData copy(@RequestBody SceneParam param) throws Exception {
  63. if(StringUtils.isEmpty(param.getNum())){
  64. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  65. }
  66. sceneProService.copy(param.getNum());
  67. return ResultData.ok();
  68. }
  69. /**
  70. * 场景删除
  71. * num 场景码
  72. */
  73. @PostMapping("/delete")
  74. public ResultData delete(@RequestBody SceneParam param){
  75. if(StringUtils.isEmpty(param.getNum())){
  76. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  77. }
  78. sceneProService.deleteByNum(param.getNum());
  79. return ResultData.ok();
  80. }
  81. /**
  82. * 检查下载
  83. * num 场景码
  84. */
  85. @GetMapping("/checkDownLoad")
  86. public ResultData checkDownLoad(@RequestParam(required = false) String num){
  87. return ResultData.ok(downService.checkDownLoad(num));
  88. }
  89. /**
  90. * 下载场景
  91. * num 场景码
  92. */
  93. @GetMapping("/downScene")
  94. public ResultData downScene(@RequestParam(required = false) String num){
  95. return ResultData.ok(downService.down(num));
  96. }
  97. /**
  98. * 下载场景进度条
  99. * num 场景码
  100. */
  101. @GetMapping("/downloadProcess")
  102. public ResultData downloadProcess(@RequestParam(required = false) String num){
  103. return ResultData.ok(downService.downloadProcess(num));
  104. }
  105. /**
  106. * 场景重算
  107. * num 场景码
  108. */
  109. @GetMapping("/rebuildScene")
  110. public ResultData rebuild(@RequestParam(required = false) String num){
  111. ScenePro scenePro = sceneProService.getByNum(num);
  112. if(scenePro!=null && scenePro.getSceneSource() != 4){
  113. throw new BusinessException(ResultCode.V3_SCENE_REBUILD);
  114. }
  115. ScenePlus scenePlus = scenePlusService.getByNum(num);
  116. if(scenePlus == null && scenePro == null){
  117. throw new BusinessException(ResultCode.SCENE_NOT_EXIST);
  118. }
  119. HashMap<String,Object> paramMap = new HashMap<>();
  120. paramMap.put("num",num);
  121. try {
  122. JSONObject jsonObject = fdKKClient.rebuildScene(paramMap);
  123. Integer code = jsonObject.getInteger("code");
  124. if(code != 0){
  125. log.error("场景重算失败:{},{}",num,jsonObject);
  126. throw new BusinessException(ResultCode.SCENE_REBUILD_ERROR);
  127. }
  128. }catch (Exception e){
  129. throw new BusinessException(ResultCode.SCENE_REBUILD_ERROR);
  130. }
  131. return ResultData.ok();
  132. }
  133. @PostMapping("/sceneDetail")
  134. public ResultData sceneDetail(@RequestBody LaserSceneParam param){
  135. if(param.getId() == null){
  136. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  137. }
  138. FdkkResponse fdkkResponse = laserClient.sceneDetail(param, StpUtil.getTokenValue());
  139. if(fdkkResponse.getCode() != 200){
  140. throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
  141. }
  142. return ResultData.ok(fdkkResponse.getData());
  143. }
  144. @PostMapping("/buildSceneObj")
  145. public ResultData buildSceneObj(@RequestBody LaserSceneParam param){
  146. if(param.getId() == null){
  147. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  148. }
  149. FdkkResponse fdkkResponse = laserClient.buildSceneObj(param, StpUtil.getTokenValue());
  150. if(fdkkResponse.getCode() != 200){
  151. throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
  152. }
  153. return ResultData.ok();
  154. }
  155. }