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; }