From b88eafe8abe81393563cb646e18bc0822209ef54 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 20 Sep 2023 18:39:25 +0800 Subject: [PATCH 1/7] =?UTF-8?q?updates=20=E6=89=A7=E8=A1=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E6=B5=81=E7=A8=8B=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= 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 +- .../modules/ocr/init/HandleTaskInit.java | 146 ++++++++++++++++++ .../modules/ocr/init/HandleTransInit.java | 3 +- .../ocr/service/IOcrIdentifyService.java | 6 + .../service/impl/OcrIdentifyServiceImpl.java | 20 ++- .../modules/ocr/service/impl/TaskService.java | 2 +- 7 files changed, 169 insertions(+), 12 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java 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 d22bb6b..6d03744 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 @@ -133,7 +133,7 @@ public class ApiController { } Thread.sleep(1000L); //3.请求python ocr识别,异步执行 - taskService.postSemantic(ocrIdentify,fileList); + //taskService.postSemantic(ocrIdentify,fileList); //ocrIdentifyService.postSemantic(ocrIdentify, fileList); return Result.OK("请求成功"); } 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 e46698d..70e8439 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 @@ -182,7 +182,7 @@ public class OcrIdentifyController extends JeecgController list= ocrIdentifyService.getSemanticTaskList(); + if (CollectionUtils.isEmpty(list)) { + continue; + } + + //获取相对路径 + List ocr_relative_path = sysDictService.queryDictItemsByCode("ocr_relative_path"); + String relativePath = null; + if (ocr_relative_path != null && ocr_relative_path.size() > 0) { + for (DictModel dictModel : ocr_relative_path) { + if (dictModel.getValue().equals("0")) { + relativePath = dictModel.getText(); + } + } + } + //获取识别的图片 + List fileList=null; + + //临时变量 + List fileUrlList; + String image;//图片 + //执行获取到的任务 + identifyFor: for (OcrIdentify ocrIdentify : list) { + image=null; + fileList=new ArrayList<>(); + //识别的图片路径 + String imageUrl = ocrIdentify.getIdentifyUrl(); + //判断是不是网络图片 + Boolean onlineFile = FileOUtils.isOnlineFile(ocrIdentify.getIdentifyUrl()); + + //最终要请求ocr识别的图片对象 + JSONObject requestBody = new JSONObject(); + if (onlineFile) { + //如果是网络图片,则将图片下载 + image = FileOUtils.downLoadFromUrl(imageUrl, FileOUtils.getFileName(imageUrl), OcrConstant.FILE_DOWNLOAD_URL_PREFIX); + fileList.add(image); + }else{ + //路径下识别到的图片集合 + fileUrlList = FileOUtils.fileLists(relativePath, ocrIdentify.getIdentifyUrl()); + AssertUtils.notNull(fileUrlList, "图片地址不存在"); + for (String fileUrl : fileUrlList) { + //判断附件是否是 图片格式 + if (fileUrl.lastIndexOf(".png") != -1 || fileUrl.lastIndexOf(".jpg") != -1 || fileUrl.lastIndexOf(".jpeg") != -1) { + fileList.add(fileUrl); + } + } + } + + //最终要识别哪些图片 + int i=0; + for (String img : fileList) { + i++; + requestBody.put("task_id", ocrIdentify.getId()+"_"+i); + requestBody.put("img_path", image); + log.info("----------------------请求参数"); + log.info(requestBody.toJSONString()); + try { + log.info("----------------------请求参数"); + log.info(requestBody.toJSONString()); + JSONObject semanticResponseJson = RestUtil.post(OcrConstant.api_test2_identify_url, requestBody); + semanticResponseJson.put("identifyId", ocrIdentify.getId()); + log.info("ocr识别返回数据:"); + log.info(semanticResponseJson.toJSONString()); + ocrIdentifyService.getSemanticInfo(semanticResponseJson); + }catch (Exception e){ + log.error("识别图片失败:"); + SysLog sysLog=new SysLog(); + sysLog.setLogType(2); + sysLog.setLogContent(img+"_识别图片失败:"+e.getMessage()); + sysLog.setOperateType(2); + sysLogService.save(sysLog); + log.error(e.getMessage()); + log.error("正在重试..."); + continue identifyFor; + } + + } + //更改任务状态 + ocrIdentifyService.updateOcrIdentifyStatus(ocrIdentify.getId(), "1"); + } + } + } + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTransInit.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTransInit.java index 47d0b01..df4be2c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTransInit.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTransInit.java @@ -48,8 +48,9 @@ public class HandleTransInit implements ApplicationRunner { @Override @Async + @Deprecated public void run(ApplicationArguments args) throws UnknownHostException { - if (enableHandleTask) { + if (false) { try { Thread.sleep(5000L); } catch (InterruptedException e) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java index 770adba..8d2bbcf 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java @@ -62,4 +62,10 @@ public interface IOcrIdentifyService extends IService { * @param simulateChecksVO */ JSONObject simulateChecks(SimulateChecksVO simulateChecksVO); + + /** + * 获取待执行任务 + * @return + */ + List getSemanticTaskList(); } 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 d2140bd..d2c6dfe 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 @@ -10,6 +10,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.OcrConstant; +import org.jeecg.common.util.AssertUtils; import org.jeecg.common.util.RedisUtil; import org.jeecg.common.util.RestUtil; import org.jeecg.modules.ocr.dto.OcrIdentifyDTO; @@ -87,13 +88,8 @@ public class OcrIdentifyServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(OcrIdentify::getId, id); List identifyDetailList = ocrIdentifyDetailService.listByIdentifyId(id); @@ -1026,6 +1021,15 @@ public class OcrIdentifyServiceImpl extends ServiceImpl getSemanticTaskList() { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.in(OcrIdentify::getStatus,0,2); + queryWrapper.orderByDesc(OcrIdentify::getPriority);//优先 加急 1>0 不加急 + queryWrapper.ne(OcrIdentify::getTaskSource,"模拟实验");//不获取模拟实验室的数据 + return this.list(queryWrapper); + } + // 自定义的脱敏方法,对字段进行半脱敏 private String desensitizeText(String text) { StringBuilder sb = new StringBuilder(text); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java index 90931a4..899350a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java @@ -100,7 +100,7 @@ public class TaskService { } //获取全部任务 - public List getTaskList() { + public List getTaskList(String ss) { String task_0 = (String) redisUtil.get("task_identify_0"); String task_1 = (String) redisUtil.get("task_identify_1"); /*String task_2 = (String) redisUtil.get("task_2"); From 76cfd00bfd159a5d4942d7dbac5c5339226be371 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 20 Sep 2023 18:40:38 +0800 Subject: [PATCH 2/7] =?UTF-8?q?updates=20=E6=89=A7=E8=A1=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E6=B5=81=E7=A8=8B=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/modules/ocr/service/impl/TaskService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java index 899350a..90931a4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/TaskService.java @@ -100,7 +100,7 @@ public class TaskService { } //获取全部任务 - public List getTaskList(String ss) { + public List getTaskList() { String task_0 = (String) redisUtil.get("task_identify_0"); String task_1 = (String) redisUtil.get("task_identify_1"); /*String task_2 = (String) redisUtil.get("task_2"); From 9286533797abc6720b1d7c05f82748b313b030e4 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 20 Sep 2023 18:44:38 +0800 Subject: [PATCH 3/7] =?UTF-8?q?updates=20=E6=89=A7=E8=A1=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E6=B5=81=E7=A8=8B=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java index 9860e70..98add75 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java @@ -113,7 +113,7 @@ public class HandleTaskInit implements ApplicationRunner { for (String img : fileList) { i++; requestBody.put("task_id", ocrIdentify.getId()+"_"+i); - requestBody.put("img_path", image); + requestBody.put("img_path", img); log.info("----------------------请求参数"); log.info(requestBody.toJSONString()); try { From 09fe33ce1e33a086a5c08fd4f6c8266de2f09a92 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 20 Sep 2023 18:50:08 +0800 Subject: [PATCH 4/7] =?UTF-8?q?updates=20=E6=89=A7=E8=A1=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E6=B5=81=E7=A8=8B=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/modules/ocr/init/HandleTaskInit.java | 6 ++++++ .../modules/ocr/service/IOcrIdentifyDetailService.java | 2 ++ .../ocr/service/impl/OcrIdentifyDetailServiceImpl.java | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java index 98add75..7f3a3d4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java @@ -9,6 +9,7 @@ import org.jeecg.common.util.AssertUtils; import org.jeecg.common.util.RestUtil; import org.jeecg.modules.ocr.dto.OcrIdentifyDTO; import org.jeecg.modules.ocr.entity.OcrIdentify; +import org.jeecg.modules.ocr.service.IOcrIdentifyDetailService; import org.jeecg.modules.ocr.service.IOcrIdentifyService; import org.jeecg.modules.ocr.service.impl.TaskService; import org.jeecg.modules.ocr.utils.FileOUtils; @@ -36,6 +37,8 @@ public class HandleTaskInit implements ApplicationRunner { @Resource IOcrIdentifyService ocrIdentifyService; @Resource + IOcrIdentifyDetailService ocrIdentifyDetailService; + @Resource TaskService taskService; @Resource private ISysDictService sysDictService; @@ -90,6 +93,9 @@ public class HandleTaskInit implements ApplicationRunner { //判断是不是网络图片 Boolean onlineFile = FileOUtils.isOnlineFile(ocrIdentify.getIdentifyUrl()); + //把过去执行过的明细给删掉 + ocrIdentifyDetailService.deleteByOcrIdentifyId(ocrIdentify.getId()); + //最终要请求ocr识别的图片对象 JSONObject requestBody = new JSONObject(); if (onlineFile) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyDetailService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyDetailService.java index 09eb3fa..956fda9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyDetailService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyDetailService.java @@ -18,4 +18,6 @@ public interface IOcrIdentifyDetailService extends IService { * @return */ List listByIdentifyId(String identifyId); + + boolean deleteByOcrIdentifyId(String id); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyDetailServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyDetailServiceImpl.java index 51e7e7a..5ae3439 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyDetailServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyDetailServiceImpl.java @@ -23,4 +23,11 @@ public class OcrIdentifyDetailServiceImpl extends ServiceImpl list = super.list(new LambdaQueryWrapper().eq(OcrIdentifyDetail::getIdentifyId, identifyId)); return list; } + + @Override + public boolean deleteByOcrIdentifyId(String identifyId) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrIdentifyDetail::getIdentifyId,identifyId); + return this.remove(queryWrapper); + } } From 96573a1c92c8ab67d9cd9692f88a4ca03b5dcf20 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 20 Sep 2023 18:58:29 +0800 Subject: [PATCH 5/7] =?UTF-8?q?updates=20=E4=BC=98=E5=8C=96=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E4=BB=BB=E5=8A=A1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/modules/ocr/init/HandleTaskInit.java | 3 +++ .../jeecg/modules/ocr/service/IOcrIdentifyService.java | 6 ++++++ .../modules/ocr/service/impl/OcrIdentifyServiceImpl.java | 9 +++++++++ 3 files changed, 18 insertions(+) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java index 7f3a3d4..1c2459b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/init/HandleTaskInit.java @@ -96,6 +96,9 @@ public class HandleTaskInit implements ApplicationRunner { //把过去执行过的明细给删掉 ocrIdentifyDetailService.deleteByOcrIdentifyId(ocrIdentify.getId()); + //更新开始时间 + ocrIdentifyService.updateMasterTaskStartTime(ocrIdentify.getId()); + //最终要请求ocr识别的图片对象 JSONObject requestBody = new JSONObject(); if (onlineFile) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java index 8d2bbcf..e24e383 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/IOcrIdentifyService.java @@ -49,6 +49,12 @@ public interface IOcrIdentifyService extends IService { */ Result pushTask(JSONObject jsonObject); + /** + * 更新任务的开始识别时间 + */ + void updateOcrIdentifyStartTime(String id); + + @Deprecated void updateMasterTaskStartTime(String id); /** 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 d2c6dfe..1f132e3 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 @@ -656,6 +656,15 @@ public class OcrIdentifyServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(OcrIdentify::getStartTime, new Date()); + updateWrapper.set(OcrIdentify::getEndTime,null); + updateWrapper.eq(OcrIdentify::getId, id); + super.update(updateWrapper); + } + @Override public void updateMasterTaskStartTime(String id) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); From eb50805c864a4b0dc669fcd02c3bc5ea8dc00af1 Mon Sep 17 00:00:00 2001 From: DELL Date: Wed, 20 Sep 2023 21:28:29 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=9A=E8=AE=A1=E7=AE=97=E6=9C=80=E8=BF=91=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/api/controller/ApiController.java | 3 +++ .../ocr/controller/OcrIdentifyController.java | 2 ++ .../ocr/service/IOcrIdentifyService.java | 7 +++++++ .../service/impl/OcrIdentifyServiceImpl.java | 21 ++++++++++++++++--- 4 files changed, 30 insertions(+), 3 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 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; // 如果没有找到数据,返回默认值 + } + } From d092e9c4186618e3f38054ce310271f7594d7bf8 Mon Sep 17 00:00:00 2001 From: DELL Date: Wed, 20 Sep 2023 21:53:32 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=9A=E8=AE=A1=E7=AE=97=E6=9C=80=E8=BF=91=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E5=B7=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/ocr/service/impl/OcrIdentifyServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 289ac1d..736b417 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 @@ -63,8 +63,6 @@ public class OcrIdentifyServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("taskName", taskName).orderByDesc("createTime").last("LIMIT 1"); - OcrIdentify lastIdentify = ocrIdentifyService.getOne(queryWrapper); + OcrIdentify lastIdentify = this.getOne(queryWrapper); if (lastIdentify != null) { Date lastCreateTime = lastIdentify.getCreateTime(); Date currentTime = new Date();