diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConsts.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConsts.java index 49f3a0853181cddf56947f097afa36e9ed17219a..b5ad445995895ded9cf4426fdbc45474584c45d5 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConsts.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConsts.java @@ -52,4 +52,9 @@ public class CacheConsts { * 菜单缓存键前缀 */ public static final String MENU_KEY_PREFIX = "MENU"; + + /** + * 仪表盘缓存键前缀 + */ + public static final String DASHBOARD_KEY_PREFIX = "DASHBOARD"; } diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/DashboardServiceImpl.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/DashboardServiceImpl.java index 09a8eb5751b51d69a851e479e0e5748017704cda..797ed2be99d818b7790936593aea3af9391c5474 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/DashboardServiceImpl.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/DashboardServiceImpl.java @@ -22,13 +22,15 @@ import java.util.Map; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.NumberUtil; +import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardGeoDistributionVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO; @@ -44,9 +46,9 @@ import top.charles7c.cnadmin.system.service.AnnouncementService; * @author Charles7c * @since 2023/9/8 21:32 */ -@Slf4j @Service @RequiredArgsConstructor +@CacheConfig(cacheNames = CacheConsts.DASHBOARD_KEY_PREFIX) public class DashboardServiceImpl implements DashboardService { private final LogService logService; @@ -65,6 +67,7 @@ public class DashboardServiceImpl implements DashboardService { } @Override + @Cacheable(key = "#days") public List listAccessTrend(Integer days) { return logService.listDashboardAccessTrend(days); } diff --git a/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml b/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml index 353a7841f3315bc746884b7b8668416deeceac87..3ec3efcec8a737c42ea4ece39de1ddc074055eaa 100644 --- a/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml +++ b/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml @@ -17,6 +17,7 @@ COUNT(DISTINCT `client_ip`) AS ipCount FROM `sys_log` GROUP BY DATE(`create_time`) + HAVING `date` != CURDATE() ORDER BY DATE(`create_time`) DESC LIMIT #{days}