SceneController.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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.RequestScene;
  13. import com.fdkankan.ucenter.vo.request.SceneParam;
  14. import com.fdkankan.ucenter.vo.response.DownloadProcessVo;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. /**
  20. * <p>
  21. * 场景表 前端控制器
  22. * </p>
  23. *
  24. * @author
  25. * @since 2022-07-04
  26. */
  27. @RestController
  28. @RequestMapping("/ucenter/user/scene")
  29. public class SceneController extends BaseController {
  30. @Autowired
  31. ISceneProService sceneProService;
  32. @Autowired
  33. IUserService userService;
  34. @Autowired
  35. IDownService downService;
  36. @Autowired
  37. ISceneUpgradeToV4Service sceneUpgradeToV4Service;
  38. @Autowired
  39. ISceneCooperationService sceneCooperationService;
  40. @Autowired
  41. ISceneService sceneService;
  42. @Autowired
  43. IScenePlusService scenePlusService;
  44. @PostMapping("/findSceneNumber")
  45. public Result findSceneNumber(){
  46. return Result.success(sceneProService.findSceneNumber(getToken()));
  47. }
  48. @PostMapping("/getOldSceneList")
  49. public Result getOldSceneList(@RequestBody SceneParam param){
  50. User user = userService.getByToken(getToken());
  51. param.setUserId(user.getId());
  52. return Result.success(sceneService.pageList(param));
  53. }
  54. @PostMapping(value = "/list")
  55. public Result getScenes(@RequestBody RequestScene param) throws Exception {
  56. String username = JwtUtil.getUsername(getToken());
  57. return Result.success(sceneProService.getScenes(username, param));
  58. }
  59. @PostMapping("/newList")
  60. public Result newList(@RequestBody SceneParam param){
  61. String username = JwtUtil.getUsername(getToken());
  62. return Result.success(sceneProService.newList(param,username));
  63. }
  64. @PostMapping("/getOnlySceneList")
  65. public Result getOnlySceneList(@RequestBody SceneParam param){
  66. String username = JwtUtil.getUsername(getToken());
  67. param.setHasFolder(0);
  68. JSONObject jsonObject = sceneProService.newList(param, username);
  69. JSONObject pageInfo = jsonObject.getJSONObject("pageInfo");
  70. pageInfo.put("endRow",0);
  71. pageInfo.put("firstPage",param.getPageNum());
  72. pageInfo.put("hasNextPage",false);
  73. pageInfo.put("isLastPage",0);
  74. pageInfo.put("size",pageInfo.get("total"));
  75. Integer pages = pageInfo.getInteger("total") / param.getPageSize();
  76. pageInfo.put("pages",pageInfo.getInteger("total") % param.getPageSize() == 0 ? pages : pages + 1);
  77. return Result.success(pageInfo);
  78. }
  79. /**
  80. * 获取场景详情
  81. */
  82. @RequestMapping(value = "/detail", method = RequestMethod.POST)
  83. public Result getSceneDetail(@RequestBody SceneParam param) throws Exception {
  84. return Result.success(sceneProService.getSceneDetail(param.getSceneNum()));
  85. }
  86. @PostMapping("/copyScene")
  87. public Result copyScene(@RequestBody SceneParam param) throws Exception {
  88. String username = JwtUtil.getUsername(getToken());
  89. sceneProService.copyScene(param.getSceneNum(),username);
  90. return Result.success();
  91. }
  92. @PostMapping("/delete")
  93. public Result delete(@RequestBody SceneParam param) throws Exception {
  94. sceneProService.delete(param.getSceneNum(),getUserId());
  95. return Result.success();
  96. }
  97. /**
  98. * 校验该场景有无下载资格
  99. */
  100. @PostMapping("/checkDownload")
  101. public Result checkDownload(@RequestBody SceneParam param) throws Exception {
  102. return Result.success( downService.checkDownLoad(param.getSceneNum(),param.getIsObj()) );
  103. }
  104. /**
  105. * 校验该场景有无下载资格
  106. * @param param
  107. * @return
  108. */
  109. @PostMapping("/downloadScene")
  110. public Result downloadScene(@RequestBody SceneParam param) throws Exception{
  111. String username = JwtUtil.getUsername(getToken());
  112. return Result.success(downService.down(param.getSceneNum(),username,param.getIsObj()));
  113. }
  114. /**
  115. * 获取下载进度
  116. * @param param
  117. * @return
  118. */
  119. @PostMapping("/downloadProcess")
  120. public Result downloadProcess(@RequestBody SceneParam param) throws Exception{
  121. User user = userService.getByUserName(JwtUtil.getUsername(this.getToken()));
  122. DownloadProcessVo downloadProcessVo = downService.downloadProcess(user.getId(), param.getSceneNum(),param.getIsObj());
  123. if(downloadProcessVo.getStatus() == DownloadStatusEnum.DOWNLOAD_FAILED_CODE){
  124. return Result.failure("下载失败!");
  125. }
  126. return Result.success(downloadProcessVo);
  127. }
  128. /**
  129. *
  130. * 场景升级V4接口
  131. */
  132. @GetMapping("/upgradeToV4")
  133. public Result upgradeToV4(String num) throws Exception{
  134. return sceneUpgradeToV4Service.upgrade(num);
  135. }
  136. /**
  137. *
  138. * 场景升级进度查询接口
  139. */
  140. @GetMapping("/getUpgradeToV4Progress")
  141. public Result getUpgradeToV4Progress(String num) throws Exception{
  142. return sceneUpgradeToV4Service.getUpgradeToV4Progress(num);
  143. }
  144. /**
  145. *
  146. * 分页查询存在houseType文件的场景
  147. */
  148. @PostMapping("/pageSceneWithHouseType")
  149. public Result pageSceneWithHouseType(@RequestBody RequestScene param){
  150. return scenePlusService.pageSceneWithHouseType(param,this.getToken());
  151. }
  152. /**
  153. *
  154. * 根据场景码返回ar路径
  155. */
  156. @GetMapping("/getArPathByNum")
  157. public Result getArPathByNum(@RequestParam(value = "num") String num){
  158. return scenePlusService.getArPathByNum(num);
  159. }
  160. }