ProjectExportService.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package cn.cslg.pas.service.business;
  2. import cn.cslg.pas.common.dto.PatentDTO;
  3. import cn.cslg.pas.common.dto.business.PatentProjectDTO;
  4. import cn.cslg.pas.common.model.request.QueryRequest;
  5. import cn.cslg.pas.common.model.request.StringRequest;
  6. import cn.cslg.pas.common.utils.FileUtils;
  7. import cn.cslg.pas.common.utils.JsonUtils;
  8. import cn.cslg.pas.domain.es.Patent;
  9. import cn.cslg.pas.service.business.es.EsService;
  10. import cn.hutool.core.io.FileUtil;
  11. import cn.hutool.core.util.IdUtil;
  12. import cn.hutool.core.util.ZipUtil;
  13. import io.swagger.v3.oas.annotations.media.Schema;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.io.File;
  17. import java.io.FileOutputStream;
  18. import java.io.IOException;
  19. import java.nio.charset.StandardCharsets;
  20. import java.util.Objects;
  21. @Service
  22. public class ProjectExportService {
  23. @Autowired
  24. private FileUtils fileUtils;
  25. @Autowired
  26. private EsService esService;
  27. @Autowired
  28. private PatentProjectService patentProjectService;
  29. @Autowired
  30. private ProjectService projectService;
  31. public void exportProject() throws Exception {
  32. String directoryName = IdUtil.simpleUUID();
  33. String fileName = directoryName + ".zip";
  34. String tempPath = fileUtils.getTempPath(directoryName);
  35. String url = fileUtils.getDirectory(fileName);
  36. String savePath = fileUtils.getSystemPath(url);
  37. File directory = new File(tempPath);
  38. if (!directory.exists()) {
  39. boolean success = directory.mkdir();
  40. if (!success) {
  41. throw new Exception("数据导出时创建文件夹失败");
  42. }
  43. }
  44. Patent patent = new Patent();
  45. patent.setAppNo("123");
  46. this.saveDataToJsonFile(tempPath, "专利.json", getProjectPatent(185));
  47. File file = ZipUtil.zip(tempPath, savePath);
  48. FileUtil.del(tempPath);
  49. }
  50. public void saveDataToJsonFile(String tempPath, String fileName, String data) throws IOException {
  51. String path = tempPath + FileUtils.FILE_SEPARATOR + fileName;
  52. FileOutputStream fileOutputStream = new FileOutputStream(path);
  53. fileOutputStream.write(data.getBytes(StandardCharsets.UTF_8));
  54. fileOutputStream.close();
  55. }
  56. public String getProjectPatent(Integer projectId) throws Exception{
  57. StringRequest stringRequest =new StringRequest();
  58. stringRequest.setProjectId(185);
  59. PatentDTO patentDTO =esService.esSearch(stringRequest);
  60. if(patentDTO ==null){
  61. patentDTO=new PatentDTO();
  62. }
  63. return Objects.requireNonNull(JsonUtils.objectToJson(patentDTO.getPatents()));
  64. }
  65. /**
  66. *
  67. * @param projectId
  68. * @return
  69. */
  70. public String getProject(Integer projectId){
  71. PatentProjectDTO patentProjectDTO =new PatentProjectDTO();
  72. //根据
  73. return "";
  74. }
  75. }