From 7b88322ffaf195a373e9bbcb8f209b306bc9fe25 Mon Sep 17 00:00:00 2001 From: ziin Date: Tue, 9 Sep 2025 20:55:46 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E5=88=B0=E5=91=98=E5=B7=A5=E4=BB=8A=E6=97=A5=E5=BB=BA?= =?UTF-8?q?=E8=81=94=E6=95=B0=E9=87=8F=E7=A9=BA=E6=8C=87=E9=92=88=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmployeeHostsServiceImpl.java | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java index 904238f..ffc0195 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java @@ -185,16 +185,31 @@ public class EmployeeHostsServiceImpl implements EmployeeHostsService { List dbList = employeeHostsMapper.selectEmployeeHostsCompleteBarChart(userIdList); -// 2. 转 Map,key 是 userId - Map dbMap = dbList.stream() - .collect(Collectors.toMap(CompletedRateVO::getUserId, Function.identity())); -// 3. 组装结果 - List result = userIdList.stream() - .map(userId -> dbMap.getOrDefault(userId, new CompletedRateVO(userId, 0))) // 缺数据补0 - .collect(Collectors.toList()); + try { + // 2. 转 Map,key 是 userId + Map dbMap = dbList.stream() + .collect(Collectors.toMap( + CompletedRateVO::getUserId, + Function.identity(), + (oldVal, newVal) -> newVal)); // 重复时保留新的 + // 3. 组装结果 + List result = userIdList.stream() + .map(userId -> dbMap.getOrDefault(userId, new CompletedRateVO(userId, 0))) // 缺数据补0 + .collect(Collectors.toList()); + return result; + } catch (Exception e) { + ArrayList nullData = new ArrayList<>(); + for (Long userId : userIdList) { + nullData.add(new CompletedRateVO(userId, 0)); + } + return nullData; + } + + + + - return result; }