From 2fc7e2049770c44e1d6de0a6530111b29f42579f Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Fri, 8 Mar 2019 19:06:10 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8Bug=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/busi/CoreTreeService.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java index fc4b0bd..1c015b7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java @@ -404,8 +404,19 @@ public class CoreTreeService implements ICoreTreeService { @Override @ApiOperation(value = "父节点检查",notes = "检查菜单的父节点是否是当前节点的子节点") public void doValidatorSysMenuParentId(SysMenu menu) { - findSysMenuChildrenTreePack(menu,0); - validatorSysMenuParentId(menu.getChildList(),menu.getParentId()); + if(menu != null){ + if(menu.getParentId().longValue() == menu.getId().longValue()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("上级组织不能为当前系统功能") + .setErrorSolution("请重新操作") + .build(); + } + + findSysMenuChildrenTreePack(menu,0); + validatorSysMenuParentId(menu.getChildList(),menu.getParentId()); + } } @Override @@ -585,7 +596,7 @@ public class CoreTreeService implements ICoreTreeService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("上级部门不能为子部门") + .setErrorDetail("上级部门不能为子目录") .setErrorSolution("请重新操作") .build(); } From d0f6fdcd7ade8a00a522a599ee356e8078565964 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 11 Mar 2019 14:15:21 +0800 Subject: [PATCH 2/6] =?UTF-8?q?3577=20->=20=E4=BC=98=E5=8C=96=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/PersonnelServiceService.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index a4449ab..c406377 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -404,7 +404,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+positionList.get(0).getName()+"]存在相关岗位信息无法删除!") + .setErrorDetail("存在岗位信息["+positionList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -422,7 +422,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -439,7 +439,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+departmentList.get(0).getName()+"]存在相关部门信息无法删除!") + .setErrorDetail("存在相关部门信息["+departmentList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -457,7 +457,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -467,7 +467,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") + .setErrorDetail("存在账号信息["+userList.get(0).getUserLoginName()+"]无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } @@ -484,7 +484,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+organizeList.get(0).getName()+"]存在相关组织信息无法删除!") + .setErrorDetail("存在相关组织信息["+organizeList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -504,7 +504,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+departmentList.get(0).getName()+"]存在部门信息无法删除!") + .setErrorDetail("存在部门信息["+departmentList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除部门引用信息再操作") .build(); } @@ -514,7 +514,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -524,7 +524,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") + .setErrorDetail("存在账号信息["+userList.get(0).getUserLoginName()+"]无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } From 33eae844654025f16d383c953ed1fc9cc44d6880 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 11 Mar 2019 14:43:35 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 5c7986a..ba67e42 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -116,7 +116,7 @@ public class SysOrganizeService implements ISysOrganizeService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+list.get(0).getName()+"]存在相关组织信息无法删除!") + .setErrorDetail("["+list.get(0).getParentNameRdd()+"]存在相关组织信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); }else { From 37c25433543c9db487219025c167fccc476ff67f Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Mon, 11 Mar 2019 18:42:54 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=20=E9=82=AE=E4=BB=B6=E5=86=85=E5=AE=B9=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index 1e61a2b..364b979 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -200,6 +200,9 @@ public class MailUtil { msg.setSubject( MimeUtility.encodeText(this.title, MimeUtility.mimeCharset("gb2312"), null)); msg.setSubject(this.title); + // 消息主体内容 处理 + this.content = this.content == null ? "" : this.content; + msg.setContent(this.content, this.content_type); msg.saveChanges(); From 8474f4a569b758a1bf79a821626c0b841015fae2 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Mon, 11 Mar 2019 19:21:38 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BB=BB=E5=8A=A1=E8=AE=A1=E5=88=92=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ISysTaskPlanService.java | 8 ++ .../controller/busi/SysTaskPlanController.java | 17 +++ .../serviceimpl/busi/SysTaskPlanService.java | 129 +++++++++++++++------ 3 files changed, 116 insertions(+), 38 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java index 1fe4a4d..ae1f9f8 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java @@ -107,4 +107,12 @@ public interface ISysTaskPlanService { */ @ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息,不会更新quartz数据库") void updateSysTaskPlan(SysTaskPlan sysTaskPlan); + + + /** + * 批量删除任务计划信息 + * @param ids + */ + @ApiOperation(value = "批量删除任务计划信息",notes = "批量删除任务计划信息") + void deleteSysTaskPlanByIds(Long[] ids); } 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 d0b4fa2..904de23 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 @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService; +import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -221,4 +222,20 @@ public class SysTaskPlanController extends CoreBaseController{ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @DeleteMapping("/batch-delete") + @ApiOperation(value = "根据id批量删除任务计划",notes = "根据id批量删除任务计划") + public ResultBean deleteSysTaskPlanByIds(String[] idsStr) { + try { + // 数据校验 + ValidatorBean.checkNotNull(idsStr, "任务计划id 不能为空"); + + sysTaskPlanService.deleteSysTaskPlanByIds(StringTool.getArrayLong(idsStr)); + return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } \ No newline at end of file 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 7b8f361..673d3c3 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 @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -51,15 +52,15 @@ public class SysTaskPlanService implements ISysTaskPlanService { private Scheduler scheduler; @Override - @ApiOperation(value = "新增任务计划",notes = "新增任务计划") - public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle,SysTask sysTask){ + @ApiOperation(value = "新增任务计划", notes = "新增任务计划") + public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 唯一校验 - JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - if (sysTaskPlanRDao.isExitByProperty(new String[]{"name","groupName"},new String[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()}) - || scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)){ + JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}) + || scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) @@ -68,12 +69,14 @@ public class SysTaskPlanService implements ISysTaskPlanService { .build(); } + sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan); + SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan(); refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId()); + refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId()); refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName()); refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName()); - sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan); // 添加表达式与触发器关系表 sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan); @@ -86,7 +89,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .withDescription(sysTaskCycle.getTaskCycleDescription()) .withSchedule(schedBuilder) .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if(sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0){ + if (sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0) { trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); } @@ -114,11 +117,11 @@ public class SysTaskPlanService implements ISysTaskPlanService { .setErrorDetail("定时任务包名及类名不正确") .setErrorSolution("请重新输入定时任务包名及类名") .build(); - } catch (RuntimeException e){ + } catch (RuntimeException e) { String message; - if(e.getMessage().indexOf("CronExpression") == 0){ + if (e.getMessage().indexOf("CronExpression") == 0) { message = "时间周期表达式错误"; - }else { + } else { message = e.getMessage(); } throw ImppExceptionBuilder.newInstance() @@ -131,15 +134,15 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "修改任务计划",notes = "修改任务计划") + @ApiOperation(value = "修改任务计划", notes = "修改任务计划") public void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SysTaskPlan oldSysTaskPlan = sysTaskPlanRDao.getById(sysTaskPlan.getId()); // 更新关系表 - sysRefTaskCyclePlanRDao.updateByProperties(new String[]{"taskPlanName","taskPlanGroupName"}, - new String[]{oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName()}, + sysRefTaskCyclePlanRDao.updateByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, + new String[]{oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName()}, "taskCycleId", oldSysTaskPlan.getTaskCycleId() ); @@ -149,7 +152,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { sysTaskPlanRDao.update(sysTaskPlan); try { - TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName()); + TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName()); if (!scheduler.checkExists(triggerKey)) { throw ImppExceptionBuilder.newInstance() @@ -169,7 +172,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .withDescription(sysTaskCycle.getTaskCycleDescription()) .withSchedule(schedBuilder) .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if(sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())){ + if (sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())) { trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); } @@ -198,9 +201,9 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "修改任务计划状态",notes = "修改任务计划状态") + @ApiOperation(value = "修改任务计划状态", notes = "修改任务计划状态") public void updateSysTaskPlanStatus(Long id, int status, SessionUser user) { - LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id,status,user); + LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id, status, user); SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); sysTaskPlan.setTaskPlanStatus(status); sysTaskPlan.setModifyUser(user.getUserName()); @@ -217,7 +220,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .build(); } - if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()){ + if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()) { scheduler.resumeTrigger(triggerKey); } else { scheduler.pauseTrigger(triggerKey); @@ -233,19 +236,19 @@ public class SysTaskPlanService implements ISysTaskPlanService { public void deleteSysTaskPlanById(Long id) { try { SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); - ValidatorBean.checkNotNull(sysTaskPlan,"定时任务不存在"); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在"); sysTaskPlanRDao.deleteById(id); // 删除关系表数据 - sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName","taskPlanGroupName"}, - new Object[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()}); + sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, + new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}); - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - if(scheduler.checkExists(triggerKey)){ + TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + if (scheduler.checkExists(triggerKey)) { scheduler.pauseTrigger(triggerKey); scheduler.unscheduleJob(triggerKey); - }else { + } else { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) @@ -268,28 +271,28 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "根据id查询任务计划数据",notes = "根据id查询任务计划数据") + @ApiOperation(value = "根据id查询任务计划数据", notes = "根据id查询任务计划数据") public SysTaskPlan getSysTaskPlanById(Long id) { return sysTaskPlanRDao.getById(id); } @Override - @ApiOperation(value = "任务计划复杂查询,分页,排序",notes = "任务计划复杂查询,分页,排序") + @ApiOperation(value = "任务计划复杂查询,分页,排序", notes = "任务计划复杂查询,分页,排序") public ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager) { - if(sysTaskPlan == null) { + if (sysTaskPlan == null) { pager = PagerHelper.getPager(pager, sysTaskPlanRDao.listCount()); - return new ListPager(sysTaskPlanRDao.listPager(pager),pager); - }else { + return new ListPager(sysTaskPlanRDao.listPager(pager), pager); + } else { String hqlPack = CoreHqlPack.packHqlSysTaskPlan(sysTaskPlan); pager = PagerHelper.getPager(pager, sysTaskPlanRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(),pager),pager); + return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(), pager), pager); } } @Override - @ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划") + @ApiOperation(value = "立即执行任务计划", notes = "立即执行任务计划") public void executeSysTaskPlan(SysTaskPlan sysTaskPlan) { - JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); try { if (scheduler.checkExists(jobKey)) { scheduler.triggerJob(jobKey); @@ -310,24 +313,74 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "查询任务计划",notes = "根据任务计划名称与组名称查询") + @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.size() != 0) { return sysTaskPlanList.get(0); } return null; } @Override - @ApiOperation(value = "添加定时任务执行日志",notes = "添加定时任务执行日志") + @ApiOperation(value = "添加定时任务执行日志", notes = "添加定时任务执行日志") public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) { sysLogTaskTimeRDao.insert(sysLogTaskTime); } @Override - @ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息,不会更新quartz数据库") + @ApiOperation(value = "修改定时任务信息", notes = "修改定时任务信息,不会更新quartz数据库") public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) { sysTaskPlanRDao.update(sysTaskPlan); } + + @Override + @ApiOperation(value = "批量删除任务计划信息", notes = "批量删除任务计划信息") + public void deleteSysTaskPlanByIds(Long[] ids) { + try { + List sysTaskPlan = sysTaskPlanRDao.findByHqlWhere(CoreHqlPack.packHqlIds("id", ids)); + List triggerKeyList = new ArrayList<>(); + + //数据校验 + if (sysTaskPlan == null || sysTaskPlan.size() == 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("任务计划不存在") + .setErrorSolution("请重新选择任务计划") + .build(); + } else { + for (int i = 0; i < sysTaskPlan.size(); i++) { + triggerKeyList.add(TriggerKey.triggerKey(sysTaskPlan.get(i).getName(), sysTaskPlan.get(i).getGroupName())); + } + } + + sysTaskPlanRDao.deleteByIds(ids); + + // 删除关系表数据 + sysRefTaskCyclePlanRDao.deleteByPropertyIn("taskPlanId", ids); + + // 检查定时人计划是否存在,并暂停 + for (TriggerKey trigger : triggerKeyList) { + if (scheduler.checkExists(trigger)) { + scheduler.pauseTrigger(trigger); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("定时任务不存在") + .setErrorSolution("请重新选择") + .build(); + } + } + + // 取消调度任务 + scheduler.unscheduleJobs(triggerKeyList); + } catch (SchedulerException e) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) + .build(); + } + } } From ec90f78120c203e7b346f848475834c965c444e2 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 11 Mar 2019 19:52:57 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E4=BC=98=E5=8C=96=20echarts=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ba14679..caa9081 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -3,13 +3,13 @@ server.port=8100 #本机ip impp.server.ip=192.168.1.56 #console控制台服务(zipkin追踪全路径) -impp.console.ip=http://csd.estsh.com +impp.console.ip=http://192.168.1.56:8010 ################ 功能配置1 ################ #若无法连接注册中心,是否需要一直检测加入 impp.cluster.fetch=true #服务注册中心 -impp.cluster.regist.center=http://regd.estsh.com/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/