1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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<String> stringList = getVectorService.getVectorByFile(file);
- List<Float> 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();
- }
- }
- }
|