malei05 3 viikkoa sitten
vanhempi
commit
404db05cd0

+ 8 - 10
fn-opensearch/src/main/java/net/yaoyi/pipeline/opensearch/OpenSearchHandler.java

@@ -5,12 +5,11 @@ import com.aliyun.fc.runtime.PojoRequestHandler;
 import com.aliyun.ha3engine.vector.models.*;
 import com.fasterxml.jackson.databind.JsonNode;
 import lombok.extern.slf4j.Slf4j;
-import net.yaoyi.algorithm.domain.model.TaskImage;
 import net.yaoyi.algorithm.domain.model.TaskImageDupDetail;
 import net.yaoyi.algorithm.domain.rabbitmq.TaskImageDupMsg;
-import net.yaoyi.algorithm.domain.rabbitmq.TaskImageMsg;
 import net.yaoyi.pipeline.common.JacksonUtils;
 import net.yaoyi.pipeline.model.index.TaskImageIndex;
+import net.yaoyi.pipeline.model.rabbitmq.TaskImageMsg;
 import net.yaoyi.pipeline.model.rabbitmq.TaskImageResultMsg;
 
 import java.math.BigDecimal;
@@ -19,16 +18,15 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Slf4j
-public class OpenSearchHandler implements PojoRequestHandler<String, TaskImageResultMsg> {
+public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, TaskImageResultMsg> {
 
     private static final int TOP_K = 10;
     private static final float SCORE_THRESHOLD = 0.7f;
 
     @Override
-    public TaskImageResultMsg handleRequest(String jsonString, Context context) {
-        log.info("收到请求消息:{}", jsonString);
+    public TaskImageResultMsg handleRequest(TaskImageMsg taskImageMsg, Context context) {
+        log.info("收到请求消息:{}", JacksonUtils.toJson(taskImageMsg));
 
-        TaskImageMsg taskImageMsg = JacksonUtils.parseObject(jsonString, TaskImageMsg.class);
         Long taskId = taskImageMsg.getTaskId();
         String namespace = taskImageMsg.getNamespace();
 
@@ -87,8 +85,8 @@ public class OpenSearchHandler implements PojoRequestHandler<String, TaskImageRe
             deleteList = taskImageList;
         } else {
             Map<String, TaskImageIndex> map = taskImageList.stream().collect(Collectors.toMap(TaskImageIndex::getImage, Function.identity()));
-            List<TaskImage> images = taskImageMsg.getImages();
-            for (TaskImage imageInfo : images) {
+            List<TaskImageMsg.TaskImage> images = taskImageMsg.getImages();
+            for (TaskImageMsg.TaskImage imageInfo : images) {
                 TaskImageIndex exists = map.remove(imageInfo.getImage());
                 if (exists != null) {
                     TaskImageIndex index = buildTaskImageIndex(exists.getId(), taskImageMsg, imageInfo);
@@ -275,7 +273,7 @@ public class OpenSearchHandler implements PojoRequestHandler<String, TaskImageRe
         return list;
     }
 
-    private TaskImageIndex buildTaskImageIndex(String id, TaskImageMsg msg, TaskImage imageInfo) {
+    private TaskImageIndex buildTaskImageIndex(String id, TaskImageMsg msg, TaskImageMsg.TaskImage imageInfo) {
         TaskImageIndex index = new TaskImageIndex();
         index.setId(id);
         index.setNamespace(msg.getNamespace());
@@ -284,7 +282,7 @@ public class OpenSearchHandler implements PojoRequestHandler<String, TaskImageRe
         index.setTaskTypeId(msg.getTaskTypeId());
         index.setUserId(msg.getUserId());
         index.setStatus(msg.getStatus());
-        index.setTaskTime(msg.getTaskTime().toString());
+        index.setTaskTime(msg.getTaskTime());
         index.setImage(imageInfo.getImage());
         index.setTaskFiledValue(imageInfo.getTaskFiledValue());
         return index;

+ 55 - 0
yyc-pipeline-model/src/main/java/net/yaoyi/pipeline/model/rabbitmq/TaskImageMsg.java

@@ -0,0 +1,55 @@
+package net.yaoyi.pipeline.model.rabbitmq;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TaskImageMsg {
+
+    private List<TaskImage> images;
+
+    private Long taskId;
+
+    private Integer taskTypeId;
+
+    private Long userId;
+
+    //0:无效 1:只入库 2:入库+算法
+    private Integer status;
+
+    private String taskTime;
+
+    private String namespace;
+
+    /**
+     * 算法编码,如 TASK_IMG_DUP_CHECK
+     */
+    private String algoCode;
+
+    /**
+     * 算法标签,与 algo_code 唯一对应
+     */
+    private String algoTag;
+
+    private Long algoConfigId;
+
+    private Long sourceSendPackageDeptId;
+
+    public String resultQueueName;
+
+    public String indexTableName;
+
+    @Data
+    public static class TaskImage {
+        /**
+         * 图片路径
+         */
+        private String image;
+
+        /**
+         * 任务图片对应字段展示文本
+         */
+        private String taskFiledValue;
+    }
+}