From 493daf78aa7114613ce26f4ea2f5af004951c125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Thu, 29 Aug 2019 19:03:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=8B=E5=8D=B3=E5=88=B7=E6=96=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/busi/SysTaskController.java | 4 +- .../controller/busi/SysTaskCycleController.java | 2 +- .../controller/busi/SysTaskPlanController.java | 50 ++++++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java index 067cf1a..cc4e54f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java @@ -250,9 +250,9 @@ public class SysTaskController extends CoreBaseController { * 根据code查询任务 * @return */ - @GetMapping(value = "/get-code") + @GetMapping(value = "/get-code/{code}") @ApiOperation(value = "根据code查询任务", notes = "根据code查询任务") - public ResultBean getSysTaskByCode(String code) { + public ResultBean getSysTaskByCode(@PathVariable("code") String code) { try { ValidatorBean.checkNotNull(code, "任务代码不能为空"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java index 57239e0..339fa55 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java @@ -261,7 +261,7 @@ public class SysTaskCycleController extends CoreBaseController { */ @GetMapping(value = "/get/{id}") @ApiOperation(value = "查询任务周期", notes = "查询根据ID查询任务周期") - public ResultBean getSysTaskCycleById(@PathVariable("id") String id) { + public ResultBean getSysTaskCycleById(@PathVariable("id") String id) { try { // 数据校验 ValidatorBean.checkNotNull(id, "定时任务id 不能为空"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java index 4cc7a8d..825091a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java @@ -420,4 +420,54 @@ public class SysTaskPlanController extends CoreBaseController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + /** + * 全部刷新 + * + * @return 处理结果 + */ + @GetMapping(value = "/execute/{id}") + @ApiOperation(value = "立即执行", notes = "立即执行") + public ResultBean refreshTaskPlan(boolean isSkipDisablePlan) { + try { + List sysTaskPlanList = sysTaskPlanService.listSysTaskPlan(); + ResultBean resultBean = ResultBean.success("操作成功"); + SysTask sysTask; + SysTaskCycle sysTaskCycle; + for (SysTaskPlan sysTaskPlan : sysTaskPlanList) { + if(isSkipDisablePlan && sysTaskPlan.getTaskPlanStatusVal() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()){ + continue; + } + sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId()); + sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId()); + // 调用对应微服务的检查接口 + LOGGER.info("微服定时任务数据校验:name:{}, groupName:{}", sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()) + .checkJobExists(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + if (baseResultBean.isSuccess() && baseResultBean.getResultObject() != null && !(boolean) baseResultBean.getResultObject()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("定时任务不存在") + .build(); + } else if (!baseResultBean.isSuccess()) { + resultBean = ResultBean.fail(baseResultBean.getErrorMsg()); + } + + // 修改对应微服务的定时任务 + LOGGER.info("微服修改定时任务数据:taskPlan", sysTaskPlan.toString()); + baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()) + .editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(), + sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam()); + if (!baseResultBean.isSuccess()) { + resultBean = ResultBean.fail(baseResultBean.getErrorMsg()); + } + } + return resultBean; + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } }