package com.example.xiaoshiweixinback.service.importPatent; import com.example.xiaoshiweixinback.business.utils.FileUtils; import com.example.xiaoshiweixinback.business.utils.FormatUtil; import com.example.xiaoshiweixinback.domain.es.Patent; import com.example.xiaoshiweixinback.domain.es.PatentClassify; import com.example.xiaoshiweixinback.domain.es.PatentVector; import com.example.xiaoshiweixinback.entity.dto.patent.UploadPatentWebDTO; import com.example.xiaoshiweixinback.service.common.FileManagerService; import com.example.xiaoshiweixinback.service.common.GetVectorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @Service public class GetPatentPictureFromWebService { @Autowired private PatentStarApiService patentStarApiService; @Autowired private FileManagerService fileManagerService; @Autowired private EsService esService; @Autowired private GetVectorService getVectorService; public void getPatentPicture(UploadPatentWebDTO uploadPatentWebDTO) { try { String pictureUrl = patentStarApiService.getPictureApi(uploadPatentWebDTO.getStarPatentVO().getRowApplicationNo()); Patent patent = uploadPatentWebDTO.getPatent(); if (pictureUrl != null && !pictureUrl.contains("408")) { File file = FileUtils.getPictureFileByUrl(pictureUrl); String guid = FormatUtil.getPictureFormat(uploadPatentWebDTO.getStarPatentVO().getApplicationNo()); fileManagerService.uploadFileWithGuid(file, guid); PatentVector patentVectorOrg = esService.getVectorByIndex(patent.getAppNo(),0); if(patentVectorOrg!=null){ return; } PatentVector patentVector = new PatentVector(); patentVector.setAppNo(patent.getAppNo()); patentVector.setTitle(patent.getTitle()); patentVector.setRightHolder(patent.getRightHolder()); patentVector.setAppDate(patent.getAppDate()); patentVector.setAbstractStr(patent.getAbstractStr()); patentVector.setAppCountry(patent.getAppCountry()); PatentClassify patentClassify =new PatentClassify(); patentClassify.setLevel1(uploadPatentWebDTO.getStarPatentVO().getMainIpc()); patentVector.setLoc(Arrays.asList(patentClassify)); patentVector.setImageIndex(0); patentVector.setGuid(guid); List stringList = getVectorService.getVectorByFile(file); List floats =new ArrayList<>(); stringList.forEach(item->{ Float a =Float.parseFloat(item); floats.add(a); }); org.apache.commons.io.FileUtils.deleteQuietly(file); patentVector.setMyVector(floats); esService.addPatentVector(patentVector); } } catch (Exception e) { e.printStackTrace(); } } }