From c90d2d6e6aaf3edbbf929fd0b8bc07789d7a76fc Mon Sep 17 00:00:00 2001 From: "459816669@qq.com" <459816669@qq.com> Date: Sat, 17 Jul 2021 21:35:54 +0800 Subject: [PATCH] 11 --- .../controller/flowable/FlowController.java | 2 +- .../system/SysMessageCenterController.java | 17 ++++- .../src/main/resources/templates/index.html | 3 +- .../system/messageCenter/messageCenter.html | 73 ++++++++++++++++++- .../common/constant/MessageConstants.java | 4 + .../snow/common/enums/MessageEventType.java | 2 + .../listener/common/GlobalListenerConfig.java | 4 +- .../listener/common/ProcessEndListener.java | 64 ++++++++++------ .../listener/common/TaskCreateListener.java | 4 +- .../web/message/MessageEventHandler.java | 1 + 10 files changed, 140 insertions(+), 34 deletions(-) diff --git a/snow-admin/src/main/java/com/snow/web/controller/flowable/FlowController.java b/snow-admin/src/main/java/com/snow/web/controller/flowable/FlowController.java index 18b5c82..0c0c0fb 100644 --- a/snow-admin/src/main/java/com/snow/web/controller/flowable/FlowController.java +++ b/snow-admin/src/main/java/com/snow/web/controller/flowable/FlowController.java @@ -93,7 +93,7 @@ public class FlowController extends BaseController { * 获取我的待办列表 */ @RequiresPermissions("flow:get:todoList") - @PostMapping("/findTasksByUserId") + @RequestMapping("/findTasksByUserId") @ResponseBody public TableDataInfo findTasksByUserId(TaskBaseDTO taskBaseDTO) { diff --git a/snow-admin/src/main/java/com/snow/web/controller/system/SysMessageCenterController.java b/snow-admin/src/main/java/com/snow/web/controller/system/SysMessageCenterController.java index a7ad041..193901a 100644 --- a/snow-admin/src/main/java/com/snow/web/controller/system/SysMessageCenterController.java +++ b/snow-admin/src/main/java/com/snow/web/controller/system/SysMessageCenterController.java @@ -36,6 +36,11 @@ public class SysMessageCenterController extends BaseController @Autowired private ISysMessageTransitionService sysMessageTransitionService; + /** + * 跳转消息中心界面 + * @param mmap + * @return + */ @RequiresPermissions("system:messageCenter:view") @GetMapping() public String messageCenter(ModelMap mmap) @@ -47,6 +52,7 @@ public class SysMessageCenterController extends BaseController sysMessageTransition.setOrderBy("update_time desc"); List sysMessageTransitions = sysMessageTransitionService.selectSysMessageTransitionList(sysMessageTransition); + //拜访日志tab页数据 if(CollectionUtil.isNotEmpty(sysMessageTransitions)){ List visitLogsList = sysMessageTransitions.stream().filter(t -> t.getMessageType().equals(MessageEventType.SEND_VISIT_LOG.getCode())).collect(Collectors.toList()); long count = visitLogsList.stream().filter(t -> t.getMessageReadStatus() == 0).count(); @@ -62,6 +68,7 @@ public class SysMessageCenterController extends BaseController mmap.put("emailList",emailList); } + //待办tab页数据 if(CollectionUtil.isNotEmpty(sysMessageTransitions)){ List todoTaskList = sysMessageTransitions.stream().filter(t -> t.getMessageType().equals(MessageEventType.INNER_TASK_TODO.getCode())).collect(Collectors.toList()); long count = todoTaskList.stream().filter(t -> t.getMessageReadStatus() == 0).count(); @@ -69,6 +76,14 @@ public class SysMessageCenterController extends BaseController mmap.put("todoTaskList",todoTaskList); } + //流程完结tab页数据 + if(CollectionUtil.isNotEmpty(sysMessageTransitions)){ + List processEndList = sysMessageTransitions.stream().filter(t -> t.getMessageType().equals(MessageEventType.INNER_PROCESS_END.getCode())).collect(Collectors.toList()); + long count = processEndList.stream().filter(t -> t.getMessageReadStatus() == 0).count(); + mmap.put("processEndCount",count); + mmap.put("processEndList",processEndList); + } + return prefix + "/messageCenter"; } @@ -101,7 +116,7 @@ public class SysMessageCenterController extends BaseController * @param id * @return */ - @PostMapping( "/remarkRead") + @RequestMapping( "/remarkRead") @ResponseBody public AjaxResult remarkRead(Long id) { diff --git a/snow-admin/src/main/resources/templates/index.html b/snow-admin/src/main/resources/templates/index.html index 2016bea..96e2ec7 100644 --- a/snow-admin/src/main/resources/templates/index.html +++ b/snow-admin/src/main/resources/templates/index.html @@ -123,7 +123,7 @@
@@ -103,7 +110,7 @@

[[${todoTask.messageContent}]]

- 查看详情 + 查看详情

@@ -113,19 +120,51 @@
+ +
+
+

流程完结

+
+
+
+ +
+ +
+

+ + +

+

[[${processEnd.messageContent}]]

+ 查看详情 +
+
+
+
+
+
+ + + - - + + \ No newline at end of file diff --git a/snow-common/src/main/java/com/snow/common/constant/MessageConstants.java b/snow-common/src/main/java/com/snow/common/constant/MessageConstants.java index 93fa6a0..d20548e 100644 --- a/snow-common/src/main/java/com/snow/common/constant/MessageConstants.java +++ b/snow-common/src/main/java/com/snow/common/constant/MessageConstants.java @@ -43,4 +43,8 @@ public class MessageConstants { public static final String INNER_TASK_CREATED_CODE="1415927384573616128"; + /** + * 站内信流程完结模板 + */ + public static final String INNER_PROCESS_END_CODE="1416370192572882944"; } diff --git a/snow-common/src/main/java/com/snow/common/enums/MessageEventType.java b/snow-common/src/main/java/com/snow/common/enums/MessageEventType.java index b954ddc..868e95c 100644 --- a/snow-common/src/main/java/com/snow/common/enums/MessageEventType.java +++ b/snow-common/src/main/java/com/snow/common/enums/MessageEventType.java @@ -11,6 +11,8 @@ public enum MessageEventType { INNER_TASK_TODO("INNER_TASK_TODO", "站内信任务待办"), + INNER_PROCESS_END("INNER_PROCESS_END", "站内信流程完结"), + TASK_FINISH("TASK_FINISH", "任务完成"), SEND_EMAIL("SEND_EMAIL", "发送邮件"), diff --git a/snow-flowable/src/main/java/com/snow/flowable/listener/common/GlobalListenerConfig.java b/snow-flowable/src/main/java/com/snow/flowable/listener/common/GlobalListenerConfig.java index 742bdc9..de3c2ca 100644 --- a/snow-flowable/src/main/java/com/snow/flowable/listener/common/GlobalListenerConfig.java +++ b/snow-flowable/src/main/java/com/snow/flowable/listener/common/GlobalListenerConfig.java @@ -21,11 +21,13 @@ public class GlobalListenerConfig implements ApplicationListener map= Maps.newHashMap(); + map.put("businessKey", processInstance.getBusinessKey()); + map.put("startTime", DateUtil.formatDateTime(processInstance.getStartTime())); + map.put("processInstance", processInstance.getProcessDefinitionName()); + map.put("spendTime", spendTime); + map.put("processInstanceId", processInstance.getId()); + messageEventDTO.setParamMap(map); + messageEventDTO.setTemplateCode(MessageConstants.INNER_PROCESS_END_CODE); + applicationContext.publishEvent(messageEventDTO); + } + + @Override public boolean isFailOnException() { return false; @@ -66,20 +100,4 @@ public class ProcessEndListener implements FlowableEventListener { return null; } - /** - * 获取流程定义信息 - * - * @param event - * @return - */ - protected ProcessDefinitionEntity getProcessDefinition(FlowableEngineEvent event) { - String processDefinitionId = event.getProcessDefinitionId(); - if (processDefinitionId != null) { - CommandContext commandContext = CommandContextUtil.getCommandContext(); - if (commandContext != null) { - return CommandContextUtil.getProcessDefinitionEntityManager(commandContext).findById(processDefinitionId); - } - } - return null; - } } diff --git a/snow-flowable/src/main/java/com/snow/flowable/listener/common/TaskCreateListener.java b/snow-flowable/src/main/java/com/snow/flowable/listener/common/TaskCreateListener.java index 5d9ae32..d23abae 100644 --- a/snow-flowable/src/main/java/com/snow/flowable/listener/common/TaskCreateListener.java +++ b/snow-flowable/src/main/java/com/snow/flowable/listener/common/TaskCreateListener.java @@ -88,13 +88,13 @@ public class TaskCreateListener implements FlowableEventListener { messageEventDTO.setProducerId(String.valueOf(0)); messageEventDTO.setConsumerIds(Sets.newHashSet(String.valueOf(toUsers.getUserId()))); messageEventDTO.setMessageEventType(MessageEventType.INNER_TASK_TODO); - messageEventDTO.setMessageOutsideId(processInstance.getId()); + messageEventDTO.setMessageOutsideId(entity.getId()); messageEventDTO.setMessageShow(2); Map map= Maps.newHashMap(); map.put("startUser", startSysUser.getUserName()); map.put("startTime", DateUtil.formatDateTime(processInstance.getStartTime())); map.put("processInstance", processInstance.getProcessDefinitionName()); - //map.put("url", "http://localhost/flow/getMyHistoricProcessInstance"); + map.put("taskId", entity.getId()); map.put("taskName", entity.getName()); messageEventDTO.setParamMap(map); messageEventDTO.setTemplateCode(MessageConstants.INNER_TASK_CREATED_CODE); diff --git a/snow-framework/src/main/java/com/snow/framework/web/message/MessageEventHandler.java b/snow-framework/src/main/java/com/snow/framework/web/message/MessageEventHandler.java index 8efe3d6..82d4435 100644 --- a/snow-framework/src/main/java/com/snow/framework/web/message/MessageEventHandler.java +++ b/snow-framework/src/main/java/com/snow/framework/web/message/MessageEventHandler.java @@ -39,6 +39,7 @@ public class MessageEventHandler implements ApplicationListener case "SEND_VISIT_LOG": case "REGISTER_ACCOUNT_SUCCESS": case "INNER_TASK_TODO": + case "INNER_PROCESS_END": messageEventContext.setMessageEventTypeStrategy(new InnerMessageStrategy()); break;