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 6d03744..208e7ab 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 @@ -3,6 +3,7 @@ package org.jeecg.modules.api.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.ApiOperation; @@ -34,6 +35,7 @@ import javax.annotation.Resource; import java.awt.*; import java.io.File; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -71,6 +73,7 @@ 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");//规则标识 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 70e8439..c14aeaf 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,6 +153,7 @@ public class OcrIdentifyController extends JeecgController { * @return */ List getSemanticTaskList(); + + + /** + * 新增方法:计算最近任务创建时间差 + * @return + */ + long calculateTimeDifference(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 1f132e3..289ac1d 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 @@ -3,6 +3,7 @@ package org.jeecg.modules.ocr.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; @@ -62,6 +63,8 @@ public class OcrIdentifyServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper(); @@ -426,7 +428,7 @@ public class OcrIdentifyServiceImpl extends ServiceImpl identifyDetailList = ocrIdentifyDetailService.listByIdentifyId(ocrIdentifyId); ocrIdentifyCallbackLog.setStartTime(date); boolean b = CallBackWlyUtils.callbackWly(ocrIdentify, identifyDetailList); - ocrIdentifyCallbackLog.setStatus(b?1:0); + ocrIdentifyCallbackLog.setStatus(b?1:0);//0-失败,1-成功 ocrIdentifyCallbackLog.setEndTime(new Date()); ocrIdentifyCallbackLogService.save(ocrIdentifyCallbackLog); if (b) { @@ -903,7 +905,7 @@ public class OcrIdentifyServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("taskName", taskName).orderByDesc("createTime").last("LIMIT 1"); + OcrIdentify lastIdentify = ocrIdentifyService.getOne(queryWrapper); + if (lastIdentify != null) { + Date lastCreateTime = lastIdentify.getCreateTime(); + Date currentTime = new Date(); + return (currentTime.getTime() - lastCreateTime.getTime()) / 1000; + } + return 11; // 如果没有找到数据,返回默认值 + } + }