From 0e32fbeeef81552b3864b1d1a5985520a1e458a5 Mon Sep 17 00:00:00 2001 From: tjq Date: Sat, 6 Jun 2020 00:07:29 +0800 Subject: [PATCH] [dev] suit front-end's develop, I think my Javascript level is good now~ --- .../workflow/WorkflowInstanceService.java | 2 +- .../web/controller/AppInfoController.java | 19 ++++++++++++------- .../WorkflowInstanceController.java | 6 ++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/workflow/WorkflowInstanceService.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/workflow/WorkflowInstanceService.java index d5721817..a7403199 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/workflow/WorkflowInstanceService.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/workflow/WorkflowInstanceService.java @@ -73,7 +73,7 @@ public class WorkflowInstanceService { return dto; } - private WorkflowInstanceInfoDO fetchWfInstance(Long wfInstanceId, Long appId) { + public WorkflowInstanceInfoDO fetchWfInstance(Long wfInstanceId, Long appId) { WorkflowInstanceInfoDO wfInstance = wfInstanceInfoRepository.findByWfInstanceId(wfInstanceId).orElseThrow(() -> new IllegalArgumentException("can't find workflow instance by wfInstanceId: " + wfInstanceId)); if (!Objects.equals(appId, wfInstance.getAppId())) { throw new OmsException("Permission Denied!"); diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/AppInfoController.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/AppInfoController.java index 3a2d3b56..d4a6e872 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/AppInfoController.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/AppInfoController.java @@ -35,15 +35,20 @@ public class AppInfoController { private static final int MAX_APP_NUM = 50; @PostMapping("/save") - public ResultDTO saveAppInfo(@RequestBody ModifyAppInfoRequest appInfoRequest) { + public ResultDTO saveAppInfo(@RequestBody ModifyAppInfoRequest req) { - AppInfoDO appInfoDO = new AppInfoDO(); - BeanUtils.copyProperties(appInfoRequest, appInfoDO); - Date now = new Date(); - if (appInfoRequest.getId() == null) { - appInfoDO.setGmtCreate(now); + AppInfoDO appInfoDO; + + Long id = req.getId(); + if (id == null) { + appInfoDO = new AppInfoDO(); + appInfoDO.setGmtCreate(new Date()); + }else { + appInfoDO = appInfoRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("can't find appInfo by id:" + id)); } - appInfoDO.setGmtModified(now); + BeanUtils.copyProperties(req, appInfoDO); + appInfoDO.setGmtModified(new Date()); + appInfoRepository.saveAndFlush(appInfoDO); return ResultDTO.success(null); } diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/WorkflowInstanceController.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/WorkflowInstanceController.java index ad0685fc..7353f2ea 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/WorkflowInstanceController.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/web/controller/WorkflowInstanceController.java @@ -39,6 +39,12 @@ public class WorkflowInstanceController { return ResultDTO.success(null); } + @GetMapping("/info") + public ResultDTO getInfo(Long wfInstanceId, Long appId) { + WorkflowInstanceInfoDO wfInstanceDO = workflowInstanceService.fetchWfInstance(wfInstanceId, appId); + return ResultDTO.success(WorkflowInstanceInfoVO.from(wfInstanceDO, cacheService.getWorkflowName(wfInstanceDO.getWorkflowId()))); + } + @PostMapping("/list") public ResultDTO> listWfInstance(@RequestBody QueryWorkflowInstanceRequest req) { Sort sort = Sort.by(Sort.Direction.DESC, "gmtModified");