From fc39d130aa8e0556575ea908f2c4b06369045650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=90=91=E6=96=8C?= <574110378@qq.com> Date: Thu, 28 Sep 2023 14:46:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/api/controller/ApiController.java | 2 +- .../ocr/controller/OcrIdentifyController.java | 2 +- .../ocr/service/IOcrIdentifyService.java | 4 +++- .../service/impl/OcrIdentifyServiceImpl.java | 17 ++++++++++++++--- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/ApiController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/ApiController.java index ddb2451..36b3f06 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/ApiController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/ApiController.java @@ -79,7 +79,6 @@ public class ApiController { } //1.获取请求参数 String taskName = requestBody.getString("taskName"); - AssertUtils.notTrue(ocrIdentifyService.calculateTimeDifference(taskName)<=10,"[任务名称]-"+taskName+" 短时间内已存在,不可再次请求"); String requestId = requestBody.getString("requestId");//请求唯一标识 String scenes = requestBody.getString("scenes");//场景类型:door=门头照片,cases=病例,bill=票据 String ruleId = requestBody.getString("ruleId");//规则标识 @@ -90,6 +89,7 @@ public class ApiController { //============================================================= //2.参数判断 AssertUtils.notNull(requestId, "[requestId]-不可为空"); + AssertUtils.notTrue(ocrIdentifyService.calculateTimeDifferenceByRequestId(requestId)<=10,"[任务名称]-"+taskName+" 短时间内已存在,不可再次请求"); AssertUtils.notTrue(!"door".equals(scenes), String.format("暂不支持该场景类型[%s]", scenes)); AssertUtils.notNull(ruleId, "[ruleId]-不可为空"); OcrRuleCheckDTO ruleCheck = ocrRuleCheckService.findById(ruleId); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java index 1ca4b29..aaa9b2d 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/controller/OcrIdentifyController.java @@ -153,7 +153,7 @@ public class OcrIdentifyController extends JeecgController { * 新增方法:计算最近任务创建时间差 * @return */ - long calculateTimeDifference(String taskName); + long calculateTimeDifferenceByRequestId(String requestId); JSONObject simulateChecksV01(SimulateChecksVO simulateChecksVO); + + long calculateTimeDifferenceByTaskName(String taskName); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java index c17560f..49e29c9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java @@ -1624,9 +1624,21 @@ public class OcrIdentifyServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(OcrIdentify::getTaskName, taskName).orderByDesc(OcrIdentify::getCreateTime).last("LIMIT 1"); + queryWrapper.eq(OcrIdentify::getRequestId, requestId).orderByDesc(OcrIdentify::getCreateTime).last("LIMIT 1"); + OcrIdentify lastIdentify = this.getOne(queryWrapper); + if (lastIdentify != null) { + Date lastCreateTime = lastIdentify.getCreateTime(); + Date currentTime = new Date(); + return (currentTime.getTime() - lastCreateTime.getTime()) / 1000; + } + return 11; // 如果没有找到数据,返回默认值 + } + @Override + public long calculateTimeDifferenceByTaskName(String taskName) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrIdentify::getTaskName,taskName).orderByDesc(OcrIdentify::getCreateTime).last("LIMIT 1"); OcrIdentify lastIdentify = this.getOne(queryWrapper); if (lastIdentify != null) { Date lastCreateTime = lastIdentify.getCreateTime(); @@ -1635,5 +1647,4 @@ public class OcrIdentifyServiceImpl extends ServiceImpl