InnerController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package com.fdkankan.contro.controller;
  2. import cn.hutool.http.HttpUtil;
  3. import com.fdkankan.contro.annotation.SignVerification;
  4. import com.fdkankan.contro.common.Result;
  5. import com.fdkankan.contro.entity.ScenePlus;
  6. import com.fdkankan.contro.httpclient.MyClient;
  7. import com.fdkankan.contro.service.IInnerService;
  8. import com.fdkankan.contro.service.IScenePlusService;
  9. import com.fdkankan.contro.service.ILocalFdageLogService;
  10. import com.fdkankan.contro.vo.LocalfdageLogParamVo;
  11. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  12. import com.fdkankan.model.constants.ConstantFilePath;
  13. import com.fdkankan.model.constants.UploadFilePath;
  14. import com.fdkankan.web.response.ResultData;
  15. import lombok.extern.log4j.Log4j2;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.GetMapping;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import org.springframework.web.bind.annotation.*;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. import java.util.Map;
  24. import org.springframework.web.bind.annotation.*;
  25. import javax.annotation.Resource;
  26. import javax.validation.Valid;
  27. /**
  28. * 场景文件上传模块
  29. */
  30. @Log4j2
  31. @RestController
  32. @RequestMapping("/api/inner")
  33. public class InnerController {
  34. @Autowired
  35. private IInnerService innerService;
  36. @Autowired
  37. private IScenePlusService scenePlusService;
  38. @Autowired
  39. private ILocalFdageLogService localfdageLogService;
  40. @SignVerification
  41. @GetMapping("uploadArtificialResult")
  42. public ResultData uploadArtificialResult(String num) throws Exception {
  43. innerService.uploadArtificialResult(num);
  44. return ResultData.ok();
  45. }
  46. /**
  47. * 内部用接口,修改场景为计算失败状态,app可以出发补拍重传
  48. * @param num
  49. * @return
  50. * @throws Exception
  51. */
  52. @GetMapping("updateSceneFail")
  53. public ResultData updateSceneFail(String num) throws Exception {
  54. innerService.updateSceneFail(num);
  55. return ResultData.ok();
  56. }
  57. /**
  58. * 只是一个demo接口
  59. * @param title
  60. * @param type
  61. * @return
  62. */
  63. @GetMapping("listNewCameraScene")
  64. public ResultData listNewCameraScene(@RequestParam("title") String title, @RequestParam("type") String type){
  65. List<ScenePlus> ScenePlusList = innerService.listNewCameraScene(title, type);
  66. return ResultData.ok(ScenePlusList);
  67. }
  68. /**
  69. * 只是一个demo接口
  70. * @return
  71. */
  72. @PostMapping("submit")
  73. public ResultData submit(String sxNum, String qjkkNum){
  74. innerService.submit(sxNum, qjkkNum);
  75. return ResultData.ok();
  76. }
  77. @SignVerification
  78. @PostMapping("noticeLocalfdageLogs")
  79. public ResultData noticeLocalfdageLogs(@RequestBody @Valid LocalfdageLogParamVo param) throws Exception {
  80. localfdageLogService.noticeLocalfdageLogs(param);
  81. return ResultData.ok();
  82. }
  83. @Autowired
  84. FYunFileServiceInterface fYunFileServiceInterface;
  85. @Resource
  86. private MyClient myClient;
  87. @SignVerification
  88. @PostMapping("copyBuildScene")
  89. public ResultData copyBuildScene(@RequestBody List<String> sources) throws Exception {
  90. Map<String, String> result = new HashMap<>();
  91. Map<String, String> headerMap = new HashMap<>();
  92. headerMap.put("X-UA", "123");
  93. for (String source : sources) {
  94. String srcSource = source.replace("oss://4dkankan/", "");
  95. String targetSource = srcSource.replace("linyanru", "home");
  96. fYunFileServiceInterface.copyFileInBucketParallel(srcSource, targetSource);
  97. String dataSource = targetSource.replace("home", "/mnt/data");
  98. String url = "https://www.4dkankan.com/api/scene/file/copyDataAndBuild?sceneVer=V4&sourceBucket=4dkankan&dataSource=" + dataSource;
  99. ResultData<Map<String, String>> resultData = myClient.get2(url, headerMap);
  100. if(resultData.getCode() == 0){
  101. result.put(source, resultData.getData().get("code"));
  102. }else{
  103. result.put(source, resultData.getMessage());
  104. }
  105. }
  106. return ResultData.ok(result);
  107. }
  108. }