|
@@ -163,6 +163,90 @@ public class ObjectTraceMergeController extends BaseController {
|
|
|
return CommonResult.success();
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("/hangup")
|
|
|
+ public CommonResult<Void> hangup(@RequestBody Map<String, String> _params) {
|
|
|
+ if (!_params.containsKey("taskId")) {
|
|
|
+ return CommonResult.fail("请提供任务ID!");
|
|
|
+ }
|
|
|
+ String taskId = _params.get("taskId");
|
|
|
+ ObjectTraceMergeBo vo = objectTraceMergeService.getById(Long.valueOf(taskId));
|
|
|
+ if (vo == null) {
|
|
|
+ return CommonResult.fail("未找到任务内容!");
|
|
|
+ }
|
|
|
+ if (TASK_STATUS_SUCCEED.equals(vo.getStatus())) {
|
|
|
+ return CommonResult.fail("任务已经执行完毕!");
|
|
|
+ }
|
|
|
+// if (!(TASK_STATUS_PENDING.equals(vo.getStatus()) || TASK_STATUS_FAILED.equals(vo.getStatus()))) {
|
|
|
+// return CommonResult.fail("任务正在执行中!");
|
|
|
+// }
|
|
|
+ vo.setEndTime(new Date());
|
|
|
+
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ params.put("bizType", TYPE_OBJ_TRACE);
|
|
|
+ params.put("bizId", String.valueOf(vo.getId()));
|
|
|
+ params.put("logPath", DOCKER_BASE_PATH + vo.getResultPath());
|
|
|
+ params.put("sourcePath", vo.getPreprocessPath());
|
|
|
+ params.put("resultPath", DOCKER_BASE_PATH + vo.getResultPath());
|
|
|
+ params.put("otherParams", vo.getParameters());
|
|
|
+
|
|
|
+ log.info("obj_trace params: {}", params);
|
|
|
+
|
|
|
+ try {
|
|
|
+ String url = algorithmConfigService.getByAlgorithmName("多源信息融合").getPauseApi();
|
|
|
+ String res = HttpUtil.post(url, JSONUtil.toJsonStr(params));
|
|
|
+ vo.setStatus(TASK_STATUS_PENDING);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("HTTP请求失败",e);
|
|
|
+ vo.setStatus(TASK_STATUS_FAILED);
|
|
|
+ return CommonResult.fail("HTTP请求失败" + e.getMessage());
|
|
|
+ } finally {
|
|
|
+ objectTraceMergeService.update(vo);
|
|
|
+ }
|
|
|
+ return CommonResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/stop")
|
|
|
+ public CommonResult<Void> stop(@RequestBody Map<String, String> _params) {
|
|
|
+ if (!_params.containsKey("taskId")) {
|
|
|
+ return CommonResult.fail("请提供任务ID!");
|
|
|
+ }
|
|
|
+ String taskId = _params.get("taskId");
|
|
|
+ ObjectTraceMergeBo vo = objectTraceMergeService.getById(Long.valueOf(taskId));
|
|
|
+ if (vo == null) {
|
|
|
+ return CommonResult.fail("未找到任务内容!");
|
|
|
+ }
|
|
|
+ if (TASK_STATUS_SUCCEED.equals(vo.getStatus())) {
|
|
|
+ return CommonResult.fail("任务已经执行完毕!");
|
|
|
+ }
|
|
|
+// if (!(TASK_STATUS_PENDING.equals(vo.getStatus()) || TASK_STATUS_FAILED.equals(vo.getStatus()))) {
|
|
|
+// return CommonResult.fail("任务正在执行中!");
|
|
|
+// }
|
|
|
+ vo.setEndTime(new Date());
|
|
|
+
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ params.put("bizType", TYPE_OBJ_TRACE);
|
|
|
+ params.put("bizId", String.valueOf(vo.getId()));
|
|
|
+ params.put("logPath", DOCKER_BASE_PATH + vo.getResultPath());
|
|
|
+ params.put("sourcePath", vo.getPreprocessPath());
|
|
|
+ params.put("resultPath", DOCKER_BASE_PATH + vo.getResultPath());
|
|
|
+ params.put("otherParams", vo.getParameters());
|
|
|
+
|
|
|
+ log.info("obj_trace params: {}", params);
|
|
|
+
|
|
|
+ try {
|
|
|
+ String url = algorithmConfigService.getByAlgorithmName("多源信息融合").getTerminateApi();
|
|
|
+ String res = HttpUtil.post(url, JSONUtil.toJsonStr(params));
|
|
|
+ vo.setStatus(TASK_STATUS_PENDING);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("HTTP请求失败",e);
|
|
|
+ vo.setStatus(TASK_STATUS_FAILED);
|
|
|
+ return CommonResult.fail("HTTP请求失败" + e.getMessage());
|
|
|
+ } finally {
|
|
|
+ objectTraceMergeService.update(vo);
|
|
|
+ }
|
|
|
+ return CommonResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/result")
|
|
|
public CommonResult<List<String>> execute(String taskId) {
|
|
|
if (taskId == null) {
|