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 39248b7..3988c6c 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 @@ -184,12 +184,47 @@ public class SysTaskPlanController extends CoreBaseController{ sysTaskPlanService.updateSysTaskPlan(sysTaskPlan); + 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()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } + // 修改对应模块中的定时任务 - getJobService(sysTaskPlan.getTaskSoftTypeRdd()).editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(), + 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()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } + // 是否立即执行 if(isExecute != null && isExecute){ - getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(), + sysTaskPlan.getGroupName()); + if(!baseResultBean.isSuccess()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } } return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan); }catch(ImppBusiException busExcep){ @@ -265,9 +300,9 @@ public class SysTaskPlanController extends CoreBaseController{ // 停止或启用对应模块中的定时任务 if(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == status.intValue()){ - getJobService(sysTaskPlan.getTaskSoftTypeRdd()).pauseJob(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); - }else if(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == status.intValue()){ getJobService(sysTaskPlan.getTaskSoftTypeRdd()).resumeJob(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + }else if(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == status.intValue()){ + getJobService(sysTaskPlan.getTaskSoftTypeRdd()).pauseJob(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); } return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java index 7b9bd9a..cf95b8d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java @@ -49,7 +49,8 @@ public class SysTaskPlanService implements ISysTaskPlanService { @ApiOperation(value = "新增任务计划", notes = "新增任务计划") public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan) { // 唯一校验 - if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()})) { + if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, + new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()})) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) @@ -139,8 +140,9 @@ public class SysTaskPlanService implements ISysTaskPlanService { @Override @ApiOperation(value = "查询任务计划", notes = "根据任务计划名称与组名称查询") public SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName) { - List sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name", "groupName"}, new Object[]{name, groupName}); - if (sysTaskPlanList != null && sysTaskPlanList.size() != 0) { + List sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name", "groupName"}, + new Object[]{name, groupName}); + if (sysTaskPlanList != null && sysTaskPlanList.isEmpty()) { return sysTaskPlanList.get(0); } return null; diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index cc43894..7480623 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -1,15 +1,15 @@ #项目端口 server.port=8100 #本机ip -impp.server.ip=192.168.1.20 +impp.server.ip=192.168.1.56 #console控制台服务(zipkin追踪全路径) -impp.console.ip=http://192.168.1.20:8010 +impp.console.ip=http://192.168.1.56:8010 ################ 功能配置1 ################ #若无法连接注册中心,是否需要一直检测加入 impp.cluster.fetch=false #服务注册中心 -impp.cluster.regist.center=http://192.168.1.20:8000/eureka/ +impp.cluster.regist.center=http://192.168.1.56:8000/eureka/ #多注册中心 #impp.cluster.regist.center=http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/