diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDictionaryService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDictionaryService.java index dcb3ed9..14deb7d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDictionaryService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDictionaryService.java @@ -121,4 +121,10 @@ public interface ISysDictionaryService { */ @ApiOperation(value = "根据父节点 以及当前节点名称 获取字典信息") SysDictionary getSysDictionaryByParentCodeAndName(String parentCode,String name); + + /** + * 根据模块查询顶级字典 + */ + @ApiOperation(value = "根据模块查询顶级字典") + List findSysDictionaryByTopBySoftType(Integer softType); } 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 ae1f9f8..7947167 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 @@ -23,20 +23,10 @@ public interface ISysTaskPlanService { /** * 新增任务计划 * @param sysTaskPlan 任务计划 - * @param sysTaskCycle 任务周期 - * @param sysTask 任务 * @return */ @ApiOperation(value = "新增任务计划",notes = "新增任务计划") - SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask); - - /** - * 修改任务计划 - * @param sysTaskPlan 任务计划 - * @param sysTaskCycle 任务周期 - */ - @ApiOperation(value = "修改任务计划",notes = "修改任务计划") - void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle); + SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan); /** * 修改任务状态 @@ -79,13 +69,6 @@ public interface ISysTaskPlanService { ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager); /** - * 立即执行任务计划 - * @param sysTaskPlan - */ - @ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划") - void executeSysTaskPlan(SysTaskPlan sysTaskPlan); - - /** * 根据任务计划名称与组名称查询 * @param name * @param groupName @@ -107,12 +90,4 @@ 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/DemoAuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java index 4029f08..c8c1bf9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java @@ -81,7 +81,6 @@ public class DemoAuthController extends CoreBaseController { try { SessionUser sUser = AuthUtil.getSessionUser(); LOGGER.info("用户:{}",sUser); - Map map = new HashMap(); Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String key = (String) headerNames.nextElement(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java index 971b16c..e18d1c8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java @@ -120,7 +120,7 @@ public class DemoCloudController { @ApiOperation(value="测试arr",notes = "测试arr") public ResultBean testFeignArr(@RequestBody String[] arr) { LOGGER.info("【impp-core-arr接受数据】{}" ,arr); - return ResultBean.success("返回:" + arr).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr); } @PostMapping(value="/test-more-object") @@ -138,7 +138,6 @@ public class DemoCloudController { public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean roleBean) { LOGGER.info("PostMapping【param】{}" ,test); - Map map = new HashMap(); Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String key = (String) headerNames.nextElement(); @@ -153,7 +152,6 @@ public class DemoCloudController { @GetMapping(value="/test-get-request-body") @ApiOperation(value="测试request-body") public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean roleBean) { - Map map = new HashMap(); Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String key = (String) headerNames.nextElement(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java index 8ff7b99..2d56a8b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java @@ -261,9 +261,9 @@ public class DemoResourceController extends CoreBaseController { // System.out.println("1====" + u1.hashCode()); // System.out.println("2====" + u2.hashCode()); - SysUser user = userService.getSysUserById(key); +// SysUser user = userService.getSysUserById(key); // System.out.println("1==="+user); - SysUserInfo userInfo = userInfoServicer.getSysUserInfoById(key); +// SysUserInfo userInfo = userInfoServicer.getSysUserInfoById(key); // System.out.println("2==="+userInfo); return ResultBean.success("操作成功"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/CoreCommonController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/CoreCommonController.java new file mode 100644 index 0000000..8dda5a7 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/CoreCommonController.java @@ -0,0 +1,21 @@ +package cn.estsh.i3plus.core.apiservice.controller.base; + +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; +import cn.estsh.impp.framework.base.controller.BaseCommonController; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description :通用功能服务 + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-03-20 20:07 + * @Modify: + **/ +@RestController +@Api(description = "通用功能服务") +@RequestMapping(PlatformConstWords.BASE_URL +"/common") +public class CoreCommonController extends BaseCommonController { +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java index b809da5..5da723d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java @@ -53,9 +53,8 @@ public class SysDictionaryController extends CoreBaseController{ try { // 条件验证 ValidatorBean.beginValid(sysDictionary) - .notNull("id",sysDictionary.getId()) .notNull("name",sysDictionary.getName()) - .notNull("softType",sysDictionary.getSoftType()) + .notNull("dictionarySoftType",sysDictionary.getDictionarySoftType()) .notNull("dictionaryCode",sysDictionary.getDictionaryCode()) .notNull("dictionaryValue",sysDictionary.getDictionaryValue()); @@ -81,7 +80,7 @@ public class SysDictionaryController extends CoreBaseController{ // 条件验证 ValidatorBean.beginValid(sysDictionary) .notNull("name",sysDictionary.getName()) - .notNull("softType",sysDictionary.getSoftType()) + .notNull("dictionarySoftType",sysDictionary.getDictionarySoftType()) .notNull("dictionaryCode",sysDictionary.getDictionaryCode()) .notNull("dictionaryValue",sysDictionary.getDictionaryValue()); @@ -221,7 +220,7 @@ public class SysDictionaryController extends CoreBaseController{ } } - @GetMapping("/find/top") + @GetMapping("/find-top") @ApiOperation(value = "查询顶级字典项",notes = "查询顶级字典项") public ResultBean findSysDictionaryByTop() { try { @@ -275,19 +274,20 @@ public class SysDictionaryController extends CoreBaseController{ public ResultBean findSysDictionaryTree(){ try { // 根据软件类型分组 - Map group = sysDictionaryService.findSysDictionaryByTop().stream().collect(Collectors.groupingBy(SysDictionary::getSoftType)); + Map group = sysDictionaryService.findSysDictionaryByTop().stream().collect(Collectors.groupingBy(SysDictionary::getDictionarySoftType)); List> dictTree = new ArrayList<>(); Map child; for (CommonEnumUtil.SOFT_TYPE softType :CommonEnumUtil.SOFT_TYPE.values()) { if(group.containsKey(softType.getValue())){ child = new HashMap(); - child.put("id",softType.getCode()); - child.put("name",softType.getValue()); + child.put("id",softType.getValue()); + child.put("name",softType.getCode()); child.put("childList",group.get(softType.getValue())); dictTree.add(child); } } + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(dictTree); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -295,4 +295,17 @@ public class SysDictionaryController extends CoreBaseController{ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @GetMapping("/find-soft-type") + @ApiOperation(value = "根据模块查询顶级字典",notes = "根据模块查询顶级字典") + public ResultBean findSysDictionaryByTopBySoftType(Integer softType){ + try { + List dictionaryList = sysDictionaryService.findSysDictionaryByTopBySoftType(softType); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(dictionaryList); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } 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 ac35073..900a6de 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 @@ -1,17 +1,22 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService; +import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysTask; import cn.estsh.impp.framework.base.controller.CoreBaseController; +import cn.estsh.impp.framework.base.service.CommonServiceImpl; +import cn.estsh.impp.framework.base.service.ICommonService; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.quartz.IQuartzJobService; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -40,6 +45,24 @@ public class SysTaskController extends CoreBaseController { @Autowired private ISysTaskService sysTaskService; + @Autowired + private CommonServiceImpl coreCommonService; + + @Autowired + private IWmsCommonCloud wmsCommonCloud; + + private ICommonService getCommonService(int softType){ + ICommonService commonService = coreCommonService; + + if(softType == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){ + //平台定时任务 + commonService = coreCommonService; + }else if(softType == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){ + commonService = wmsCommonCloud; + } + return commonService; + } + @PostMapping(value = "/insert") @ApiOperation(value = "添加任务", notes = "添加任务") public ResultBean insertSysTask(SysTask sysTask) { @@ -47,16 +70,23 @@ public class SysTaskController extends CoreBaseController { // 数据校验 ValidatorBean.beginValid(sysTask) .notNull("name", sysTask.getName()) + .notNull("taskSoftType", sysTask.getTaskSoftType()) .notNull("taskPackage", sysTask.getTaskPackage()) .notNull("taskClass", sysTask.getTaskClass()); // 类校验 - Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass()); + BaseResultBean resultBean = getCommonService(sysTask.getTaskSoftType()).isExistClass(sysTask.getTaskPackage(), sysTask.getTaskClass()); + if(!resultBean.isSuccess()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("任务类不存在") + .setErrorSolution("请重新输入") + .build(); + } sysTaskService.insertSysTask(sysTask); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTask); - } catch (ClassNotFoundException e) { - return ResultBean.fail("任务类不存在:" + sysTask.getTaskPackage() + "." + sysTask.getTaskClass()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { @@ -71,6 +101,7 @@ public class SysTaskController extends CoreBaseController { // 数据校验 ValidatorBean.beginValid(sysTask) .notNull("name", sysTask.getName()) + .notNull("taskSoftType", sysTask.getTaskSoftType()) .notNull("taskPackage", sysTask.getTaskPackage()) .notNull("taskClass", sysTask.getTaskClass()); 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 29bfb02..06edc88 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 @@ -2,6 +2,8 @@ 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.icloud.wms.sdk.IWmsScheduleJobCloud; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; @@ -9,12 +11,15 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan; +import cn.estsh.i3plus.pojo.platform.bean.SysTask; import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle; import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.quartz.IQuartzJobService; +import cn.estsh.impp.framework.boot.quartz.ScheduleTool; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -46,6 +51,33 @@ public class SysTaskCycleController extends CoreBaseController{ @Autowired private ISysTaskPlanService sysTaskPlanService; + @Autowired + private ISysTaskService sysTaskService; + + /************ 微服定时任务 *********/ + @Autowired + private ScheduleTool scheduleTool; + + @Autowired + private IWmsScheduleJobCloud wmsScheduleJobCloud; + + /** + * 根据来源切换定时任务服务 + * @param source CommonEnumUtil.SOFT_TYPE + * @return + */ + private IQuartzJobService getJobService(int source){ + IQuartzJobService quartzJobService = scheduleTool; + + if(source == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){ + //平台定时任务 + quartzJobService = scheduleTool; + }else if(source == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){ + quartzJobService = wmsScheduleJobCloud; + } + return quartzJobService; + } + @PostMapping(value = "/insert") @ApiOperation(value = "新增任务周期", notes = "任务周期") public ResultBean insertSysTaskCycle(SysTaskCycle sysTaskCycle) { @@ -53,8 +85,7 @@ public class SysTaskCycleController extends CoreBaseController{ // 数据校验 ValidatorBean.beginValid(sysTaskCycle) .notNull("name", sysTaskCycle.getName()) - .notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps()) - .notNull("taskCycleStartDatetime",sysTaskCycle.getTaskCycleStartDatetime()); + .notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps()); sysTaskCycleService.insertSysTaskCycle(sysTaskCycle); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); @@ -80,16 +111,20 @@ public class SysTaskCycleController extends CoreBaseController{ // 查询关联任务计划信息,并进行修改 List taskCyclePlans = sysTaskCycleService.findRefTaskCyclePlanByCycleId(sysTaskCycle.getId()); SysTaskPlan sysTaskPlan; + SysTask sysTask; for (SysRefTaskCyclePlan item: taskCyclePlans) { sysTaskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(item.getTaskPlanName(),item.getTaskPlanGroupName()); + sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId()); + sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName()); sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps()); sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime()); sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime()); - sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle); + // 更新关联模块的定时任务 + getJobService(sysTaskPlan.getTaskSoftTypeRdd()).editTask(sysTask.getTaskPackage(),sysTask.getTaskClass(),sysTaskPlan.getName() + ,sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(),sysTaskPlan.getTaskPlanDescription()); } - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); 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 8f41740..e96636e 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,8 +3,9 @@ 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.icloud.wms.sdk.IWmsScheduleJobCloud; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -16,6 +17,9 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.quartz.IQuartzJobService; +import cn.estsh.impp.framework.boot.quartz.ScheduleTool; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -50,6 +54,30 @@ public class SysTaskPlanController extends CoreBaseController{ @Autowired private ISysTaskService sysTaskService; + /************ 微服定时任务 *********/ + @Autowired + private ScheduleTool scheduleTool; + + @Autowired + private IWmsScheduleJobCloud wmsScheduleJobCloud; + + /** + * 根据来源切换定时任务服务 + * @param source CommonEnumUtil.SOFT_TYPE + * @return + */ + private IQuartzJobService getJobService(int source){ + IQuartzJobService quartzJobService = scheduleTool; + + if(source == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){ + //平台定时任务 + quartzJobService = scheduleTool; + }else if(source == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){ + quartzJobService = wmsScheduleJobCloud; + } + return quartzJobService; + } + @PostMapping(value = "/insert") @ApiOperation(value = "新增任务计划", notes = "任务计划") public ResultBean insertSysTaskTime(SysTaskPlan sysTaskPlan, Boolean isExecute) { @@ -69,20 +97,50 @@ public class SysTaskPlanController extends CoreBaseController{ ValidatorBean.checkNotNull(sysTask,"任务不存在"); // 设置冗余信息 - sysTaskPlan.setTaskPlanExecNum(0); sysTaskPlan.setTaskNameRdd(sysTask.getName()); + sysTaskPlan.setTaskSoftTypeRdd(sysTask.getTaskSoftType()); sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName()); sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps()); sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime()); sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime()); + sysTaskPlan.setTaskPlanExecNum(0); sysTaskPlan.setTaskPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); - sysTaskPlan = sysTaskPlanService.insertSysTaskPlan(sysTaskPlan,sysTaskCycle,sysTask); + // 唯一检查 + BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).checkJobExists(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + if(baseResultBean.isSuccess()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail("定时任务已存在") + .build(); + } + + // 添加至对应模块调度器中 + baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).addTask(sysTask.getTaskPackage(), + sysTask.getTaskClass(),sysTaskPlan.getName(),sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(), + sysTaskPlan.getTaskPlanDescription()); + if (!baseResultBean.isSuccess()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail("定时任务添加失败") + .build(); + } + + sysTaskPlan = sysTaskPlanService.insertSysTaskPlan(sysTaskPlan); + // 立即执行 if(isExecute != null && isExecute){ - sysTaskPlanService.executeSysTaskPlan(sysTaskPlan); + baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + if (!baseResultBean.isSuccess()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail("定时任务执行失败") + .build(); + } } - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -110,14 +168,20 @@ public class SysTaskPlanController extends CoreBaseController{ ValidatorBean.checkNotNull(sysTask,"任务不存在"); sysTaskPlan.setTaskNameRdd(sysTask.getName()); + sysTaskPlan.setTaskSoftTypeRdd(sysTask.getTaskSoftType()); sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName()); sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps()); sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime()); sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime()); - sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle); + sysTaskPlanService.updateSysTaskPlan(sysTaskPlan); + + // 修改对应模块中的定时任务 + getJobService(sysTaskPlan.getTaskSoftTypeRdd()).editTask(sysTask.getTaskPackage(),sysTask.getTaskClass(),sysTaskPlan.getName() + ,sysTaskPlan.getGroupName(),sysTaskCycle.getTaskCycleExps(),sysTaskPlan.getTaskPlanDescription()); + if(isExecute != null && isExecute){ - sysTaskPlanService.executeSysTaskPlan(sysTaskPlan); + getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); } return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan); }catch(ImppBusiException busExcep){ @@ -133,8 +197,12 @@ public class SysTaskPlanController extends CoreBaseController{ try { // 数据校验 ValidatorBean.checkNotNull(id, "任务计划id 不能为空"); + SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id)); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在"); sysTaskPlanService.deleteSysTaskPlanById(Long.parseLong(id)); + getJobService(sysTaskPlan.getTaskSoftTypeRdd()).deleteTask(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -163,12 +231,10 @@ public class SysTaskPlanController extends CoreBaseController{ // 数据校验 ValidatorBean.checkNotNull(id, "任务计划id 不能为空"); - SysTaskPlan taskTime = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id)); - if (taskTime != null) { - return ResultBean.success("操作成功").setResultObject(taskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }else { - return ResultBean.fail("任务计划不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); - } + SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id)); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在"); + + return ResultBean.success("操作成功").setResultObject(sysTaskPlan).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ @@ -184,7 +250,17 @@ public class SysTaskPlanController extends CoreBaseController{ ValidatorBean.checkNotNull(idStr, "id 不能为空"); ValidatorBean.checkNotZero(status, "状态不能为空"); + SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(idStr)); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务计划不存在"); + sysTaskPlanService.updateSysTaskPlanStatus(Long.parseLong(idStr),status,AuthUtil.getSessionUser()); + + // 停止或启用对应模块中的定时任务 + 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()); + } return new ResultBean(true); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -214,24 +290,14 @@ public class SysTaskPlanController extends CoreBaseController{ ValidatorBean.checkNotNull(id, "任务计划id 不能为空"); SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id)); - sysTaskPlanService.executeSysTaskPlan(sysTaskPlan); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @DeleteMapping("/batch-delete") - @ApiOperation(value = "根据id批量删除任务计划",notes = "根据id批量删除任务计划") - public ResultBean deleteSysTaskPlanByIds(String[] idsStr) { - try { - // 数据校验 - ValidatorBean.checkNotNull(idsStr, "任务计划id 不能为空"); + // 执行定时任务 + BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd()).executeJob(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + if(baseResultBean.isSuccess()){ + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else{ + return ResultBean.fail("操作失败").setErrorMsg(baseResultBean.errorMsg); + } - sysTaskPlanService.deleteSysTaskPlanByIds(StringTool.getArrayLong(idsStr)); - return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java index e0b400a..ebea10a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java @@ -164,8 +164,7 @@ public class SysUserInfoController extends CoreBaseController{ ValidatorBean.checkIsNumber(id, "id 不能为空"); SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(Long.parseLong(id)); - ValidatorBean.beginValid(userInfo) - .notNull("id",userInfo.getId()); + ValidatorBean.beginValid(userInfo).notNull("id",userInfo.getId()); if(userInfo != null){ return ResultBean.success("操作成功").setResultObject(userInfo).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java index 4e0896e..8e3c109 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java @@ -34,7 +34,7 @@ public class TestDaoImpl implements ITestDao { @Override public void insertBatch(int num, int waitTime) { long t1 = System.currentTimeMillis(); - SysTool sysTool = new SysTool(); + SysTool sysTool; StringBuffer sb = new StringBuffer(); sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values "); SnowflakeIdMaker snf = new SnowflakeIdMaker(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java index 7d1a666..097028b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/ReportService.java @@ -32,7 +32,7 @@ public class ReportService implements IReportService { public void checkReportHQL(String hql) { LOGGER.info("报表 HQL 注入检查:{}",hql); // HQL 非法入侵检查 - hql = HqlPack.getSafeParam(hql); + HqlPack.getSafeParam(hql); } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java index a20c0e6..051833d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java @@ -10,7 +10,6 @@ import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository; import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; -import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository; import cn.estsh.impp.framework.boot.util.ImppRedis; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -118,29 +117,29 @@ public class SystemInitService implements ISystemInitService { //查询所有资源 List resourceList = systemResourceService.listSysLocaleResource(null); - LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。",resourceList.size(),langList.size()); - for(SysLocaleResource res : resourceList) { + LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resourceList.size(), langList.size()); + for (SysLocaleResource res : resourceList) { //遍历资源,放入map中 lanMap = resMap.get(res.getResourceKey()); //判断是否已存在资源信息 - if(lanMap == null){ + if (lanMap == null){ lanMap = new HashMap(); //将key/代码放入 - resMap.put(res.getResourceKey(),lanMap); + resMap.put(res.getResourceKey(), lanMap); } //根据语言放入 - lanMap.put(res.getLanguageCode(),res.getResourceValue()); + lanMap.put(res.getLanguageCode(), res.getResourceValue()); // web 资源 if(!webLangMap.containsKey(res.getLanguageCode())){ - webLangMap.put(res.getLanguageCode(),new HashMap<>()); + webLangMap.put(res.getLanguageCode(), new HashMap<>()); } // 放入资源信息 webResMap = webLangMap.get(res.getLanguageCode()); - webResMap.put(res.getResourceKey(),res.getResourceValue()); + webResMap.put(res.getResourceKey(), res.getResourceValue()); } - for(String key : resMap.keySet()){ + for (String key : resMap.keySet()) { //放入缓存 redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + key,resMap.get(key),0); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java index eb728f1..7f03053 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java @@ -2,13 +2,11 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; import cn.estsh.i3plus.platform.common.tool.StringTool; -import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; @@ -40,11 +38,11 @@ public class SysDictionaryService implements ISysDictionaryService { @Override @ApiOperation(value = "添加字典") public void insertSysDictionary(SysDictionary sysDictionary) { - long repeatCodeCount = sysDictionaryRDao.findByPropertyCount(new String[]{"dictionaryCode", "softType"}, - new Object[]{sysDictionary.getDictionaryCode(), sysDictionary.getSoftType()}); - long repeatValueCount = sysDictionaryRDao.findByPropertyCount(new String[]{"parentId", "dictionaryValue", "softType"}, - new Object[]{sysDictionary.getParentId(), sysDictionary.getDictionaryValue(), sysDictionary.getSoftType()}); - if (repeatCodeCount > 0 || repeatValueCount > 0){ + long repeatCodeCount = sysDictionaryRDao.findByPropertyCount(new String[]{"dictionaryCode", "dictionarySoftType"}, + new Object[]{sysDictionary.getDictionaryCode(), sysDictionary.getDictionarySoftType()}); + long repeatValueCount = sysDictionaryRDao.findByPropertyCount(new String[]{"parentId", "dictionaryValue", "dictionarySoftType"}, + new Object[]{sysDictionary.getParentId(), sysDictionary.getDictionaryValue(), sysDictionary.getDictionarySoftType()}); + if (repeatCodeCount > 0 || repeatValueCount > 0) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) @@ -65,14 +63,14 @@ public class SysDictionaryService implements ISysDictionaryService { sysDictionary.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } - LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",sysDictionary); + LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}", sysDictionary); sysDictionaryRDao.insert(sysDictionary); } @Override @ApiOperation(value = "根据id删除字典") public void deleteSysDictionaryById(Long id) { - LOGGER.info("字典 SYS_DICTIONARY id:{}",id); + LOGGER.info("字典 SYS_DICTIONARY id:{}", id); sysDictionaryRDao.deleteById(id); } @@ -84,7 +82,7 @@ public class SysDictionaryService implements ISysDictionaryService { long repeatCodeCount = sysDictionaryRDao.findByHqlWhereCount(hqlPack); hqlPack = CoreHqlPack.packHqlSysDictionaryValue(sysDictionary); long repeatValueCount = sysDictionaryRDao.findByHqlWhereCount(hqlPack); - if (repeatCodeCount > 0 || repeatValueCount > 0){ + if (repeatCodeCount > 0 || repeatValueCount > 0) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) @@ -96,6 +94,7 @@ public class SysDictionaryService implements ISysDictionaryService { // 数据反填 SysDictionary newSysDict = sysDictionaryRDao.getById(sysDictionary.getId()); newSysDict.setName(sysDictionary.getName()); + newSysDict.setDictionarySoftType(sysDictionary.getDictionarySoftType()); newSysDict.setDictionaryCode(sysDictionary.getDictionaryCode()); newSysDict.setParentId(sysDictionary.getParentId()); newSysDict.setDictionarySort(sysDictionary.getDictionarySort()); @@ -113,7 +112,7 @@ public class SysDictionaryService implements ISysDictionaryService { newSysDict.setParentCodeRdd(parentSysDictionary.getDictionaryCode()); } - LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",newSysDict); + LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}", newSysDict); sysDictionaryRDao.update(newSysDict); } @@ -127,32 +126,32 @@ public class SysDictionaryService implements ISysDictionaryService { @Override @ApiOperation(value = "根据id查询字典信息") public SysDictionary getSysDictionaryById(Long id) { - LOGGER.info("字典 SYS_DICTIONARY id:{}",id); + LOGGER.info("字典 SYS_DICTIONARY id:{}", id); return sysDictionaryRDao.getById(id); } @Override @ApiOperation(value = "根据父级代码查询字典项信息") - public List findSysDictionaryBySoftTypeAndParentCode(Integer softType,String parentCode) { - LOGGER.info("字典 SYS_DICTIONARY parentCode:{}",parentCode); + public List findSysDictionaryBySoftTypeAndParentCode(Integer softType, String parentCode) { + LOGGER.info("字典 SYS_DICTIONARY parentCode:{}", parentCode); return sysDictionaryRDao.findByProperty(new String[]{"softType", "parentCodeRdd"}, new Object[]{softType, parentCode}); } @Override - @ApiOperation(value = "字典复杂查询,分页,排序",notes = "默认查询非顶级字典") + @ApiOperation(value = "字典复杂查询,分页,排序", notes = "默认查询非顶级字典") public ListPager querySysDictionaryByPager(SysDictionary sysDictionary, Pager pager) { - sysDictionary = sysDictionary == null ? new SysDictionary():sysDictionary; + sysDictionary = sysDictionary == null ? new SysDictionary() : sysDictionary; String hqlPack = CoreHqlPack.packHqlSysDictionary(sysDictionary); pager = PagerHelper.getPager(pager, sysDictionaryRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(sysDictionaryRDao.findByHqlWherePage(hqlPack + sysDictionary.orderBy(),pager),pager); + return new ListPager(sysDictionaryRDao.findByHqlWherePage(hqlPack + sysDictionary.orderBy(), pager), pager); } @Override @ApiOperation(value = "查询顶级字典") public List findSysDictionaryByTop() { LOGGER.info("字典 SYS_DICTIONARY parentId:{}", CommonEnumUtil.PARENT.DEFAULT.getValue()); - return sysDictionaryRDao.findByProperty("parentId",(long)CommonEnumUtil.PARENT.DEFAULT.getValue()); + return sysDictionaryRDao.findByProperty("parentId", (long) CommonEnumUtil.PARENT.DEFAULT.getValue()); } @Override @@ -167,7 +166,7 @@ public class SysDictionaryService implements ISysDictionaryService { .build(); } - LOGGER.info("字典 SYS_DICTIONARY ids:{}", ids.toString()); + LOGGER.info("字典 SYS_DICTIONARY ids:{}", ids); sysDictionaryRDao.deleteByIds(ids); } @@ -177,11 +176,11 @@ public class SysDictionaryService implements ISysDictionaryService { List list = findSysDictionaryBySoftTypeAndParentCode(CommonEnumUtil.SOFT_TYPE.CORE.getValue(), BaseConstWords.DICTIONARY_FILE_TYPE); - if(list != null && list.size()> 0){ - String suffix = StringTool.getStringFileSuffix(fileName,true); + if (list != null && list.size() > 0) { + String suffix = StringTool.getStringFileSuffix(fileName, true); for (SysDictionary dictionary : list) { - if(suffix.toUpperCase().equals(dictionary.getDictionaryValue().toUpperCase())){ + if (suffix.toUpperCase().equals(dictionary.getDictionaryValue().toUpperCase())) { return true; } } @@ -192,32 +191,39 @@ public class SysDictionaryService implements ISysDictionaryService { @Override @ApiOperation(value = "根据父节点 以及当前节点CODE 获取字典信息") public SysDictionary getSysDictionaryByParentCodeAndCode(String parentCode, String code) { - return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","dictionaryCode"}, - new Object[]{parentCode,code}); + return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "dictionaryCode"}, + new Object[]{parentCode, code}); } @Override - @ApiOperation(value = "设置默认字典项",notes = "根据id设置默认字典项") + @ApiOperation(value = "设置默认字典项", notes = "根据id设置默认字典项") public void updateSysDictionaryDefaultById(Long id) { SysDictionary sysDictionary = sysDictionaryRDao.getById(id); - sysDictionaryRDao.updateByProperties("parentId",sysDictionary.getParentId(), - "isDefault",CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + sysDictionaryRDao.updateByProperties("parentId", sysDictionary.getParentId(), + "isDefault", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - sysDictionaryRDao.updateByProperties("id",id, - "isDefault",CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + sysDictionaryRDao.updateByProperties("id", id, + "isDefault", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } @Override @ApiOperation(value = "根据父节点 以及当前节点值 获取字典信息") public SysDictionary getSysDictionaryByParentCodeAndValue(String parentCode, String value) { - return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","dictionaryValue"}, - new Object[]{parentCode,value}); + return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "dictionaryValue"}, + new Object[]{parentCode, value}); } @Override @ApiOperation(value = "根据父节点 以及当前节点名称 获取字典信息") public SysDictionary getSysDictionaryByParentCodeAndName(String parentCode, String name) { - return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd","name"}, - new Object[]{parentCode,name}); + return sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "name"}, + new Object[]{parentCode, name}); + } + + @Override + @ApiOperation(value = "根据模块查询顶级字典") + public List findSysDictionaryByTopBySoftType(Integer softType) { + return sysDictionaryRDao.findByProperty(new String[]{"parentId", "dictionarySoftType"}, + new Object[]{(long) CommonEnumUtil.PARENT.DEFAULT.getValue(), softType}); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java index 2679be5..95cbdac 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java @@ -96,7 +96,7 @@ public class SysFileServiceImpl implements ISysFileService { @Override public void deleteSysFileByIds(Long[] ids) { - LOGGER.info("文件资源 SYS_FILE ids:{}", ids.toString()); + LOGGER.info("文件资源 SYS_FILE ids:{}", ids); sysFileRDao.deleteByIds(ids); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index 398613b..37a1452 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -116,7 +116,7 @@ public class SysMessageService implements ISysMessageService { @Override @ApiOperation(value = "批量删除消息") public void deleteSysMessageByIds(Long[] ids) { - LOGGER.info("消息 SYS_MESSAGE ids:{}", ids.toString()); + LOGGER.info("消息 SYS_MESSAGE ids:{}", ids); sysMessageRDao.deleteByIds(ids); } 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 673d3c3..312a13b 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 @@ -5,7 +5,9 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan; +import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan; import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository; import cn.estsh.i3plus.pojo.platform.repository.SysRefTaskCyclePlanRepository; @@ -15,16 +17,12 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.ApiOperation; -import org.quartz.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; 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; /** @@ -48,94 +46,35 @@ public class SysTaskPlanService implements ISysTaskPlanService { @Autowired private SysLogTaskTimeRepository sysLogTaskTimeRDao; - @Autowired - private Scheduler scheduler; - @Override @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)) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("定时任务已存在") - .setErrorSolution("请重新输入任务名称和组名称") - .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()); - - // 添加表达式与触发器关系表 - sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan); - - // 添加定时任务与触发器到quartz表中 - CronScheduleBuilder schedBuilder = CronScheduleBuilder - .cronSchedule(sysTaskCycle.getTaskCycleExps()) - .withMisfireHandlingInstructionDoNothing(); - TriggerBuilder trigger = TriggerBuilder.newTrigger() - .withIdentity(triggerKey) - .withDescription(sysTaskCycle.getTaskCycleDescription()) - .withSchedule(schedBuilder) - .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if (sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0) { - trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); - } - - Class clazz = (Class) Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass()); - JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(jobKey).withDescription(sysTaskPlan.getTaskPlanDescription()).build(); - - scheduler.scheduleJob(jobDetail, trigger.build()); - } catch (SchedulerException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail(e.getMessage()) - .build(); - } catch (ParseException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail("表达式起止时间错误") - .setErrorSolution("请更改表达式起止时间") - .build(); - } catch (ClassNotFoundException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail("定时任务包名及类名不正确") - .setErrorSolution("请重新输入定时任务包名及类名") - .build(); - } catch (RuntimeException e) { - String message; - if (e.getMessage().indexOf("CronExpression") == 0) { - message = "时间周期表达式错误"; - } else { - message = e.getMessage(); - } + public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan) { + // 唯一校验 + if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()})) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail(message) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("定时任务已存在") + .setErrorSolution("请重新输入任务名称和组名称") .build(); } + + sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan); + + SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan(); + refTaskCyclePlan.setTaskCycleId(sysTaskPlan.getTaskCycleId()); + refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId()); + refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName()); + refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName()); + + // 添加表达式与触发器关系表 + sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan); return sysTaskPlan; } @Override @ApiOperation(value = "修改任务计划", notes = "修改任务计划") - public void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle) { + public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SysTaskPlan oldSysTaskPlan = sysTaskPlanRDao.getById(sysTaskPlan.getId()); @@ -150,54 +89,6 @@ public class SysTaskPlanService implements ISysTaskPlanService { sysTaskPlan.setLastRunDateTime(oldSysTaskPlan.getLastRunDateTime()); sysTaskPlan.setTaskPlanStatus(oldSysTaskPlan.getTaskPlanStatus()); sysTaskPlanRDao.update(sysTaskPlan); - - try { - TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName()); - - if (!scheduler.checkExists(triggerKey)) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("定时任务不存在") - .setErrorSolution("请重新选择") - .build(); - } - - // 添加定时任务与触发器到quartz表中 - CronScheduleBuilder schedBuilder = CronScheduleBuilder - .cronSchedule(sysTaskCycle.getTaskCycleExps()) - .withMisfireHandlingInstructionDoNothing(); - TriggerBuilder trigger = TriggerBuilder.newTrigger() - .withIdentity(triggerKey) - .withDescription(sysTaskCycle.getTaskCycleDescription()) - .withSchedule(schedBuilder) - .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if (sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())) { - trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); - } - - JobKey jobKey = new JobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); - JobDetail jobDetail = scheduler.getJobDetail(jobKey); - jobDetail.getJobBuilder().withDescription(sysTaskPlan.getTaskPlanDescription()); - - HashSet triggerSet = new HashSet<>(); - triggerSet.add(trigger.build()); - - scheduler.scheduleJob(jobDetail, triggerSet, true); - } catch (SchedulerException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail(e.getMessage()) - .build(); - } catch (ParseException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .setErrorDetail("表达式起止时间错误") - .setErrorSolution("请更改表达式起止时间") - .build(); - } } @Override @@ -208,60 +99,19 @@ public class SysTaskPlanService implements ISysTaskPlanService { sysTaskPlan.setTaskPlanStatus(status); sysTaskPlan.setModifyUser(user.getUserName()); sysTaskPlanRDao.update(sysTaskPlan); - - try { - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); - if (!scheduler.checkExists(triggerKey)) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("定时任务不存在") - .setErrorSolution("请重新选择") - .build(); - } - - if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()) { - scheduler.resumeTrigger(triggerKey); - } else { - scheduler.pauseTrigger(triggerKey); - } - } catch (SchedulerException e) { - LOGGER.info("重新开始任务-->复杂调度" + e.getMessage()); - e.printStackTrace(); - } } @Override @ApiOperation(value = "根据根据id删除数据") public void deleteSysTaskPlanById(Long id) { - try { - SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); - ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在"); - - sysTaskPlanRDao.deleteById(id); + SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在"); - // 删除关系表数据 - sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, - new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}); + sysTaskPlanRDao.deleteById(id); - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); - if (scheduler.checkExists(triggerKey)) { - scheduler.pauseTrigger(triggerKey); - scheduler.unscheduleJob(triggerKey); - } else { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("定时任务不存在") - .setErrorSolution("请重新选择") - .build(); - } - } catch (SchedulerException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .build(); - } + // 删除关系表数据 + sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, + new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}); } @Override @@ -290,29 +140,6 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "立即执行任务计划", notes = "立即执行任务计划") - public void executeSysTaskPlan(SysTaskPlan sysTaskPlan) { - JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); - try { - if (scheduler.checkExists(jobKey)) { - scheduler.triggerJob(jobKey); - } else { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("任务计划不存在") - .setErrorSolution("请重新选择任务计划") - .build(); - } - } catch (SchedulerException e) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) - .build(); - } - } - - @Override @ApiOperation(value = "查询任务计划", notes = "根据任务计划名称与组名称查询") public SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName) { List sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name", "groupName"}, new Object[]{name, groupName}); @@ -327,60 +154,4 @@ public class SysTaskPlanService implements ISysTaskPlanService { public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) { sysLogTaskTimeRDao.insert(sysLogTaskTime); } - - @Override - @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(); - } - } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java index 11548e1..b8fa9b9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java @@ -102,7 +102,7 @@ public class SysToolTypeService implements ISysToolTypeService { @Override @ApiOperation(value = "删除硬件类型",notes = "根据 ID 批量删除硬件类型信息") public void deleteSysToolTypeByIds(Long[] ids) { - LOGGER.info("硬件类型 TOOL_TYPE ids:{}", ids.toString()); + LOGGER.info("硬件类型 TOOL_TYPE ids:{}", ids); List count = toolRDao.findByHqlWhere(CoreHqlPack.packHqlIds("toolTypeId",ids)); if(count.size() > 0){ throw ImppExceptionBuilder.newInstance() diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java index 1f36122..9ac550e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java @@ -218,7 +218,7 @@ public class SysUserInfoService implements ISysUserInfoService { LOGGER.info("用户信息 SysUserInfo userInfoId:{}",userInfoId); SysUserInfo userInfo = sysUserInfoRDao.getById(userInfoId); if(userInfo != null){ - int count = sysUserRepository.findByPropertyCount( + sysUserRepository.findByPropertyCount( new String[]{"userInfoId","isValid"}, new Object[]{userInfo.getId(),CommonEnumUtil.IS_VAILD.VAILD.getValue()}); // userInfo.setUserNum(count); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java index 17a8767..50a686e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java @@ -34,7 +34,6 @@ public class TestMain { int wId = new Random().nextInt(29) + 1; System.out.println("random id -> "+wId); SnowflakeIdMaker m = new SnowflakeIdMaker(wId,3); - m = new SnowflakeIdMaker(wId,3); int i = 0; long id; diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java index d806e8f..b2a3860 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java @@ -42,7 +42,7 @@ public class TestBase { SecurityUtils.setSecurityManager(securityManager); securityManager.start(sessionContext); - UserToken token = new UserToken("login_name", "login_pwd", "zh"); +// UserToken token = new UserToken("login_name", "login_pwd", "zh"); // SessionUser sessionUser = AuthUtil.login(token); // AuthUtil.setSessionUser(sessionUser); System.out.println("----------------->> 开始测试 <<-----------------"); diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java index 2d527bf..9b634c2 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java @@ -1,96 +1,96 @@ -package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; - -import cn.estsh.i3plus.pojo.platform.bean.*; -import cn.estsh.i3plus.pojo.platform.repository.*; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -/** - * @Description : - * @Reference : - * @Author : yunhao - * @CreateDate : 2018-11-22 11:01 - * @Modify: - **/ -public class TestExcelOrderNoRule extends TestBase { - - public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelOrderNoRule.class); - - // 文件路径 - public static final String PATH_NAME = "init/oder-no-rule.xlsx"; - // 权限Sheet 名称 - public static final String SHEET_ORDER_NO_RULE = "order-no-rule"; - - @Autowired - private SysOrderNoRuleRepository sysOrderNoRuleRDao; - - @Test - public void testInit() throws Exception { - XSSFWorkbook workbook = getWorkbook(PATH_NAME); - if(workbook != null){ - XSSFSheet sheetOrderNoRule = workbook.getSheet(SHEET_ORDER_NO_RULE); - - List ysOrderNoRuleList = getSysOrderNoRule(sheetOrderNoRule); - - LOGGER.info("System Init SysOrderNoRule Size:{}",ysOrderNoRuleList.size()); - - sysOrderNoRuleRDao.saveAll(ysOrderNoRuleList); - } - } - - public List getSysOrderNoRule(XSSFSheet sheet){ - List result = new ArrayList<>(); - if(sheet != null){ - if(sheet.getLastRowNum() >= 1){ - SysOrderNoRule obj = null; - for (int i = 1; i <= sheet.getLastRowNum(); i++) { - try { - Row row = sheet.getRow(i);//获取索引为i的行,以0开始 - if(row.getCell(0).toString().trim().length() > 0){ - obj = new SysOrderNoRule(); - obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); - obj.setName(row.getCell(1).getStringCellValue()); - obj.setOrderNoRuleCode(row.getCell(2).getStringCellValue()); - obj.setOrderNoRule(row.getCell(3).getStringCellValue()); - obj.setSerialNoSeed(Long.parseLong(row.getCell(4).getStringCellValue())); - obj.setSerialNoIncrement(Long.parseLong(row.getCell(5).getStringCellValue())); - obj.setSerialNoLength(Long.parseLong(row.getCell(6).getStringCellValue())); - obj.setIsCycle(Integer.parseInt(row.getCell(7).getStringCellValue())); - obj.setOrderNoRuleDescription(row.getCell(8).getStringCellValue()); - obj.setOrderNoRuleStatus(1); - obj.setSerialNo(-1L); - obj.setIsValid(1); - - result.add(obj); - } - }catch (Exception e){ - LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); - } - } - } - } - return result; - } - - public XSSFWorkbook getWorkbook(String pathName){ - try { - InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); - XSSFWorkbook workbook = new XSSFWorkbook(in); - return workbook; - }catch (Exception e){ - LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); - e.getMessage(); - return null; - } - } - -} +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.pojo.platform.bean.*; +//import cn.estsh.i3plus.pojo.platform.repository.*; +//import org.apache.poi.ss.usermodel.Row; +//import org.apache.poi.xssf.usermodel.XSSFSheet; +//import org.apache.poi.xssf.usermodel.XSSFWorkbook; +//import org.junit.Test; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +// +//import java.io.InputStream; +//import java.util.ArrayList; +//import java.util.List; +// +///** +// * @Description : +// * @Reference : +// * @Author : yunhao +// * @CreateDate : 2018-11-22 11:01 +// * @Modify: +// **/ +//public class TestExcelOrderNoRule extends cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase { +// +// public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelOrderNoRule.class); +// +// // 文件路径 +// public static final String PATH_NAME = "init/oder-no-rule.xlsx"; +// // 权限Sheet 名称 +// public static final String SHEET_ORDER_NO_RULE = "order-no-rule"; +// +// @Autowired +// private SysOrderNoRuleRepository sysOrderNoRuleRDao; +// +// @Test +// public void testInit() throws Exception { +// XSSFWorkbook workbook = getWorkbook(PATH_NAME); +// if(workbook != null){ +// XSSFSheet sheetOrderNoRule = workbook.getSheet(SHEET_ORDER_NO_RULE); +// +// List ysOrderNoRuleList = getSysOrderNoRule(sheetOrderNoRule); +// +// LOGGER.info("System Init SysOrderNoRule Size:{}",ysOrderNoRuleList.size()); +// +// sysOrderNoRuleRDao.saveAll(ysOrderNoRuleList); +// } +// } +// +// public List getSysOrderNoRule(XSSFSheet sheet){ +// List result = new ArrayList<>(); +// if(sheet != null){ +// if(sheet.getLastRowNum() >= 1){ +// SysOrderNoRule obj = null; +// for (int i = 1; i <= sheet.getLastRowNum(); i++) { +// try { +// Row row = sheet.getRow(i);//获取索引为i的行,以0开始 +// if(row.getCell(0).toString().trim().length() > 0){ +// obj = new SysOrderNoRule(); +// obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); +// obj.setName(row.getCell(1).getStringCellValue()); +// obj.setOrderNoRuleCode(row.getCell(2).getStringCellValue()); +// obj.setOrderNoRule(row.getCell(3).getStringCellValue()); +// obj.setSerialNoSeed(Long.parseLong(row.getCell(4).getStringCellValue())); +// obj.setSerialNoIncrement(Long.parseLong(row.getCell(5).getStringCellValue())); +// obj.setSerialNoLength(Long.parseLong(row.getCell(6).getStringCellValue())); +// obj.setIsCycle(Integer.parseInt(row.getCell(7).getStringCellValue())); +// obj.setOrderNoRuleDescription(row.getCell(8).getStringCellValue()); +// obj.setOrderNoRuleStatus(1); +// obj.setSerialNo(-1L); +// obj.setIsValid(1); +// +// result.add(obj); +// } +// }catch (Exception e){ +// LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); +// } +// } +// } +// } +// return result; +// } +// +// public XSSFWorkbook getWorkbook(String pathName){ +// try { +// InputStream in = cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); +// XSSFWorkbook workbook = new XSSFWorkbook(in); +// return workbook; +// }catch (Exception e){ +// LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); +// e.getMessage(); +// return null; +// } +// } +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java index 3770b78..9a70876 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java @@ -30,7 +30,6 @@ public class TestMathOper extends cn.estsh.i3plus.core.apiservice.serviceimpl.bu @Test public void testMax(){ - SysConfig sysConfig = new SysConfig(); // max System.out.println(sysConfigRDao.findMaxByProperties(propertyName,groupByName,param,paramValue)); System.out.println(sysConfigRDao.findMaxByProperty(propertyName,groupByName,param[0],paramValue[0]));