Commit d282f61c authored by R10's avatar R10

Merge branch 'release_gdghg' of ssh://gitlab.gsstcloud.com:10022/poc/poc-api into release_gdghg

parents 5d895987 f9e3fdbc
package cn.com.poc.ai_data_audit.scheduler;
import cn.com.poc.ai_data_audit.constants.DataAuditConstants;
import cn.com.poc.ai_data_audit.entity.BizAiDataAuditTaskEntity;
import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService;
import cn.com.poc.common.service.RedisService;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.service.AirportProducerService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @author alex.yao
* @date 2025/10/30
*/
@Component
public class AiDataAuditScheduler {
@Resource
private RedisService redisService;
@Resource
private BizAiDataAuditTaskService bizAiDataAuditTaskService;
@Resource
private AirportProducerService airportProducerService;
@Scheduled(fixedDelay = 1000 * 30)
public void aiDataAudit() throws Exception {
BizAiDataAuditTaskEntity bizAiDataAuditTaskEntity = new BizAiDataAuditTaskEntity();
bizAiDataAuditTaskEntity.setStatus(DataAuditConstants.status.status_process);
bizAiDataAuditTaskEntity.setIsDeleted("N");
List<BizAiDataAuditTaskEntity> taskEntities = bizAiDataAuditTaskService.findByExample(bizAiDataAuditTaskEntity, null);
for (BizAiDataAuditTaskEntity taskEntity : taskEntities) {
Long taskId = taskEntity.getDataAuditTaskId();
if (redisService.hasKey("AI_DATA_AUDIT_TASK:" + taskId)) {
Object value = redisService.get("AI_DATA_AUDIT_TASK:" + taskId);
if ("Get".equals(value.toString())) {
AirportTaskCreateMessage airportTaskCreateMessage = new AirportTaskCreateMessage();
airportTaskCreateMessage.setTaskId(taskId);
airportProducerService.createTask(airportTaskCreateMessage);
}
}
}
}
}
......@@ -8,7 +8,10 @@ import cn.com.poc.ai_data_audit.entity.BizAiDataAuditFileEntity;
import cn.com.poc.ai_data_audit.service.BizAiDataAuditFileService;
import cn.com.poc.common.model.BizFileUploadRecordModel;
import cn.com.poc.common.service.BizFileUploadRecordService;
import cn.com.poc.common.service.RedisService;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.service.AirportProducerService;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService;
import cn.com.poc.ai_data_audit.model.BizAiDataAuditTaskModel;
......@@ -221,7 +224,7 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl
}
List<String> uploadFileUrlList = bizAiDataAuditFileEntityList.stream().map(item -> item.getUploadFileUrl()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(uploadFileUrlList)){
if (CollectionUtils.isNotEmpty(uploadFileUrlList)) {
List<BizFileUploadRecordModel> byFileLink = bizFileUploadRecordService.findByFileLink(uploadFileUrlList);
Map<String, List<BizFileUploadRecordModel>> bizFileUploadRecordModelMap = byFileLink.stream().collect(Collectors.groupingBy(BizFileUploadRecordModel::getFileUrl));
......@@ -233,5 +236,22 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl
}
}
bizAiDataAuditFileService.batchSavedFile(bizAiDataAuditFileEntityList);
//任务推送
pushTask(savedModel.getDataAuditTaskId());
}
@Resource
private RedisService redisService;
@Resource
private AirportProducerService airportProducerService;
private void pushTask(Long taskId) {
redisService.set("AI_DATA_AUDIT_TASK:" + taskId, "Push");
AirportTaskCreateMessage airportTaskCreateMessage = new AirportTaskCreateMessage();
airportTaskCreateMessage.setTaskId(taskId);
airportProducerService.createTask(airportTaskCreateMessage);
}
}
\ No newline at end of file
package cn.com.poc.message.entity;
/**
* @author alex.yao
* @date 2025/10/30
*/
public class AirportTaskCreateMessage {
private Long taskId;
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
}
package cn.com.poc.message.service;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage;
import cn.com.yict.framemax.core.service.BaseService;
......@@ -17,4 +18,11 @@ public interface AirportConsumerService extends BaseService {
*/
void pdfPaper(AirportPDFPaperMessage message) throws Exception;
/**
* 创建任务
*
* @param message
* @throws Exception
*/
void createTask(AirportTaskCreateMessage message) throws Exception;
}
package cn.com.poc.message.service;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage;
import cn.com.yict.framemax.core.service.BaseService;
......@@ -17,4 +18,12 @@ public interface AirportProducerService extends BaseService {
*/
AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message);
/**
* 创建任务
*
* @param message
* @return
*/
AirportTaskCreateMessage createTask(AirportTaskCreateMessage message);
}
package cn.com.poc.message.service.impl;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage;
import cn.com.poc.message.service.AirportProducerService;
import cn.com.poc.message.topic.AirportTopic;
......@@ -18,4 +19,10 @@ public class AirportProducerServiceImpl implements AirportProducerService {
public AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message) {
return message;
}
@Override
@Producer(topic = AirportTopic.AIRPORT_CREATE_TOPIC)
public AirportTaskCreateMessage createTask(AirportTaskCreateMessage message) {
return message;
}
}
......@@ -67,15 +67,18 @@ public class OCRConsumerServiceImpl implements OCRConsumerService {
MinerUResponse minerUResponse = new MinerUResponse();
minerUResponse.setFiles(file);
try {
//todo
Object o = minerUAPI.parsePDF(minerUResponse);
//
String md = "";
String json = MD2Json.md2json(md);
BizFileOcrCacheEntity updateEntity = bizFileOcrCacheService.get(message.getId());
updateEntity.setParseStatus("complete");
updateEntity.setJsonFileUrl(createFileAndUploadBos(md, "txt"));
String fileName = bizFileUploadRecordService.getFileNameByFileUrl(message.getFileURL());
if (fileName.equals("Form.pdf")) {
String json = MD2Json.md2json(md);
updateEntity.setJsonFileUrl(createFileAndUploadBos(json, "txt"));
}
updateEntity.setMdFileUrl(createFileAndUploadBos(md, "md"));
bizFileOcrCacheService.update(updateEntity);
......
......@@ -6,6 +6,8 @@ package cn.com.poc.message.topic;
*/
public interface AirportTopic {
String AIRPORT_CREATE_TOPIC = "AIRPORT_CREATE_TOPIC";
String AIRPORT_PDF_PAPER_TOPIC = "AIRPORT_PDF_PAPER_TOPIC";
......
......@@ -3,6 +3,7 @@ package cn.com.poc.ocr.service;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.ocr.entity.BizFileOcrCacheEntity;
import cn.com.yict.framemax.data.model.PagingInfo;
import java.util.Collection;
import java.util.List;
......@@ -10,7 +11,7 @@ public interface BizFileOcrCacheService extends BaseService {
BizFileOcrCacheEntity get(java.lang.Long id) throws Exception;
List<BizFileOcrCacheEntity> findByExample(BizFileOcrCacheEntity example,PagingInfo pagingInfo) throws Exception;
List<BizFileOcrCacheEntity> findByExample(BizFileOcrCacheEntity example, PagingInfo pagingInfo) throws Exception;
BizFileOcrCacheEntity save(BizFileOcrCacheEntity entity) throws Exception;
......@@ -18,4 +19,6 @@ public interface BizFileOcrCacheService extends BaseService {
void deletedById(java.lang.Long id) throws Exception;
BizFileOcrCacheEntity findByMd5(String md5) ;
}
\ No newline at end of file
package cn.com.poc.ocr.service.impl;
import cn.com.poc.common.constant.CommonConstant;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.ocr.service.BizFileOcrCacheService;
import cn.com.poc.ocr.model.BizFileOcrCacheModel;
......@@ -114,4 +115,12 @@ public class BizFileOcrCacheServiceImpl extends BaseServiceImpl
}
}
@Override
public BizFileOcrCacheEntity findByMd5(String md5) {
BizFileOcrCacheModel bizFileOcrCacheModel = new BizFileOcrCacheModel();
bizFileOcrCacheModel.setMd5(md5);
bizFileOcrCacheModel.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizFileOcrCacheModel> models = this.repository.findByExample(bizFileOcrCacheModel, null);
return CollectionUtils.isNotEmpty(models) ? BizFileOcrCacheConvert.modelToEntity(models.get(0)) : null;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment