From e401eef546e0b7960ac4e6fa89a7f71d08fdfe36 Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Mon, 10 Mar 2025 21:11:01 +0800 Subject: [PATCH] =?UTF-8?q?perf(bpm):=20=E4=BC=98=E5=8C=96=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=20CC=20=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=80=A7?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在处理流程 CC 列表时,增加了对结果列表的非空判断 - 只有在列表非空的情况下,才进行部门和用户组信息的查询和设置 - 这样可以减少不必要的 API调用,提高接口性能 --- .../definition/BpmProcessCcController.java | 43 +++++++++++-------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java index 6d33ed2f..50ca4dd5 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.definition; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -85,27 +86,31 @@ public class BpmProcessCcController { PageResult pageResult = processCcService.getProcessCcPage(pageReqVO); PageResult respVOPageResult = BeanUtils.toBean(pageResult, BpmProcessCcRespVO.class); - // 获取公司部门Map - Map deptMap = convertMap(deptApi.getCompanyDept().getCheckedData(), DeptRespDTO::getId); - // 获取列表中所有用户组详情 - List groupDOS = groupService.getUserGroupList( - respVOPageResult.getList().stream() - .flatMap(item -> item.getUserGroupId().stream()) - .collect(Collectors.toSet())); - // 转换Map - Map groupNameMap = convertMap(groupDOS, BpmUserGroupDO::getId, BpmUserGroupDO::getName); + if (CollUtil.isNotEmpty(respVOPageResult.getList())) { - respVOPageResult.getList().forEach(data -> { + // 获取公司部门Map + Map deptMap = convertMap(deptApi.getCompanyDept().getCheckedData(), DeptRespDTO::getId); + // 获取列表中所有用户组详情 + List groupDOS = groupService.getUserGroupList( + respVOPageResult.getList().stream() + .flatMap(item -> item.getUserGroupId().stream()) + .collect(Collectors.toSet())); + // 转换Map + Map groupNameMap = convertMap(groupDOS, BpmUserGroupDO::getId, BpmUserGroupDO::getName); + + respVOPageResult.getList().forEach(data -> { + + // 设置用户组名称 + data.setGroupName(data.getUserGroupId().stream() + .map(groupNameMap::get) + .collect(Collectors.joining("、"))); + // 设置公司名称 + data.setCompanyName(data.getCompanyDeptId().stream() + .map(item -> deptMap.get(item) != null ? deptMap.get(item).getName() : "") + .collect(Collectors.joining("、"))); + }); + } - // 设置用户组名称 - data.setGroupName(data.getUserGroupId().stream() - .map(groupNameMap::get) - .collect(Collectors.joining("、"))); - // 设置公司名称 - data.setCompanyName(data.getCompanyDeptId().stream() - .map(item -> deptMap.get(item) != null ? deptMap.get(item).getName() : "") - .collect(Collectors.joining("、"))); - }); return success(respVOPageResult); } } \ No newline at end of file