GetPatentPictureFromWebService.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.example.xiaoshiweixinback.service.importPatent;
  2. import com.example.xiaoshiweixinback.business.utils.FileUtils;
  3. import com.example.xiaoshiweixinback.business.utils.FormatUtil;
  4. import com.example.xiaoshiweixinback.domain.es.Patent;
  5. import com.example.xiaoshiweixinback.domain.es.PatentClassify;
  6. import com.example.xiaoshiweixinback.domain.es.PatentVector;
  7. import com.example.xiaoshiweixinback.entity.dto.patent.UploadPatentWebDTO;
  8. import com.example.xiaoshiweixinback.service.common.FileManagerService;
  9. import com.example.xiaoshiweixinback.service.common.GetVectorService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.io.File;
  13. import java.util.ArrayList;
  14. import java.util.Arrays;
  15. import java.util.List;
  16. @Service
  17. public class GetPatentPictureFromWebService {
  18. @Autowired
  19. private PatentStarApiService patentStarApiService;
  20. @Autowired
  21. private FileManagerService fileManagerService;
  22. @Autowired
  23. private EsService esService;
  24. @Autowired
  25. private GetVectorService getVectorService;
  26. public void getPatentPicture(UploadPatentWebDTO uploadPatentWebDTO) {
  27. try {
  28. String pictureUrl = patentStarApiService.getPictureApi(uploadPatentWebDTO.getStarPatentVO().getRowApplicationNo());
  29. Patent patent = uploadPatentWebDTO.getPatent();
  30. if (pictureUrl != null && !pictureUrl.contains("408")) {
  31. File file = FileUtils.getPictureFileByUrl(pictureUrl);
  32. String guid = FormatUtil.getPictureFormat(uploadPatentWebDTO.getStarPatentVO().getApplicationNo());
  33. fileManagerService.uploadFileWithGuid(file, guid);
  34. PatentVector patentVectorOrg = esService.getVectorByIndex(patent.getAppNo(),0);
  35. if(patentVectorOrg!=null){
  36. return;
  37. }
  38. PatentVector patentVector = new PatentVector();
  39. patentVector.setAppNo(patent.getAppNo());
  40. patentVector.setTitle(patent.getTitle());
  41. patentVector.setRightHolder(patent.getRightHolder());
  42. patentVector.setAppDate(patent.getAppDate());
  43. patentVector.setAbstractStr(patent.getAbstractStr());
  44. patentVector.setAppCountry(patent.getAppCountry());
  45. PatentClassify patentClassify =new PatentClassify();
  46. patentClassify.setLevel1(uploadPatentWebDTO.getStarPatentVO().getMainIpc());
  47. patentVector.setLoc(Arrays.asList(patentClassify));
  48. patentVector.setImageIndex(0);
  49. patentVector.setGuid(guid);
  50. List<String> stringList = getVectorService.getVectorByFile(file);
  51. List<Float> floats =new ArrayList<>();
  52. stringList.forEach(item->{
  53. Float a =Float.parseFloat(item);
  54. floats.add(a);
  55. });
  56. org.apache.commons.io.FileUtils.deleteQuietly(file);
  57. patentVector.setMyVector(floats);
  58. esService.addPatentVector(patentVector);
  59. }
  60. } catch (Exception e) {
  61. e.printStackTrace();
  62. }
  63. }
  64. }