Commit f9e3fdbc authored by alex yao's avatar alex yao

feat:提交任务

parent 16ec52bd
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; ...@@ -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.ai_data_audit.service.BizAiDataAuditFileService;
import cn.com.poc.common.model.BizFileUploadRecordModel; import cn.com.poc.common.model.BizFileUploadRecordModel;
import cn.com.poc.common.service.BizFileUploadRecordService; 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.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.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService; import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService;
import cn.com.poc.ai_data_audit.model.BizAiDataAuditTaskModel; import cn.com.poc.ai_data_audit.model.BizAiDataAuditTaskModel;
...@@ -221,7 +224,7 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl ...@@ -221,7 +224,7 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl
} }
List<String> uploadFileUrlList = bizAiDataAuditFileEntityList.stream().map(item -> item.getUploadFileUrl()).collect(Collectors.toList()); 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); List<BizFileUploadRecordModel> byFileLink = bizFileUploadRecordService.findByFileLink(uploadFileUrlList);
Map<String, List<BizFileUploadRecordModel>> bizFileUploadRecordModelMap = byFileLink.stream().collect(Collectors.groupingBy(BizFileUploadRecordModel::getFileUrl)); Map<String, List<BizFileUploadRecordModel>> bizFileUploadRecordModelMap = byFileLink.stream().collect(Collectors.groupingBy(BizFileUploadRecordModel::getFileUrl));
...@@ -233,5 +236,22 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl ...@@ -233,5 +236,22 @@ public class BizAiDataAuditTaskServiceImpl extends BaseServiceImpl
} }
} }
bizAiDataAuditFileService.batchSavedFile(bizAiDataAuditFileEntityList); 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; package cn.com.poc.message.service;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage; import cn.com.poc.message.entity.AirportPDFPaperMessage;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
...@@ -17,4 +18,11 @@ public interface AirportConsumerService extends BaseService { ...@@ -17,4 +18,11 @@ public interface AirportConsumerService extends BaseService {
*/ */
void pdfPaper(AirportPDFPaperMessage message) throws Exception; void pdfPaper(AirportPDFPaperMessage message) throws Exception;
/**
* 创建任务
*
* @param message
* @throws Exception
*/
void createTask(AirportTaskCreateMessage message) throws Exception;
} }
package cn.com.poc.message.service; package cn.com.poc.message.service;
import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage; import cn.com.poc.message.entity.AirportPDFPaperMessage;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
...@@ -17,4 +18,12 @@ public interface AirportProducerService extends BaseService { ...@@ -17,4 +18,12 @@ public interface AirportProducerService extends BaseService {
*/ */
AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message); AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message);
/**
* 创建任务
*
* @param message
* @return
*/
AirportTaskCreateMessage createTask(AirportTaskCreateMessage message);
} }
package cn.com.poc.message.service.impl; 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.entity.AirportPDFPaperMessage;
import cn.com.poc.message.service.AirportProducerService; import cn.com.poc.message.service.AirportProducerService;
import cn.com.poc.message.topic.AirportTopic; import cn.com.poc.message.topic.AirportTopic;
...@@ -18,4 +19,10 @@ public class AirportProducerServiceImpl implements AirportProducerService { ...@@ -18,4 +19,10 @@ public class AirportProducerServiceImpl implements AirportProducerService {
public AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message) { public AirportPDFPaperMessage pdfPaper(AirportPDFPaperMessage message) {
return 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 { ...@@ -67,15 +67,18 @@ public class OCRConsumerServiceImpl implements OCRConsumerService {
MinerUResponse minerUResponse = new MinerUResponse(); MinerUResponse minerUResponse = new MinerUResponse();
minerUResponse.setFiles(file); minerUResponse.setFiles(file);
try { try {
//todo
Object o = minerUAPI.parsePDF(minerUResponse); Object o = minerUAPI.parsePDF(minerUResponse);
//
String md = ""; String md = "";
String json = MD2Json.md2json(md);
BizFileOcrCacheEntity updateEntity = bizFileOcrCacheService.get(message.getId()); BizFileOcrCacheEntity updateEntity = bizFileOcrCacheService.get(message.getId());
updateEntity.setParseStatus("complete"); 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")); updateEntity.setMdFileUrl(createFileAndUploadBos(md, "md"));
bizFileOcrCacheService.update(updateEntity); bizFileOcrCacheService.update(updateEntity);
......
...@@ -6,6 +6,8 @@ package cn.com.poc.message.topic; ...@@ -6,6 +6,8 @@ package cn.com.poc.message.topic;
*/ */
public interface AirportTopic { public interface AirportTopic {
String AIRPORT_CREATE_TOPIC = "AIRPORT_CREATE_TOPIC";
String AIRPORT_PDF_PAPER_TOPIC = "AIRPORT_PDF_PAPER_TOPIC"; String AIRPORT_PDF_PAPER_TOPIC = "AIRPORT_PDF_PAPER_TOPIC";
......
...@@ -3,6 +3,7 @@ package cn.com.poc.ocr.service; ...@@ -3,6 +3,7 @@ package cn.com.poc.ocr.service;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.ocr.entity.BizFileOcrCacheEntity; import cn.com.poc.ocr.entity.BizFileOcrCacheEntity;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -10,12 +11,14 @@ public interface BizFileOcrCacheService extends BaseService { ...@@ -10,12 +11,14 @@ public interface BizFileOcrCacheService extends BaseService {
BizFileOcrCacheEntity get(java.lang.Long id) throws Exception; 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; BizFileOcrCacheEntity save(BizFileOcrCacheEntity entity) throws Exception;
BizFileOcrCacheEntity update(BizFileOcrCacheEntity entity) throws Exception; BizFileOcrCacheEntity update(BizFileOcrCacheEntity entity) throws Exception;
void deletedById(java.lang.Long id) throws Exception; 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; 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.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.ocr.service.BizFileOcrCacheService; import cn.com.poc.ocr.service.BizFileOcrCacheService;
import cn.com.poc.ocr.model.BizFileOcrCacheModel; import cn.com.poc.ocr.model.BizFileOcrCacheModel;
...@@ -114,4 +115,12 @@ public class BizFileOcrCacheServiceImpl extends BaseServiceImpl ...@@ -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