From 1b3a765c21e03dc76c2b9d4aa0743eb838e4608d Mon Sep 17 00:00:00 2001 From: Flow <958079825@qq.com> Date: Mon, 30 Jun 2025 16:08:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=BA=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alertmessage/AlertMessageServiceImpl.java | 82 +++++++++++++------ 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/alertmessage/AlertMessageServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/alertmessage/AlertMessageServiceImpl.java index 1ae15e3ce3..88d89fe0f6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/alertmessage/AlertMessageServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/alertmessage/AlertMessageServiceImpl.java @@ -117,41 +117,69 @@ public class AlertMessageServiceImpl implements AlertMessageService { // 转换按日期分组的数据 List dailyData = new ArrayList<>(); - for (Map stat : dailyStatistics) { - AlertMessageStatisticsRespVO.DailyAlertData dailyAlertData = new AlertMessageStatisticsRespVO.DailyAlertData(); - // 处理日期类型转换 - Object dateObj = stat.get("date"); - if (dateObj instanceof java.sql.Date) { - dailyAlertData.setDate(((java.sql.Date) dateObj).toLocalDate()); - } else if (dateObj instanceof LocalDate) { - dailyAlertData.setDate((LocalDate) dateObj); + if (dailyStatistics != null) { + for (Map stat : dailyStatistics) { + AlertMessageStatisticsRespVO.DailyAlertData dailyAlertData = new AlertMessageStatisticsRespVO.DailyAlertData(); + // 处理日期类型转换 + Object dateObj = stat.get("date"); + if (dateObj instanceof java.sql.Date) { + dailyAlertData.setDate(((java.sql.Date) dateObj).toLocalDate()); + } else if (dateObj instanceof LocalDate) { + dailyAlertData.setDate((LocalDate) dateObj); + } + dailyAlertData.setTotalCount(getNumberValue(stat, "totalCount")); + dailyAlertData.setReadCount(getNumberValue(stat, "readCount")); + dailyAlertData.setUnreadCount(getNumberValue(stat, "unreadCount")); + dailyAlertData.setSosCount(getNumberValue(stat, "sosCount")); + dailyAlertData.setAnalysisCount(getNumberValue(stat, "analysisCount")); + dailyAlertData.setSosReadCount(getNumberValue(stat, "sosReadCount")); + dailyAlertData.setSosUnreadCount(getNumberValue(stat, "sosUnreadCount")); + dailyAlertData.setAnalysisReadCount(getNumberValue(stat, "analysisReadCount")); + dailyAlertData.setAnalysisUnreadCount(getNumberValue(stat, "analysisUnreadCount")); + dailyData.add(dailyAlertData); } - dailyAlertData.setTotalCount(((Number) stat.get("totalCount")).longValue()); - dailyAlertData.setReadCount(((Number) stat.get("readCount")).longValue()); - dailyAlertData.setUnreadCount(((Number) stat.get("unreadCount")).longValue()); - dailyAlertData.setSosCount(((Number) stat.get("sosCount")).longValue()); - dailyAlertData.setAnalysisCount(((Number) stat.get("analysisCount")).longValue()); - dailyAlertData.setSosReadCount(((Number) stat.get("sosReadCount")).longValue()); - dailyAlertData.setSosUnreadCount(((Number) stat.get("sosUnreadCount")).longValue()); - dailyAlertData.setAnalysisReadCount(((Number) stat.get("analysisReadCount")).longValue()); - dailyAlertData.setAnalysisUnreadCount(((Number) stat.get("analysisUnreadCount")).longValue()); - dailyData.add(dailyAlertData); } // 构建返回结果 AlertMessageStatisticsRespVO result = new AlertMessageStatisticsRespVO(); - result.setTotalCount(((Number) totalStats.get("totalCount")).longValue()); - result.setReadCount(((Number) totalStats.get("readCount")).longValue()); - result.setUnreadCount(((Number) totalStats.get("unreadCount")).longValue()); - result.setSosCount(((Number) totalStats.get("sosCount")).longValue()); - result.setAnalysisCount(((Number) totalStats.get("analysisCount")).longValue()); - result.setSosReadCount(((Number) totalStats.get("sosReadCount")).longValue()); - result.setSosUnreadCount(((Number) totalStats.get("sosUnreadCount")).longValue()); - result.setAnalysisReadCount(((Number) totalStats.get("analysisReadCount")).longValue()); - result.setAnalysisUnreadCount(((Number) totalStats.get("analysisUnreadCount")).longValue()); + if (totalStats != null) { + result.setTotalCount(getNumberValue(totalStats, "totalCount")); + result.setReadCount(getNumberValue(totalStats, "readCount")); + result.setUnreadCount(getNumberValue(totalStats, "unreadCount")); + result.setSosCount(getNumberValue(totalStats, "sosCount")); + result.setAnalysisCount(getNumberValue(totalStats, "analysisCount")); + result.setSosReadCount(getNumberValue(totalStats, "sosReadCount")); + result.setSosUnreadCount(getNumberValue(totalStats, "sosUnreadCount")); + result.setAnalysisReadCount(getNumberValue(totalStats, "analysisReadCount")); + result.setAnalysisUnreadCount(getNumberValue(totalStats, "analysisUnreadCount")); + } else { + // 如果查询结果为空,设置默认值 + result.setTotalCount(0L); + result.setReadCount(0L); + result.setUnreadCount(0L); + result.setSosCount(0L); + result.setAnalysisCount(0L); + result.setSosReadCount(0L); + result.setSosUnreadCount(0L); + result.setAnalysisReadCount(0L); + result.setAnalysisUnreadCount(0L); + } result.setDailyData(dailyData); return result; + } + /** + * 安全地从Map中获取Number值并转换为Long + */ + private Long getNumberValue(Map map, String key) { + Object value = map.get(key); + if (value == null) { + return 0L; + } + if (value instanceof Number) { + return ((Number) value).longValue(); + } + return 0L; } } \ No newline at end of file