|
|
|
|
@ -1,8 +1,10 @@
|
|
|
|
|
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;
|
|
|
|
|
@ -27,6 +29,7 @@ import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 档案采集Controller
|
|
|
|
|
@ -174,7 +177,6 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
/**
|
|
|
|
|
* 创建识别任务
|
|
|
|
|
*/
|
|
|
|
|
/*@Transactional
|
|
|
|
|
@PostMapping("/recongnize")
|
|
|
|
|
public AjaxResult recognize(@RequestBody List<DaPicturesRecard> picRecards) {
|
|
|
|
|
try {
|
|
|
|
|
@ -208,11 +210,15 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
daTask.setUpdateTime(new Date());//等待队列order by 字段
|
|
|
|
|
daTaskService.insertDaTask(daTask);
|
|
|
|
|
|
|
|
|
|
//判断识别中的任务数量
|
|
|
|
|
//获取识别中的任务
|
|
|
|
|
DaTask param = new DaTask();
|
|
|
|
|
param.setStatus("1"); //处理中
|
|
|
|
|
List<DaTask> daTasks = daTaskService.selectDaTaskListByStatus(param);
|
|
|
|
|
if (daTasks != null && daTasks.size() >= maxTask) {//当前识别任务超过10个
|
|
|
|
|
//获取等待任务
|
|
|
|
|
DaTask waitTask = new DaTask();
|
|
|
|
|
waitTask.setStatus("-1"); //处理中
|
|
|
|
|
List<DaTask> waitTasks = daTaskService.selectDaTaskListByStatus(waitTask);
|
|
|
|
|
if ((waitTasks != null && waitTasks.size() > 0)||(daTasks != null && daTasks.size() >= maxTask)){
|
|
|
|
|
return AjaxResult.success("任务进入等待队列");
|
|
|
|
|
} else {
|
|
|
|
|
//识别中任务<10,调用第三方接口
|
|
|
|
|
@ -222,15 +228,18 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
code = jsonobject.getStr("code");
|
|
|
|
|
msg = jsonobject.getStr("msg");
|
|
|
|
|
//如果code=0 任务接收失败,code=1成功
|
|
|
|
|
if (code.equals("0")) {
|
|
|
|
|
return AjaxResult.error(msg).put("taskId", daTask.getId());
|
|
|
|
|
if (code != null && code.equals("1")) {
|
|
|
|
|
daTask.setStatus("1"); //识别中
|
|
|
|
|
daTask.setUpdateTime(new Date()); //设置updateTime 因定时任务判断任务超时使用updatetime
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
} else {
|
|
|
|
|
daTask.setStatus("1");
|
|
|
|
|
daTask.setUpdateTime(new Date());//同时设置updateTime 因定时任务判断任务超时使用updatetime
|
|
|
|
|
daTask.setStatus("0");
|
|
|
|
|
daTask.setRemark(msg);
|
|
|
|
|
daTask.setResultStr(result);
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
return AjaxResult.error(msg).put("taskId", daTask.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("任务接收成功");
|
|
|
|
|
} else {
|
|
|
|
|
return AjaxResult.error("识别图片不能为空");
|
|
|
|
|
}
|
|
|
|
|
@ -238,12 +247,13 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
return AjaxResult.success("任务接收成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 创建识别任务
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/recongnize")
|
|
|
|
|
/*@PostMapping("/recongnize")
|
|
|
|
|
public AjaxResult recognize(@RequestBody List<DaPicturesRecard> picRecards) {
|
|
|
|
|
//取所有id的集合 stream()有顺序
|
|
|
|
|
try {
|
|
|
|
|
@ -272,12 +282,11 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("任务创建成功");
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 任务重新识别
|
|
|
|
|
*/
|
|
|
|
|
/*@Transactional
|
|
|
|
|
@PostMapping("/reRecongnize")
|
|
|
|
|
public AjaxResult reRecongnize(Long taskId) {
|
|
|
|
|
try {
|
|
|
|
|
@ -309,12 +318,16 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
File file = new File(path);
|
|
|
|
|
files.add(file);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//判断第三方接口识别中的任务数量
|
|
|
|
|
//获取识别中的任务数量
|
|
|
|
|
DaTask param = new DaTask();
|
|
|
|
|
param.setStatus("1"); //处理中
|
|
|
|
|
List<DaTask> daTasks = daTaskService.selectDaTaskListByStatus(param);
|
|
|
|
|
if (daTasks != null && daTasks.size() >= maxTask) {//当前识别任务超过10个
|
|
|
|
|
|
|
|
|
|
//获取等待任务
|
|
|
|
|
DaTask waitTask = new DaTask();
|
|
|
|
|
waitTask.setStatus("-1"); //处理中
|
|
|
|
|
List<DaTask> waitTasks = daTaskService.selectDaTaskListByStatus(waitTask);
|
|
|
|
|
if ((waitTasks != null && waitTasks.size() > 0)||(daTasks != null && daTasks.size() >= maxTask)) {
|
|
|
|
|
daTask.setStatus("-1"); //设置状态等待
|
|
|
|
|
daTask.setUpdateTime(new Date()); //等待队列order by 字段
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
@ -330,14 +343,16 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
|
|
|
|
|
//记录最后一次识别的操作时间
|
|
|
|
|
daTask.setUpdateTime(new Date());
|
|
|
|
|
if (code.equals("0")) { //code=0 任务接收失败,code=1成功
|
|
|
|
|
daTask.setStatus("0");
|
|
|
|
|
if (code != null && code.equals("1")) { //code=0 任务接收失败,code=1成功
|
|
|
|
|
daTask.setStatus("1"); //识别中
|
|
|
|
|
daTask.setLastNum(picRecards.size());
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
return AjaxResult.error(msg);
|
|
|
|
|
} else {
|
|
|
|
|
daTask.setStatus("1");
|
|
|
|
|
daTask.setLastNum(picRecards.size());
|
|
|
|
|
daTask.setStatus("0");
|
|
|
|
|
daTask.setRemark(msg);
|
|
|
|
|
daTask.setResultStr(result);
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
return AjaxResult.error(msg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
@ -345,12 +360,12 @@ 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);
|
|
|
|
|
@ -364,7 +379,7 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("提交成功");
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 调用ocr识别接口——上传图片为一组 (也就是上传N张图片为一组数据)-- 未使用
|
|
|
|
|
|