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; 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 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); } }