SceneController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.fdkankan.ucenter.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.dtflys.forest.annotation.Get;
  4. import com.fdkankan.common.exception.BusinessException;
  5. import com.fdkankan.common.util.JwtUtil;
  6. import com.fdkankan.ucenter.common.BaseController;
  7. import com.fdkankan.ucenter.common.DownloadStatusEnum;
  8. import com.fdkankan.ucenter.common.Result;
  9. import com.fdkankan.ucenter.constant.LoginConstant;
  10. import com.fdkankan.ucenter.entity.User;
  11. import com.fdkankan.ucenter.service.*;
  12. import com.fdkankan.ucenter.vo.request.SceneParam;
  13. import com.fdkankan.ucenter.vo.response.DownloadProcessVo;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.GetMapping;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import org.springframework.web.bind.annotation.RequestHeader;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RequestMethod;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import java.util.List;
  24. /**
  25. * <p>
  26. * 场景表 前端控制器
  27. * </p>
  28. *
  29. * @author
  30. * @since 2022-07-04
  31. */
  32. @RestController
  33. @RequestMapping("/user/scene")
  34. public class SceneController extends BaseController {
  35. @Autowired
  36. ISceneProService sceneProService;
  37. @Autowired
  38. IUserService userService;
  39. @Autowired
  40. IDownService downService;
  41. @Autowired
  42. private ISceneUpgradeToV4Service sceneUpgradeToV4Service;
  43. @Autowired
  44. ISceneCooperationService sceneCooperationService;
  45. @PostMapping("/findSceneNumber")
  46. public Result findSceneNumber(@RequestHeader String token){
  47. return Result.success(sceneProService.findSceneNumber(token));
  48. }
  49. @PostMapping("/newList")
  50. public Result newList(@RequestBody SceneParam param,@RequestHeader String token){
  51. String username = JwtUtil.getUsername(token);
  52. return Result.success(sceneProService.newList(param,username));
  53. }
  54. @PostMapping("/getOnlySceneList")
  55. public Result getOnlySceneList(@RequestBody SceneParam param,@RequestHeader String token){
  56. String username = JwtUtil.getUsername(token);
  57. param.setHasFolder(0);
  58. JSONObject jsonObject = sceneProService.newList(param, username);
  59. return Result.success(jsonObject.getJSONObject("pageInfo"));
  60. }
  61. @PostMapping("/copyScene")
  62. public Result copyScene(@RequestBody SceneParam param,@RequestHeader String token) throws Exception {
  63. String username = JwtUtil.getUsername(token);
  64. sceneProService.copyScene(param.getSceneNum(),username);
  65. return Result.success();
  66. }
  67. @PostMapping("/delete")
  68. public Result delete(@RequestBody SceneParam param) throws Exception {
  69. sceneProService.delete(param.getSceneNum());
  70. return Result.success();
  71. }
  72. /**
  73. * 校验该场景有无下载资格
  74. */
  75. @PostMapping("/checkDownload")
  76. public Result checkDownload(@RequestBody SceneParam param) throws Exception {
  77. return Result.success( downService.checkDownLoad(param.getSceneNum()) );
  78. }
  79. /**
  80. * 校验该场景有无下载资格
  81. * @param param
  82. * @return
  83. */
  84. @PostMapping("/downloadScene")
  85. public Result downloadScene(@RequestBody SceneParam param,@RequestHeader String token) throws Exception{
  86. String username = JwtUtil.getUsername(token);
  87. return Result.success(downService.down(param.getSceneNum(),username));
  88. }
  89. /**
  90. * 获取下载进度
  91. * @param param
  92. * @return
  93. */
  94. @PostMapping("/downloadProcess")
  95. public Result downloadProcess(@RequestBody SceneParam param) throws Exception{
  96. User user = userService.getByUserName(JwtUtil.getUsername(this.getToken()));
  97. DownloadProcessVo downloadProcessVo = downService.downloadProcess(user.getId(), param.getSceneNum());
  98. if(downloadProcessVo.getStatus() == DownloadStatusEnum.DOWNLOAD_FAILED_CODE){
  99. return Result.failure("下载失败!");
  100. }
  101. return Result.success(downloadProcessVo);
  102. }
  103. /**
  104. *
  105. * 场景升级V4接口
  106. */
  107. @GetMapping("/upgradeToV4")
  108. public Result upgradeToV4(String num) throws Exception{
  109. return sceneUpgradeToV4Service.upgrade(num);
  110. }
  111. /**
  112. *
  113. * 激光场景生成obj文件
  114. */
  115. @PostMapping(value = "/generateObjFile")
  116. public Result generateObjFile(@RequestBody SceneParam requestScene) throws Exception{
  117. String num = requestScene.getSceneNum();
  118. if (StringUtils.isEmpty(num)) {
  119. throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
  120. }
  121. sceneProService.generateObjFile(num);
  122. return Result.success();
  123. }
  124. /**
  125. *
  126. * 场景升级进度查询接口
  127. */
  128. @GetMapping("/getUpgradeToV4Progress")
  129. public Result getUpgradeToV4Progress(String num) throws Exception{
  130. return sceneUpgradeToV4Service.getUpgradeToV4Progress(num);
  131. }
  132. }