GetPatentPictureFromExcelService.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.example.xiaoshiweixinback.service.importPatent;
  2. import cn.hutool.core.util.IdUtil;
  3. import com.example.xiaoshiweixinback.business.utils.FileUtils;
  4. import com.example.xiaoshiweixinback.business.utils.FormatUtil;
  5. import com.example.xiaoshiweixinback.domain.es.Patent;
  6. import com.example.xiaoshiweixinback.domain.es.PatentClassify;
  7. import com.example.xiaoshiweixinback.domain.es.PatentVector;
  8. import com.example.xiaoshiweixinback.entity.dto.patent.UploadPatentWebDTO;
  9. import com.example.xiaoshiweixinback.service.common.FileManagerService;
  10. import com.example.xiaoshiweixinback.service.common.GetVectorService;
  11. import org.apache.poi.ss.usermodel.PictureData;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.beans.factory.annotation.Configurable;
  14. import org.springframework.stereotype.Service;
  15. import java.io.File;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. @Configurable
  19. @Service
  20. public class GetPatentPictureFromExcelService {
  21. @Autowired
  22. private FileManagerService fileManagerService;
  23. @Autowired
  24. private GetFiguresService getFiguresService;
  25. @Autowired
  26. private EsService esService;
  27. @Autowired
  28. private GetVectorService getVectorService;
  29. public void run(UploadPatentWebDTO uploadPatentWebDTO) {
  30. PictureData pictureData = uploadPatentWebDTO.getPictureData();
  31. try {
  32. if (pictureData != null) {
  33. String ext = pictureData.suggestFileExtension();
  34. byte[] data = pictureData.getData();
  35. String picName = IdUtil.simpleUUID();
  36. File file = FileUtils.getFileByBytes(data, picName, "." + ext);
  37. this.tem(file, uploadPatentWebDTO.getPatent(), 0);
  38. }
  39. } catch (Exception e) {
  40. }
  41. }
  42. public void tem(File file, Patent patent, Integer i) throws Exception {
  43. String guid = FormatUtil.getPictureFormat(patent.getAppNo()) + i;
  44. System.out.println(guid);
  45. fileManagerService.uploadFileWithGuid(file, guid);
  46. PatentVector patentVectorOrg = esService.getVectorByIndex(patent.getAppNo(), i);
  47. if (patentVectorOrg != null) {
  48. return;
  49. }
  50. PatentVector patentVector = new PatentVector();
  51. patentVector.setAppNo(patent.getAppNo());
  52. patentVector.setTitle(patent.getTitle());
  53. patentVector.setRightHolder(patent.getApplicant());
  54. patentVector.setAppDate(patent.getAppDate());
  55. patentVector.setAbstractStr(patent.getAbstractStr());
  56. patentVector.setAppCountry("US");
  57. patentVector.setLoc(patent.getLoc());
  58. patentVector.setImageIndex(i);
  59. patentVector.setGuid(guid);
  60. List<String> stringList = getVectorService.getVectorByFile(file);
  61. List<Float> floats = new ArrayList<>();
  62. stringList.forEach(item -> {
  63. Float a = Float.parseFloat(item);
  64. floats.add(a);
  65. });
  66. org.apache.commons.io.FileUtils.deleteQuietly(file);
  67. patentVector.setMyVector(floats);
  68. esService.addPatentVector(patentVector);
  69. }
  70. }