dev
Vincent 2 weeks ago
parent 1c06d52b19
commit 0c388e0183

@ -104,7 +104,7 @@ public class DuplicateTaskRunner {
boolean isCrossProject = "crossProject".equals(queryConfig.getValidateScope()) && !CollectionUtils.isEmpty(queryConfig.getCrossProjectLimit());
// 普通查重
List<Task> tasks = taskMapper.selectByAccountNoAndQueryConfig(duplicateTask.getAccountNo(), duplicateTask.getQueryConfig());
List<Task> tasks = taskMapper.selectByAccountNoAndQueryConfig(duplicateTask.getAccountNo(), duplicateTask.getQueryConfig(), queryConfig.getValidateColumn());
checkDuplicate(duplicateTask, tasks, queryConfig, isCrossProject);
// 获取跨项目任务

@ -1,13 +1,7 @@
package org.jeecg.module.custom.ocr.api.thread.tasks;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import lombok.var;
import org.jeecg.module.custom.ocr.api.entity.FormRecord;
import org.jeecg.module.custom.ocr.api.entity.LivePhoto;
import org.jeecg.module.custom.ocr.dataobject.Task;
@ -16,7 +10,6 @@ import org.jeecg.module.custom.ocr.service.TaskService;
import org.jeecg.module.custom.ocr.utils.DownloadImgUtil;
import org.jeecg.module.custom.ocr.utils.ImageUtils;
import org.jeecg.module.custom.ocr.utils.SpringUtils;
import org.jeecg.module.custom.ocr.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
@ -90,6 +83,8 @@ public class PictureImgToLocalTask implements Runnable {
} catch (IOException e) {
throw new RuntimeException(e);
}
logger.info("task: {}", task);
Map<String, String> ocrPictureClassifyAndHash = ocrPictureService.getOcrPictureClassifyAndHash(task.getLocalImageUrl());
if (ocrPictureClassifyAndHash != null) {
task.setImgHash(ocrPictureClassifyAndHash.get("hash"));

@ -14,7 +14,7 @@ public interface TaskMapper extends BaseMapper<Task> {
void deleteByTaskNos(@Param("taskNos") List<Long> taskNos);
List<Task> selectByAccountNoAndQueryConfig(@Param("accountNo") Long accountNo, @Param("queryConfig") String queryConfig);
List<Task> selectByAccountNoAndQueryConfig(@Param("accountNo") Long accountNo, @Param("queryConfig") String queryConfig, @Param("validateColumns") List<String> validateColumns);
List<Task> selectByQueryConfig(@Param("queryConfig") QueryConfig queryConfig);
}

@ -71,8 +71,8 @@ public class ImageClassUtil {
jsonObjectVi.put("taskId", taskId);
JSONArray jsonArrayVi = new JSONArray();
// TODO: 测试环境可能需要调整本地图片地址路径
// jsonArrayVi.add(imgurl);
jsonArrayVi.add("/server/ocr/data/images/test01.png");
jsonArrayVi.add(imgurl);
// jsonArrayVi.add("/server/ocr/data/images/test01.png");
logger.info("imgurl={}", imgurl);
jsonObjectVi.put("imgUrls", jsonArrayVi);

@ -87,12 +87,11 @@
UNIX_TIMESTAMP(STR_TO_DATE(JSON_UNQUOTE(JSON_EXTRACT(#{queryConfig}, '$.endTime')), '%Y-%m-%d %H:%i:%s')) * 1000
AND EXISTS (
SELECT 1
FROM JSON_TABLE(
JSON_EXTRACT(#{queryConfig}, '$.validateColumn'),
'$[*]' COLUMNS (col VARCHAR(255) PATH '$')
) AS jt
WHERE JSON_EXTRACT(t.dynamic_fields, CONCAT('$.', jt.col)) IS NOT NULL
AND JSON_LENGTH(JSON_EXTRACT(t.dynamic_fields, CONCAT('$.', jt.col))) > 0
WHERE
<foreach collection="validateColumns" item="col" open="" close="" separator=" OR ">
JSON_EXTRACT(t.dynamic_fields, CONCAT('$.', #{col})) IS NOT NULL
AND JSON_LENGTH(JSON_EXTRACT(t.dynamic_fields, CONCAT('$.', #{col}))) > 0
</foreach>
)
</select>

Loading…
Cancel
Save