diff --git a/bonus-analysis/src/main/resources/mapper/AnalysisMapper.xml b/bonus-analysis/src/main/resources/mapper/AnalysisMapper.xml
index 2a467aa..6ffe3fd 100644
--- a/bonus-analysis/src/main/resources/mapper/AnalysisMapper.xml
+++ b/bonus-analysis/src/main/resources/mapper/AnalysisMapper.xml
@@ -89,9 +89,31 @@
- UPDATE tb_pro SET pro_name = #{proName},pro_introduction = #{proIntroduction},
- pro_code = #{proCode},tenderer = #{tenderer},agency = #{agency},bid_opening_time = #{bidOpeningTime},
- bid_opening_method = #{bidOpeningMethod} WHERE pro_id = #{proId}
+ UPDATE tb_pro
+
+
+ pro_name = #{proName},
+
+
+ pro_introduction = #{proIntroduction},
+
+
+ pro_code = #{proCode},
+
+
+ tenderer = #{tenderer},
+
+
+ agency = #{agency},
+
+
+ bid_opening_time = #{bidOpeningTime},
+
+
+ bid_opening_method = #{bidOpeningMethod},
+
+
+ WHERE pro_id = #{proId}
diff --git a/bonus-common/src/main/java/com/bonus/common/domain/ocr/vo/TwoAnalysisResponse.java b/bonus-common/src/main/java/com/bonus/common/domain/ocr/vo/TwoAnalysisResponse.java
index cff8cd5..2e34574 100644
--- a/bonus-common/src/main/java/com/bonus/common/domain/ocr/vo/TwoAnalysisResponse.java
+++ b/bonus-common/src/main/java/com/bonus/common/domain/ocr/vo/TwoAnalysisResponse.java
@@ -19,4 +19,9 @@ public class TwoAnalysisResponse {
private Long id;
private String jsonStr;
+
+ public TwoAnalysisResponse(Long id, String jsonStr) {
+ this.id = id;
+ this.jsonStr = jsonStr;
+ }
}
diff --git a/bonus-rabbitmq/src/main/java/com/bonus/rabbitmq/consumer/RabbitMQConsumerService.java b/bonus-rabbitmq/src/main/java/com/bonus/rabbitmq/consumer/RabbitMQConsumerService.java
index ed8bd4b..d762b28 100644
--- a/bonus-rabbitmq/src/main/java/com/bonus/rabbitmq/consumer/RabbitMQConsumerService.java
+++ b/bonus-rabbitmq/src/main/java/com/bonus/rabbitmq/consumer/RabbitMQConsumerService.java
@@ -1,8 +1,10 @@
package com.bonus.rabbitmq.consumer;
import com.bonus.analysis.service.IASAnalysisService;
+import com.bonus.common.domain.analysis.dto.AnalysisProDto;
import com.bonus.common.domain.analysis.po.ProComposition;
import com.bonus.common.domain.analysis.vo.AnalysisLabelItemOcrVo;
+import com.bonus.common.domain.analysis.vo.AnalysisVo;
import com.bonus.common.domain.ocr.dto.AnalysisOcrRequest;
import com.bonus.common.domain.ocr.vo.AnalysisResponse;
import com.bonus.common.domain.ocr.vo.TwoAnalysisResponse;
@@ -11,9 +13,13 @@ import com.bonus.common.utils.FileUtil;
import com.bonus.file.config.MinioConfig;
import com.bonus.file.util.MinioUtil;
import com.bonus.ocr.service.AnalysisOcrService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
@@ -26,7 +32,11 @@ import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.sql.Array;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -40,8 +50,6 @@ import java.util.stream.Collectors;
@Slf4j
public class RabbitMQConsumerService {
- private final ObjectMapper objectMapper = new ObjectMapper();
-
@Resource
private MinioConfig minioConfig;
@@ -54,6 +62,19 @@ public class RabbitMQConsumerService {
@Resource(name = "IASAnalysisService")
private IASAnalysisService analysisService;
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+
+ /**项目相关字段*/
+ private static final String[] PRO_LABEL_ARR = {"PRO_NAME","PRO_INTRODUCTION","PRO_CODE","TENDERER","AGENCY","BID_OPENING_TIME","BID_OPENING_METHOD"};
+ private static final String[] BID_LABEL_ARR = {"BID_SECTION_LIST"};
+
+ private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
+
+ // 正则表达式:匹配 "开标时间:" 后面的日期时间部分
+ // 它会捕获直到第一个分号 (;) 或字符串结束前的所有内容
+ // 匹配中文日期格式: YYYY年MM月DD日HH时MM分SS秒
+ private static final Pattern DATE_PATTERN =
+ Pattern.compile("开标时间[:|:](\\d{4}年\\d{2}月\\d{2}日\\d{2}时\\d{2}分\\d{2}秒)");
@RabbitListener(
queues = "myQueue",
@@ -207,10 +228,24 @@ public class RabbitMQConsumerService {
throw new RuntimeException("招标解析算法服务返回结果为空");
}
log.info("OCR识别成功 - 数据: {}", ocrResponse2.getData());
- Map data = ocrResponse2.getData();
- List analysisDataList = new ArrayList<>();
+ List analysisDataList = processFileContent(objectMapper.writeValueAsString(ocrResponse2));
+
+ // 查询项目相关数据
+ if(message.getCompositionType() == 1){
+ List