OCR识别-同步文档库修改

This commit is contained in:
liyawei
2022-03-03 11:57:31 +08:00
parent ee837c6402
commit 7e21e82b39
2 changed files with 93 additions and 19 deletions
@@ -1,39 +1,37 @@
package com.jero.modules.ocr.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.ocr.entity.OcrRecordEO;
import com.jero.modules.ocr.enums.FileSyncStateEnum;
import com.jero.modules.ocr.enums.FileTypeEnum;
import com.jero.modules.ocr.enums.ResultContentEnum;
import com.jero.modules.ocr.page.OcrRecordEOPage;
import com.jero.modules.ocr.service.IOcrRecordEOService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
/**
/**
* @Description: OCR识别转换记录表
* @Author: jero-boot
* @Date: 2022-02-16
@@ -104,18 +102,71 @@ public class OcrRecordEOController extends JeroController<OcrRecordEO, IOcrRecor
return Result.error("文本状态不也能为空");
}
OSSFile ossFile = new OSSFile();
//查询doc文件的id
LambdaQueryWrapper<OSSFile> ossFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
ossFileLambdaQueryWrapper.eq(OSSFile :: getUrl, ocrRecordEO.getDocName());
List<OSSFile> ossFiles = ossFileService.list(ossFileLambdaQueryWrapper);
if(CollectionUtil.isEmpty(ossFiles)){
return Result.error("没有可同步的文档");
}
String docFileId = ossFiles.get(0).getId();
ossFile.setId(docFileId);
//设置doc文件的关联id
if (FileTypeEnum.RELEASE_DRAFT.getValue().equals(ocrRecordEO.getFileType())){
ossFile.setConnectId(bussDocumentLibraryEOList.get(0).getReleaseDraft());
String connectId = bussDocumentLibraryEOList.get(0).getReleaseDraft();
if(StringUtils.isBlank(connectId)){
connectId = UUID.randomUUID().toString().replace("-","");
//修改文档库相关字段
BussDocumentLibraryEO bussDocumentLibraryEO = new BussDocumentLibraryEO();
bussDocumentLibraryEO.setId(bussDocumentLibraryEOList.get(0).getId());
bussDocumentLibraryEO.setReleaseDraft(connectId);
bussDocumentLibraryEOService.updateById(bussDocumentLibraryEO);
}
ossFile.setConnectId(connectId);
}else if (FileTypeEnum.SUPPLEMENT.getValue().equals(ocrRecordEO.getFileType())){
ossFile.setConnectId(bussDocumentLibraryEOList.get(0).getSupplement());
String connectId = bussDocumentLibraryEOList.get(0).getSupplement();
if(StringUtils.isBlank(connectId)){
connectId = UUID.randomUUID().toString().replace("-","");
//修改文档库相关字段
BussDocumentLibraryEO bussDocumentLibraryEO = new BussDocumentLibraryEO();
bussDocumentLibraryEO.setId(bussDocumentLibraryEOList.get(0).getId());
bussDocumentLibraryEO.setSupplement(connectId);
bussDocumentLibraryEOService.updateById(bussDocumentLibraryEO);
}
ossFile.setConnectId(connectId);
}else if (FileTypeEnum.APPROVAL_DRAFT.getValue().equals(ocrRecordEO.getFileType())){
ossFile.setConnectId(bussDocumentLibraryEOList.get(0).getApprovalDraft());
String connectId = bussDocumentLibraryEOList.get(0).getApprovalDraft();
if(StringUtils.isBlank(connectId)){
connectId = UUID.randomUUID().toString().replace("-","");
//修改文档库相关字段
BussDocumentLibraryEO bussDocumentLibraryEO = new BussDocumentLibraryEO();
bussDocumentLibraryEO.setId(bussDocumentLibraryEOList.get(0).getId());
bussDocumentLibraryEO.setApprovalDraft(connectId);
bussDocumentLibraryEOService.updateById(bussDocumentLibraryEO);
}
ossFile.setConnectId(connectId);
}else if (FileTypeEnum.EXPOSURE_DRAFT.getValue().equals(ocrRecordEO.getFileType())){
ossFile.setConnectId(bussDocumentLibraryEOList.get(0).getExposureDraft());
String connectId = bussDocumentLibraryEOList.get(0).getExposureDraft();
if(StringUtils.isBlank(connectId)){
connectId = UUID.randomUUID().toString().replace("-","");
//修改文档库相关字段
BussDocumentLibraryEO bussDocumentLibraryEO = new BussDocumentLibraryEO();
bussDocumentLibraryEO.setId(bussDocumentLibraryEOList.get(0).getId());
bussDocumentLibraryEO.setExposureDraft(connectId);
bussDocumentLibraryEOService.updateById(bussDocumentLibraryEO);
}
ossFile.setConnectId(connectId);
}
ossFile.setId(ocrRecordEO.getAttId());
boolean updateResult = ossFileService.updateById(ossFile);
//修改记录表的同步情况
OcrRecordEO updateOcrRecordEO = new OcrRecordEO();
updateOcrRecordEO.setId(ocrRecordEO.getId());
updateOcrRecordEO.setSyncState(FileSyncStateEnum.SYNC_YES.getValue());
ocrRecordService.editById(updateOcrRecordEO);
if(updateResult){
return Result.OK("同步成功", ossFile);
}else{
@@ -316,6 +316,29 @@ OCR:
times: 20
# OCR转换类型
convertType: BOTH
## 这个IFeignService是加了@FeignClient注解的类
local-tool:
ribbon:
## 服务提供者的地址,不是服务注册中心的地址
listOfServers: http://139.9.235.66:9022
## 这个要有,如果不加,只加了上面也没用
ribbon:
eureka:
enabled: false
#ribbon的超时时间
ReadTimeout: 60000
ConnectTimeout: 60000
#hystrix的超时时间
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 60000
## eureka注册中心
eureka:
client: