From b69682c2d08cfadda8f476d6a9846c465fcd4bcf Mon Sep 17 00:00:00 2001 From: hanjian <272005125@qq.com> Date: Sun, 8 Sep 2024 20:32:22 +0800 Subject: [PATCH] update --- .../controller/tool/WorkflowController.java | 15 +++++++++ .../rzdata/web/service/WorkflowService.java | 33 +++++++++++++++++++ .../main/resources/mapper/TzMessageMapper.xml | 1 + .../common/core/domain/entity/SysDept.java | 12 +++++++ .../service/impl/SysDeptServiceImpl.java | 10 ++++++ .../resources/mapper/system/SysDeptMapper.xml | 6 +++- 6 files changed, 76 insertions(+), 1 deletion(-) diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/WorkflowController.java b/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/WorkflowController.java index 5b6d5d0..efec991 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/WorkflowController.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/WorkflowController.java @@ -4,6 +4,7 @@ import com.blueland.bpmclient.model.*; import com.rzdata.common.core.controller.BaseController; import com.rzdata.common.core.domain.AjaxResult; import com.rzdata.common.core.domain.entity.SysUser; +import com.rzdata.common.core.domain.model.LoginUser; import com.rzdata.common.utils.SecurityUtils; import com.rzdata.common.utils.StringUtils; import com.rzdata.system.service.ISysConfigService; @@ -616,4 +617,18 @@ public class WorkflowController extends BaseController { public AjaxResult getRecordbyPorcInstId(@PathVariable String procInstId) throws Exception{ return AjaxResult.success(workflowService.getRecordbyPorcInstId(procInstId)); } + + /** + * 获取用户的消息数量(代办/消息中心) + */ + @GetMapping("/msg/count") + public AjaxResult msgCount() { + AjaxResult ajax = AjaxResult.success(); + LoginUser loginUser = getLoginUser(); + Map resultMap = workflowService.selectUserMsgCount(loginUser.getUser()); + ajax.put("msgCount", resultMap.get("msgCount")); + ajax.put("taskCount", resultMap.get("taskCount")); + ajax.put("totalMsgCount", resultMap.get("totalMsgCount")); + return ajax; + } } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/WorkflowService.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/WorkflowService.java index d6220b6..d708952 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/WorkflowService.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/WorkflowService.java @@ -8,6 +8,7 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.blueland.bpmclient.BpmClient; import com.blueland.bpmclient.model.*; +import com.google.common.collect.Maps; import com.rzdata.common.core.domain.entity.SysUser; import com.rzdata.common.utils.SecurityUtils; import com.rzdata.common.utils.StringUtils; @@ -54,6 +55,10 @@ public class WorkflowService { @Autowired IWorkflowLogService iWorkflowLogService; + + @Autowired + private ITzMessageService tzMessageService; + private final static String CUR_ACT_DEF_KEY = "curActDef"; private final static String CUR_ACT_INST_KEY = "curActInst"; private final static String PROC_INST_KEY = "procInst"; @@ -790,4 +795,32 @@ public class WorkflowService { String url = String.format("%s/%s?procInstId=%s", bpmcConfig.getServiceUrl(), workflowConfig.getRecordQueryUrl(), porcInstId); return JSONArray.parseArray(getBpmClient().get(url)); } + + public Map selectUserMsgCount(SysUser user) { + Map resultMap = Maps.newHashMap(); + int totalMsgCount = 0; + int msgCount = 0; + int taskCount = 0; + try { + msgCount = tzMessageService.selectTzMessageByUserCount(String.valueOf(user.getUserId())); + totalMsgCount = msgCount; + resultMap.put("msgCount", msgCount); + } catch (Exception e){ + log.error("查询消息中心未读消息数量异常", e); + } + try { + SearchQuery searchQuery = new SearchQuery(); + searchQuery.setRecUserId(user.getUserName()); + searchQuery.setStatus(1); + Map resultRecordCount = getRecordCount(searchQuery); + taskCount = resultRecordCount.get("count"); + totalMsgCount += taskCount; + } catch (Exception e){ + log.error("查询待办消息数量异常", e); + } + resultMap.put("msgCount", msgCount); + resultMap.put("taskCount", taskCount); + resultMap.put("totalMsgCount", totalMsgCount); + return resultMap; + } } diff --git a/tool-tech-admin/src/main/resources/mapper/TzMessageMapper.xml b/tool-tech-admin/src/main/resources/mapper/TzMessageMapper.xml index 2aa7071..b5f34a4 100644 --- a/tool-tech-admin/src/main/resources/mapper/TzMessageMapper.xml +++ b/tool-tech-admin/src/main/resources/mapper/TzMessageMapper.xml @@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and business_type = #{businessType} and deleted = '0' + order by create_time desc