diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/AppStatisticsServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/AppStatisticsServiceImpl.java index a4ae4a8d..199b4707 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/AppStatisticsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/AppStatisticsServiceImpl.java @@ -273,6 +273,15 @@ public class AppStatisticsServiceImpl implements AppStatisticsService { vo.setPayOfOrderAmount(payOfOrderAmount.setScale(2, RoundingMode.HALF_UP)); vo.setRefundOfOrderNum(refundOfOrderNum); vo.setRefundOfOrderAmount(refundOfOrderAmount.setScale(2, RoundingMode.HALF_UP)); + + // 仅对当天数据启用 Redis 缓存(短期缓存,减少实时查询压力) + // 历史数据已在 scenic_stats 表中持久化,不需要 Redis 缓存 + if (!query.isRealtime() && query.getStartTime() != null) { + // 判断查询日期是否为今天 + if (DateUtil.isSameDay(query.getStartTime(), new Date())) { + redisTemplate.opsForValue().set(redisKey, JacksonUtil.toJSONString(vo), 60, TimeUnit.SECONDS); + } + } return ApiResponse.success(vo); } finally { lock.unlock(); diff --git a/src/main/java/com/ycwl/basic/task/ScenicStatsTask.java b/src/main/java/com/ycwl/basic/task/ScenicStatsTask.java index 88db088c..ba34d63a 100644 --- a/src/main/java/com/ycwl/basic/task/ScenicStatsTask.java +++ b/src/main/java/com/ycwl/basic/task/ScenicStatsTask.java @@ -60,7 +60,8 @@ public class ScenicStatsTask { }); } } - @Scheduled(cron = "0 0 2 * * *") + @Scheduled(cron = "0 0 3 * * *") + @Scheduled(cron = "0 1 0 * * *") public void countScenicStats() { log.info("开始执行景区统计任务,统计前7天至昨天的数据");