SceneController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.fdkankan.scene.controller;
  2. import cn.hutool.core.thread.ThreadUtil;
  3. import com.fdkankan.common.constant.SceneInfoReqType;
  4. import com.fdkankan.scene.bean.LaserSceneBean;
  5. import com.fdkankan.scene.service.ILaserService;
  6. import com.fdkankan.scene.vo.*;
  7. import com.fdkankan.scene.annotation.CheckPermit;
  8. import com.fdkankan.scene.service.ISceneService;
  9. import com.fdkankan.web.response.ResultData;
  10. import com.fdkankan.scene.service.ISceneEditInfoService;
  11. import com.fdkankan.scene.service.IScenePlusService;
  12. import com.fdkankan.web.controller.BaseController;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.*;
  16. import org.springframework.web.multipart.MultipartFile;
  17. /**
  18. * <p>
  19. * 场景表 前端控制器
  20. * </p>
  21. *
  22. * @author dengsixing
  23. * @since 2021-12-23
  24. */
  25. @RestController
  26. @RequestMapping("/service/scene")
  27. public class SceneController extends BaseController {
  28. @Autowired
  29. private ISceneEditInfoService sceneEditInfoService;
  30. @Autowired
  31. private IScenePlusService scenePlusService;
  32. @Autowired
  33. private ILaserService laserService;
  34. @Autowired
  35. private ISceneService sceneService;
  36. /**
  37. * <p>
  38. 获取场景详情
  39. * </p>
  40. * @author dengsixing
  41. * @date 2022/8/1
  42. * @param param
  43. * @return com.fdkankan.scene.vo.SceneInfoVO
  44. **/
  45. @GetMapping(value = "/getInfo")
  46. public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
  47. param.setReqType(SceneInfoReqType.VIEW.code());
  48. return sceneEditInfoService.getSceneInfo(param);
  49. }
  50. /**
  51. * <p>
  52. 根据场景密码打开场景
  53. * </p>
  54. * @author dengsixing
  55. * @date 2022/8/1
  56. * @param param
  57. * @return com.fdkankan.web.response.ResultData
  58. **/
  59. @PostMapping(value = "/check/key")
  60. public ResultData checkKey(@RequestBody @Validated SceneCheckKeyParamVO param) throws Exception {
  61. return sceneEditInfoService.checkKey(param);
  62. }
  63. /**
  64. * <p>
  65. 获取数据对接下载信息
  66. * </p>
  67. * @author dengsixing
  68. * @date 2022/8/1
  69. * @return com.fdkankan.web.response.ResultData
  70. **/
  71. @GetMapping(value = "/downLoadZSData")
  72. public ResultData downLoadZSData(String sceneNum) throws Exception{
  73. return scenePlusService.downLoadZSData(sceneNum);
  74. }
  75. @PostMapping("/initScene")
  76. public ResultData initScene(@RequestBody InitSceneParamVO param){
  77. return scenePlusService.initScene(param.getNum(), param.getTitle(), param.getDes(),
  78. param.getSceneSource(), param.getDataSource(), param.getSceneScheme(),
  79. param.getSceneResolution(), param.getSceneFrom());
  80. }
  81. /**
  82. * <p>
  83. laser场景信息同步
  84. * </p>
  85. * @author dengsixing
  86. * @date 2022/9/27
  87. * @param param
  88. * @return com.fdkankan.web.response.ResultData
  89. **/
  90. @PostMapping("/editScene")
  91. public ResultData editScene(@RequestBody @Validated LaserSceneBean param){
  92. ThreadUtil.execAsync(()->scenePlusService.editScene(param));
  93. return ResultData.ok();
  94. }
  95. /**
  96. * 上传人体抠图原图
  97. * @param num
  98. * @param file
  99. * @return
  100. * @throws Exception
  101. */
  102. @PostMapping(value = "/uploadBodySegment")
  103. public ResultData uploadBodySegment(@RequestParam("file") MultipartFile file,
  104. @RequestParam(value = "rotate", required = false) Integer rotate) throws Exception {
  105. return sceneService.uploadBodySegment(file, rotate);
  106. }
  107. /**
  108. * 获取人体抠图提取状态
  109. * @return ResultData
  110. * @throws Exception
  111. */
  112. @PostMapping(value = "/getBodySegmentStatus")
  113. public ResultData getBodySegmentStatus(@RequestParam(value = "serialNum") String uuid) throws Exception {
  114. return sceneService.getBodySegmentStatus(uuid);
  115. }
  116. @PostMapping("/delete")
  117. public ResultData delete(@RequestBody SceneParamVO param) throws Exception {
  118. sceneService.delete(param.getSceneNum(),getUserId());
  119. return ResultData.ok();
  120. }
  121. }