From da3bf2d4f142cebcf6004ec831a40633703b5702 Mon Sep 17 00:00:00 2001 From: hansha Date: Tue, 16 Jul 2024 14:43:41 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=97=B6=E9=95=BF=E3=80=81=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E5=AD=97=E6=AE=B5=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DangAnCollectController.java | 52 +++++++++------- .../java/com/da/dangan/domain/DaTask.java | 62 ++++++++++++++++++- .../java/com/da/dangan/timetask/TimeTask.java | 41 +++++++----- .../resources/mapper/dangan/DaTaskMapper.xml | 22 ++++++- 4 files changed, 134 insertions(+), 43 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java index d0cb587..ef1afc5 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java @@ -1,10 +1,8 @@ package com.da.dangan.controller; -import cn.hutool.json.JSONObject; import com.da.common.config.RuoYiConfig; import com.da.common.core.controller.BaseController; import com.da.common.core.domain.AjaxResult; -import com.da.common.utils.DictUtils; import com.da.common.utils.file.FileUploadUtils; import com.da.common.utils.file.FileUtils; import com.da.dangan.domain.DaPicturesRecard; @@ -29,7 +27,6 @@ import java.util.Date; import java.util.List; import java.util.concurrent.Executor; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * 档案采集Controller @@ -177,7 +174,7 @@ public class DangAnCollectController extends BaseController { /** * 创建识别任务 */ - @PostMapping("/recongnize") + /*@PostMapping("/recongnize") public AjaxResult recognize(@RequestBody List picRecards) { try { //获取字典第三方任务最大数量 @@ -207,7 +204,7 @@ public class DangAnCollectController extends BaseController { daTask.setNum(picRecards.size()); daTask.setStatus("-1");//默认等待状态 接收成功后修改为1 daTask.setPicIds(StringUtils.join(ids, ","));//逗号分割); - daTask.setUpdateTime(new Date());//等待队列order by 字段 + daTask.setUpdateTime(new Date());//开始等待时间,等待队列order by 字段 daTaskService.insertDaTask(daTask); //获取识别中的任务 @@ -216,22 +213,28 @@ public class DangAnCollectController extends BaseController { List daTasks = daTaskService.selectDaTaskListByStatus(param); //获取等待任务 DaTask waitTask = new DaTask(); - waitTask.setStatus("-1"); //处理中 + waitTask.setStatus("-1"); //等待中 List waitTasks = daTaskService.selectDaTaskListByStatus(waitTask); - if ((waitTasks != null && waitTasks.size() > 0)||(daTasks != null && daTasks.size() >= maxTask)){ + //上面默认创建了一个等待中的任务 + if ((waitTasks != null && waitTasks.size() > 1)||(daTasks != null && daTasks.size() >= maxTask)){ return AjaxResult.success("任务进入等待队列"); } else { //识别中任务<10,调用第三方接口 + Long start = System.currentTimeMillis(); String result = CallThirdInterface.callThirdInterfaceUpload(url1, files, ywType, ids, daTask.getId()); + Long end = System.currentTimeMillis(); //! 解析JSON字符串,获取键对应的值 JSONObject jsonobject = new JSONObject(result); code = jsonobject.getStr("code"); msg = jsonobject.getStr("msg"); - //如果code=0 任务接收失败,code=1成功 - if (code != null && code.equals("1")) { + //上传任务所用时长(毫秒) + daTask.setUpDuration(end-start); + if (code != null && code.equals("1")) { //如果code=0 任务接收失败,code=1成功 daTask.setStatus("1"); //识别中 - daTask.setUpdateTime(new Date()); //设置updateTime 因定时任务判断任务超时使用updatetime + daTask.setSbStart(new Date()); //设置识别开始时间 因定时任务判断任务超时使用 + daTask.setSbEnd(null);//清空识别结束时间 daTaskService.updateDaTask(daTask); + return AjaxResult.success("任务接收成功"); } else { daTask.setStatus("0"); daTask.setRemark(msg); @@ -247,13 +250,12 @@ public class DangAnCollectController extends BaseController { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } - return AjaxResult.success("任务接收成功"); - } + }*/ /** * 创建识别任务 */ - /*@PostMapping("/recongnize") + @PostMapping("/recongnize") public AjaxResult recognize(@RequestBody List picRecards) { //取所有id的集合 stream()有顺序 try { @@ -267,6 +269,7 @@ public class DangAnCollectController extends BaseController { DaTask daTask = new DaTask(); daTask.setCreateBy(getUsername()); daTask.setCreateTime(new Date()); + daTask.setUpdateTime(new Date());//等待开始时间 daTask.setMuId(muId); daTask.setMuPath(muPath); daTask.setYwType(ywType); @@ -282,12 +285,12 @@ public class DangAnCollectController extends BaseController { return AjaxResult.error(e.getMessage()); } return AjaxResult.success("任务创建成功"); - }*/ + } /** * 任务重新识别 */ - @PostMapping("/reRecongnize") + /* @PostMapping("/reRecongnize") public AjaxResult reRecongnize(Long taskId) { try { //获取字典第三方任务最大数量 @@ -333,19 +336,20 @@ public class DangAnCollectController extends BaseController { daTaskService.updateDaTask(daTask); return AjaxResult.success("任务进入等待队列"); }else {//识别中任务<10 - //调用第三方接口 先清数据 - CallThirdInterface.callThirdInterfaceClearByTaskId(url4, taskId); + Long start = System.currentTimeMillis(); String result = CallThirdInterface.callThirdInterfaceUpload(url1, files, daTask.getYwType(), ids, taskId); + Long end = System.currentTimeMillis(); //! 解析JSON字符串,获取键对应的值 JSONObject jsonobject = new JSONObject(result); code = jsonobject.getStr("code"); msg = jsonobject.getStr("msg"); - //记录最后一次识别的操作时间 - daTask.setUpdateTime(new Date()); + daTask.setUpDuration(end-start);//上传时长 if (code != null && code.equals("1")) { //code=0 任务接收失败,code=1成功 daTask.setStatus("1"); //识别中 daTask.setLastNum(picRecards.size()); + daTask.setSbStart(new Date());//开始识别时间 + daTask.setSbEnd(null);//清空识别结束时间 daTaskService.updateDaTask(daTask); } else { daTask.setStatus("0"); @@ -360,26 +364,26 @@ public class DangAnCollectController extends BaseController { return AjaxResult.error(e.getMessage()); } return AjaxResult.success("任务接收成功"); - } + }*/ /** * 任务重新识别 */ - /*@PostMapping("/reRecongnize") + @PostMapping("/reRecongnize") public AjaxResult reRecongnize(Long taskId) { try { DaTask daTask = daTaskService.selectDaTaskById(taskId); - // daTask.setCreateBy(getUsername());//存入操作用户 //修改任务状态 daTask.setStatus("-1");//默认等待状态 + daTask.setUpdateTime(new Date());//等待开始时间 daTaskService.updateDaTask(daTask); } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } - return AjaxResult.success("提交成功"); - }*/ + return AjaxResult.success("任务提交成功"); + } /** * 调用ocr识别接口——上传图片为一组 (也就是上传N张图片为一组数据)-- 未使用 diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/DaTask.java b/dangan-dangan/src/main/java/com/da/dangan/domain/DaTask.java index c03b50c..b72c74e 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/domain/DaTask.java +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/DaTask.java @@ -1,9 +1,12 @@ package com.da.dangan.domain; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.da.common.annotation.Excel; import com.da.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; /** * 识别任务记录对象 da_task @@ -66,6 +69,25 @@ public class DaTask extends BaseEntity @Excel(name = "返回结果") private String resultStr; + /** 上传时长(毫秒) */ + @Excel(name = "上传时长(毫秒)") + private Long upDuration; + + /** 识别开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "识别开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date sbStart; + + /** 识别结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "识别结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date sbEnd; + + /** 处理时长(毫秒) */ + @Excel(name = "处理时长(毫秒)") + private Long processDuration; + + /** * 当前用户id */ @@ -196,6 +218,38 @@ public class DaTask extends BaseEntity this.lastNum = lastNum; } + public Long getUpDuration() { + return upDuration; + } + + public void setUpDuration(Long upDuration) { + this.upDuration = upDuration; + } + + public Date getSbStart() { + return sbStart; + } + + public void setSbStart(Date sbStart) { + this.sbStart = sbStart; + } + + public Date getSbEnd() { + return sbEnd; + } + + public void setSbEnd(Date sbEnd) { + this.sbEnd = sbEnd; + } + + public Long getProcessDuration() { + return processDuration; + } + + public void setProcessDuration(Long processDuration) { + this.processDuration = processDuration; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -213,6 +267,10 @@ public class DaTask extends BaseEntity .append("failIds", getFailIds()) .append("resultStr", getResultStr()) .append("remark", getRemark()) + .append("upDuration", getUpDuration()) + .append("sbStart", getSbStart()) + .append("sbEnd", getSbEnd()) + .append("processDuration", getProcessDuration()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) diff --git a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java index 3fc965b..e2caa1e 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java +++ b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java @@ -15,6 +15,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.util.ArrayList; @@ -59,6 +60,7 @@ public class TimeTask { * * @throws Exception */ + @Transactional public void getTaskResult() { String result = ""; try { @@ -69,7 +71,7 @@ public class TimeTask { if (daTasks != null && daTasks.size() > 0) { for (DaTask datask : daTasks) { //查看认识是否超时, 计算两个日期之间的差值(毫秒) 分钟-> / (1000 * 60) - long diff = (new Date().getTime() - datask.getUpdateTime().getTime()) / (1000 * 60); + long diff = (new Date().getTime() - datask.getSbStart().getTime()) / (1000 * 60); String expired = DictUtils.getDictValue("task_time_out", "task_timeout"); if (diff > Long.parseLong(expired)) { datask.setStatus("3"); //设置状态任务超时 @@ -91,9 +93,12 @@ public class TimeTask { try { jsonobject = new JSONObject(result); } catch (JSONException e) { + Date date = new Date(); //todo 处理json异常 之前测试多次出现返回结果:Internal Server Error datask.setStatus("4"); //任务异常 datask.setRemark(result); + datask.setSbEnd(date);//识别结束时间 + datask.setProcessDuration(date.getTime()-datask.getSbStart().getTime()); daTaskService.updateDaTask(datask); e.printStackTrace(); System.err.println("get_result:" + result); @@ -104,9 +109,7 @@ public class TimeTask { if (status.equals("1")) { //1处理中 continue; } else if (status.equals("2")) { //2识别任务已结束,获取并存储数据 - datask.setRemark(msg); //记录返回结果的msg信息 String code = jsonobject.getStr("code"); - // Integer total = jsonobject.getInt("total"); //获取失败id String failPicid = jsonobject.getStr("failPicid"); //获取失败的id集合 @@ -114,15 +117,17 @@ public class TimeTask { //更新任务记录信息 datask.setStatus("2");//已结束 + datask.setRemark(msg); //记录返回结果的msg信息 datask.setFailIds(StringUtils.join(failIds, ",")); //获取成功的图片ids 重传任务时 成功ids=alls-fails - List allpicIds = Stream.of(datask.getPicIds().split(",")) - .map(Long::parseLong) - .collect(Collectors.toList()); + List allpicIds = Stream.of(datask.getPicIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); List successIds = allpicIds.stream().filter(item -> !failIds.contains(item)).collect(Collectors.toList()); datask.setSuccessIds(StringUtils.join(successIds, ",")); datask.setFailNum(failIds.size()); datask.setSuccessNum(allpicIds.size() - failIds.size()); + Date date = new Date(); + datask.setSbEnd(date);//识别结束时间 + datask.setProcessDuration(date.getTime()-datask.getSbStart().getTime()); daTaskService.updateDaTask(datask); // code=1 识别成功或者部分成功,如果code=0 识别全部失败 无需存储信息 @@ -348,15 +353,17 @@ public class TimeTask { } break; } - //获取数据成功后,清除对应taskId的信息 - clearThirdTaskResult(datask.getId()); } - } else if (status.equals("3")) { //=3第三方服务崩溃或者其他异常---任务丢失 + } else { //=3或者其他值,第三方服务崩溃或者其他异常---任务丢失 + Date date = new Date(); datask.setRemark(msg); //记录返回结果的msg信息 datask.setStatus("4"); //设置状态任务异常 + datask.setSbEnd(date);//识别结束时间 + datask.setProcessDuration(date.getTime()-datask.getSbStart().getTime()); daTaskService.updateDaTask(datask); - continue; } + //获取数据成功后,清除对应taskId的信息 + clearThirdTaskResult(datask.getId()); } } else { logger.info("-------------------------------------暂时没有识别中的任务----------------------------------"); @@ -378,7 +385,7 @@ public class TimeTask { //1.获取所有等待任务 DaTask param = new DaTask(); param.setStatus("-1"); //等待中 - //查询所有识别中的任务 + //查询所有等待中的任务 List daTasks = daTaskService.selectDaTaskListByStatus(param); if (daTasks != null && daTasks.size() > 0) { for (DaTask daTask : daTasks) { @@ -392,7 +399,7 @@ public class TimeTask { } else { List ids; //判断需要上传的图片 - if (daTask.getSuccessNum() != null && daTask.getSuccessNum() > 0) { + if (daTask.getSuccessNum() != null &&(daTask.getNum()> daTask.getSuccessNum() && daTask.getSuccessNum() > 0)){ String failIds = daTask.getFailIds(); ids = Stream.of(failIds.split(",")) .map(Long::parseLong) @@ -414,18 +421,20 @@ public class TimeTask { File file = new File(path); files.add(file); } - //调用第三方接口 先清数据 - CallThirdInterface.callThirdInterfaceClearByTaskId(url4, daTask.getId()); + Long start = System.currentTimeMillis(); result = CallThirdInterface.callThirdInterfaceUpload(url1, files, daTask.getYwType(), ids, daTask.getId()); + Long end = System.currentTimeMillis(); //! 解析JSON字符串,获取键对应的值 JSONObject jsonobject = null; jsonobject = new JSONObject(result); code = jsonobject.getStr("code"); msg = jsonobject.getStr("msg"); - //记录最后一次识别的操作时间 - daTask.setUpdateTime(new Date()); + //上传任务所用时长(毫秒) + daTask.setUpDuration(end-start); if (code != null && code.equals("1")) { //code=0 任务接收失败,code=1成功 daTask.setStatus("1"); //识别中 + daTask.setSbStart(new Date()); //识别开始时间 + daTask.setSbEnd(null);//清空识别结束时间 daTask.setLastNum(picRecards.size()); daTaskService.updateDaTask(daTask); } else { diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaTaskMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaTaskMapper.xml index 36a384b..b6a2ce8 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaTaskMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaTaskMapper.xml @@ -19,6 +19,10 @@ + + + + @@ -26,7 +30,7 @@ - select id, mu_id, yw_type, mu_path, num, pic_ids, last_num, status, success_num, success_ids, fail_num, fail_ids, result_str, remark, create_by, create_time, update_by, update_time from da_task + select id, mu_id, yw_type, mu_path, num, pic_ids, last_num, status, success_num, success_ids, fail_num, fail_ids, result_str, remark, up_duration, sb_start, sb_end, process_duration, create_by, create_time, update_by, update_time from da_task @@ -81,6 +89,10 @@ fail_ids, result_str, remark, + up_duration, + sb_start, + sb_end, + process_duration, create_by, create_time, update_by, @@ -100,6 +112,10 @@ #{failIds}, #{resultStr}, #{remark}, + #{upDuration}, + #{sbStart}, + #{sbEnd}, + #{processDuration}, #{createBy}, #{createTime}, #{updateBy}, @@ -123,6 +139,10 @@ fail_ids = #{failIds}, result_str = #{resultStr}, remark = #{remark}, + up_duration = #{upDuration}, + sb_start = #{sbStart}, + sb_end = #{sbEnd}, + process_duration = #{processDuration}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, From 40b5fc8b3849b011db7f895dd8d5daaa7f23cd9d Mon Sep 17 00:00:00 2001 From: hansha Date: Tue, 16 Jul 2024 15:28:05 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=BA=8B=E5=8A=A1=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/da/dangan/timetask/TimeTask.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java index e2caa1e..8e0746e 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java +++ b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java @@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.util.ArrayList; @@ -57,10 +56,9 @@ public class TimeTask { /** * 定时任务查询识别中任务的结果,并对结果进行解析存储,相应的改变任务状态 - * + * 注意:不能添加事务 会导致数据错误 * @throws Exception */ - @Transactional public void getTaskResult() { String result = ""; try { @@ -263,7 +261,7 @@ public class TimeTask { if (info != null && info.size() > 0) { for (DaYtzm ytzm : info) { //判断返回结果是否都是字符串 "无" - /* if(CallThirdInterface.allFieldsEqualTo(ytzm,"无")){ + /*if(CallThirdInterface.allFieldsEqualTo(ytzm,"无")){ continue; }*/ ytzm.setAllPicIds(picIds); From 1a21022fe995505c9b47579d43308bd9961297b3 Mon Sep 17 00:00:00 2001 From: hansha Date: Tue, 16 Jul 2024 17:07:11 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=96=B0=E5=A2=9E=E3=80=81=E9=87=8D=E6=8F=90?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/da/common/enums/BusinessType.java | 4 ++++ .../com/da/dangan/controller/DangAnCollectController.java | 4 ++++ .../src/main/java/com/da/system/domain/SysOperLog.java | 8 +++++--- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/dangan-common/src/main/java/com/da/common/enums/BusinessType.java b/dangan-common/src/main/java/com/da/common/enums/BusinessType.java index b69fd4c..2eaf4e5 100644 --- a/dangan-common/src/main/java/com/da/common/enums/BusinessType.java +++ b/dangan-common/src/main/java/com/da/common/enums/BusinessType.java @@ -56,4 +56,8 @@ public enum BusinessType * 清空数据 */ CLEAN, + /** + * 重提任务 + */ + TASKUP, } diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java index ef1afc5..f27225c 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java @@ -1,8 +1,10 @@ package com.da.dangan.controller; +import com.da.common.annotation.Log; import com.da.common.config.RuoYiConfig; import com.da.common.core.controller.BaseController; import com.da.common.core.domain.AjaxResult; +import com.da.common.enums.BusinessType; import com.da.common.utils.file.FileUploadUtils; import com.da.common.utils.file.FileUtils; import com.da.dangan.domain.DaPicturesRecard; @@ -255,6 +257,7 @@ public class DangAnCollectController extends BaseController { /** * 创建识别任务 */ + @Log(title = "识别任务", businessType = BusinessType.INSERT) @PostMapping("/recongnize") public AjaxResult recognize(@RequestBody List picRecards) { //取所有id的集合 stream()有顺序 @@ -369,6 +372,7 @@ public class DangAnCollectController extends BaseController { /** * 任务重新识别 */ + @Log(title = "识别任务", businessType = BusinessType.TASKUP) @PostMapping("/reRecongnize") public AjaxResult reRecongnize(Long taskId) { try { diff --git a/dangan-system/src/main/java/com/da/system/domain/SysOperLog.java b/dangan-system/src/main/java/com/da/system/domain/SysOperLog.java index 63a0121..2a22715 100644 --- a/dangan-system/src/main/java/com/da/system/domain/SysOperLog.java +++ b/dangan-system/src/main/java/com/da/system/domain/SysOperLog.java @@ -1,10 +1,12 @@ package com.da.system.domain; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; import com.da.common.annotation.Excel; import com.da.common.annotation.Excel.ColumnType; import com.da.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + /** * 操作日志记录表 oper_log @@ -24,7 +26,7 @@ public class SysOperLog extends BaseEntity private String title; /** 业务类型(0其它 1新增 2修改 3删除) */ - @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据") + @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据,10=重新提交") private Integer businessType; /** 业务类型数组 */ From 9b594202e18520585cc71a1a0fe0648f9f4411b1 Mon Sep 17 00:00:00 2001 From: hansha Date: Tue, 16 Jul 2024 17:36:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dangan-admin/src/main/resources/logback.xml | 3 ++- dangan-ui/vue.config.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dangan-admin/src/main/resources/logback.xml b/dangan-admin/src/main/resources/logback.xml index 036949d..951d027 100644 --- a/dangan-admin/src/main/resources/logback.xml +++ b/dangan-admin/src/main/resources/logback.xml @@ -3,7 +3,8 @@ - + + diff --git a/dangan-ui/vue.config.js b/dangan-ui/vue.config.js index 632b5ed..04b0db2 100644 --- a/dangan-ui/vue.config.js +++ b/dangan-ui/vue.config.js @@ -36,6 +36,7 @@ module.exports = { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { target: `http://localhost:8080`, + //target: `http://172.16.9.9:8187`, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' From 2c13954c3d7a3d7c73fe8dddc5e642a2c1c4929f Mon Sep 17 00:00:00 2001 From: hansha Date: Fri, 19 Jul 2024 17:09:19 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E4=B8=BA?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E5=A4=B1=E8=B4=A5=EF=BC=8C=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E5=AD=98=E5=85=A5remark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/da/dangan/timetask/TimeTask.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java index 8e0746e..a50ab82 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java +++ b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java @@ -62,15 +62,15 @@ public class TimeTask { public void getTaskResult() { String result = ""; try { + String expired = DictUtils.getDictValue("task_time_out", "task_timeout"); DaTask param = new DaTask(); param.setStatus("1"); //处理中 //查询所有识别中的任务 List daTasks = daTaskService.selectDaTaskListByStatus(param); if (daTasks != null && daTasks.size() > 0) { for (DaTask datask : daTasks) { - //查看认识是否超时, 计算两个日期之间的差值(毫秒) 分钟-> / (1000 * 60) + //查看识别是否超时, 计算两个日期之间的差值(毫秒) 分钟-> / (1000 * 60) long diff = (new Date().getTime() - datask.getSbStart().getTime()) / (1000 * 60); - String expired = DictUtils.getDictValue("task_time_out", "task_timeout"); if (diff > Long.parseLong(expired)) { datask.setStatus("3"); //设置状态任务超时 daTaskService.updateDaTask(datask); @@ -376,6 +376,7 @@ public class TimeTask { * 定时任务,对等待中的任务进行提交(识别中任务 daTasks = daTaskService.selectDaTaskListByStatus(param); if (daTasks != null && daTasks.size() > 0) { for (DaTask daTask : daTasks) { + scTask=daTask; //捕获异常的时候使用这个对象 DaTask sbz = new DaTask(); sbz.setStatus("1"); //处理中 //2.获取所有识别中的任务 @@ -447,6 +449,9 @@ public class TimeTask { } } catch (Exception e) { e.printStackTrace(); + scTask.setStatus("0"); + scTask.setRemark(e.getMessage()+",result:"+result); + daTaskService.updateDaTask(scTask); System.out.println("upload_api接口:" + result); } }