ConvertController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package com.fdkankan.project.tieta.controller;
  2. import cn.hutool.core.io.FileUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.fdkankan.project.tieta.bean.ResultData;
  7. import com.fdkankan.project.tieta.constant.Constant;
  8. import com.fdkankan.project.tieta.dto.ScenePushDTO;
  9. import com.fdkankan.project.tieta.dto.SendConvertDTO;
  10. import com.fdkankan.project.tieta.entity.FullphotoFileindex;
  11. import com.fdkankan.project.tieta.service.FullphotoFileindexService;
  12. import com.fdkankan.project.tieta.service.IConvertService;
  13. import com.fdkankan.project.tieta.utils.FdfsUtil;
  14. import com.fdkankan.redis.util.RedisClient;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.validation.annotation.Validated;
  17. import org.springframework.web.bind.annotation.*;
  18. import javax.annotation.Resource;
  19. import java.io.File;
  20. import java.util.HashSet;
  21. import java.util.List;
  22. import java.util.Map;
  23. import java.util.Set;
  24. @RestController
  25. @RequestMapping("/convert")
  26. public class ConvertController {
  27. @Autowired
  28. private IConvertService convertService;
  29. @Resource
  30. private RedisClient redisClient;
  31. @PostMapping("/sendConvert")
  32. public ResultData sendConvert(@RequestBody @Validated SendConvertDTO dto){
  33. convertService.sendConvert(dto);
  34. return ResultData.ok();
  35. }
  36. @PostMapping("/push")
  37. public ResultData push(@RequestBody @Validated ScenePushDTO dto){
  38. return convertService.scenePush(dto);
  39. }
  40. @GetMapping("/pushHistory")
  41. public ResultData pushHistory(){
  42. convertService.scenePushHistory();
  43. return ResultData.ok();
  44. }
  45. @Autowired
  46. FullphotoFileindexService fullphotoFileindexService;
  47. @GetMapping("/pushHistory2")
  48. public ResultData pushHistory2(){
  49. // List<FullphotoFileindex> fullphotoFileindices = null;
  50. // long current = 1;
  51. // int size = 1;
  52. // Page<FullphotoFileindex> fullphotoFileindexPage = null;
  53. // do {
  54. // fullphotoFileindexPage = fullphotoFileindexService.pageStationCodeAndEntityId(current, size);
  55. // fullphotoFileindices = fullphotoFileindexPage.getRecords();
  56. // }while (fullphotoFileindexPage.hasNext());
  57. //
  58. // return ResultData.ok();
  59. IPage<FullphotoFileindex> page = fullphotoFileindexService.page(new Page<>(1, 100));
  60. return ResultData.ok();
  61. }
  62. @GetMapping("/deleteRedisKey")
  63. public ResultData deleteRedisKey(){
  64. return ResultData.ok();
  65. }
  66. @GetMapping("/redisStringAdd")
  67. public ResultData redisStringAdd(){
  68. redisClient.add("123123_123123_test", "123123123");
  69. return ResultData.ok();
  70. }
  71. @GetMapping("/redisStringGet")
  72. public ResultData redisStringGet(){
  73. return ResultData.ok(redisClient.get("123123_123123_test"));
  74. }
  75. @GetMapping("/pushDemo")
  76. public ResultData pushDemo(){
  77. String path = "D:\\test\\tieta\\50个全景制品数据包\\";
  78. List<File> files = FileUtil.loopFiles(path);
  79. Set<String> stationCodeRoomIdSet = new HashSet<>();
  80. for (File file : files) {
  81. String absolutePath = file.getAbsolutePath();
  82. String replace = absolutePath.replace(path, "");
  83. String substring = replace.substring(0, replace.indexOf("\\"));
  84. stationCodeRoomIdSet.add(substring);
  85. }
  86. for (String item : stationCodeRoomIdSet) {
  87. String[] split = item.split("_");
  88. String stationCode = split[0];
  89. String entityId = split[1];
  90. List<File> files1 = FileUtil.loopFiles(path + item);
  91. for (File file : files1) {
  92. String fileAbsolutePath = file.getAbsolutePath();
  93. String fileType = null;
  94. if(!file.isDirectory()){
  95. if(fileAbsolutePath.contains("vision.txt")){
  96. fileType = "7";
  97. }
  98. if(fileAbsolutePath.contains("512")){
  99. fileType = "1";
  100. }
  101. if(fileAbsolutePath.contains("4k")){
  102. fileType = "2";
  103. }
  104. if(fileAbsolutePath.contains("8k")){
  105. fileType = "3";
  106. }
  107. if(fileAbsolutePath.contains("mesh.obj")){
  108. fileType = "11";
  109. }
  110. if(fileAbsolutePath.contains("floorplan.json")){
  111. fileType = "5";
  112. }
  113. if(fileAbsolutePath.contains("scene.json")){
  114. fileType = "12";
  115. }
  116. if(StrUtil.isNotEmpty(fileType)){
  117. Map<String, String> stringStringMap = fdfsUtil.uploadFile(file.getAbsolutePath());
  118. String fileId = stringStringMap.get("file_id");
  119. String httpUrl = stringStringMap.get("http_url");
  120. FullphotoFileindex fullphotoFileindex = new FullphotoFileindex();
  121. fullphotoFileindex.setStationCode(stationCode);
  122. fullphotoFileindex.setEntityId(entityId);
  123. fullphotoFileindex.setFileid(fileId);
  124. fullphotoFileindex.setFileUrl(httpUrl);
  125. fullphotoFileindex.setFileName(file.getName());
  126. fullphotoFileindex.setStatus("1");
  127. fullphotoFileindex.setFileType(fileType);
  128. fullphotoFileindexService.save(fullphotoFileindex);
  129. }
  130. }
  131. }
  132. }
  133. return ResultData.ok();
  134. }
  135. @Autowired
  136. private FdfsUtil fdfsUtil;
  137. public static void main(String[] args) {
  138. }
  139. }