1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.example.xiaoshiweixinback.service.importPatent;
- import cn.hutool.core.util.IdUtil;
- 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.apache.poi.ss.usermodel.PictureData;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Configurable;
- import org.springframework.stereotype.Service;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- @Configurable
- @Service
- public class GetPatentPictureFromExcelService {
- @Autowired
- private FileManagerService fileManagerService;
- @Autowired
- private GetFiguresService getFiguresService;
- @Autowired
- private EsService esService;
- @Autowired
- private GetVectorService getVectorService;
- public void run(UploadPatentWebDTO uploadPatentWebDTO) {
- PictureData pictureData = uploadPatentWebDTO.getPictureData();
- try {
- if (pictureData != null) {
- String ext = pictureData.suggestFileExtension();
- byte[] data = pictureData.getData();
- String picName = IdUtil.simpleUUID();
- File file = FileUtils.getFileByBytes(data, picName, "." + ext);
- this.tem(file, uploadPatentWebDTO.getPatent(), 0);
- }
- } catch (Exception e) {
- }
- }
- public void tem(File file, Patent patent, Integer i) throws Exception {
- String guid = FormatUtil.getPictureFormat(patent.getAppNo()) + i;
- System.out.println(guid);
- fileManagerService.uploadFileWithGuid(file, guid);
- PatentVector patentVectorOrg = esService.getVectorByIndex(patent.getAppNo(), i);
- if (patentVectorOrg != null) {
- return;
- }
- PatentVector patentVector = new PatentVector();
- patentVector.setAppNo(patent.getAppNo());
- patentVector.setTitle(patent.getTitle());
- patentVector.setRightHolder(patent.getApplicant());
- patentVector.setAppDate(patent.getAppDate());
- patentVector.setAbstractStr(patent.getAbstractStr());
- patentVector.setAppCountry("US");
- patentVector.setLoc(patent.getLoc());
- patentVector.setImageIndex(i);
- 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);
- }
- }
|