From d6ec22408fdf2048f410e06f89a720232e242f3f Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Thu, 10 Feb 2022 20:35:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.1.6=E3=80=91=E3=80=90statistics?= =?UTF-8?q?=E3=80=91=E6=9B=B4=E6=96=B0=E7=BB=9F=E8=AE=A1=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/system/api/PositionServiceApi.java | 1 + .../holder/InterfaceStatisticsHolder.java | 31 ------------------- .../service/Impl/HomePageServiceImpl.java | 12 +++---- .../home/timer/InterfaceStatisticsTimer.java | 24 ++++++++++++++ .../service/impl/HrPositionServiceImpl.java | 4 +-- .../system-spring-boot-starter/pom.xml | 2 +- .../GunsSystemCacheAutoConfiguration.java | 5 ++- ...ystemHomeStatisticsAutoConfiguration.java} | 15 +++++---- .../main/resources/META-INF/spring.factories | 2 +- 9 files changed, 44 insertions(+), 52 deletions(-) delete mode 100644 kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/holder/InterfaceStatisticsHolder.java create mode 100644 kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/timer/InterfaceStatisticsTimer.java rename kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/{GunsSystemAutoConfiguration.java => GunsSystemHomeStatisticsAutoConfiguration.java} (58%) diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java index 9051b77f6..544fe402d 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java @@ -15,4 +15,5 @@ public interface PositionServiceApi { * @date 2022/2/9 9:37 */ Integer PositionNum(); + } diff --git a/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/holder/InterfaceStatisticsHolder.java b/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/holder/InterfaceStatisticsHolder.java deleted file mode 100644 index 7036e8791..000000000 --- a/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/holder/InterfaceStatisticsHolder.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.stylefeng.roses.kernel.system.modular.home.holder; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; -import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; -import cn.stylefeng.roses.kernel.system.modular.home.entity.InterfaceStatistics; -import cn.stylefeng.roses.kernel.system.modular.home.mapper.InterfaceStatisticsMapper; -import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; -import cn.stylefeng.roses.kernel.timer.api.TimerAction; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; - -import javax.annotation.Resource; -import java.util.Map; - -/** - * 定时刷新接口访问次数统计 - * - * @author xixiaowei - * @date 2022/2/9 16:08 - */ -public class InterfaceStatisticsHolder implements TimerAction { - - @Resource - private HomePageService homePageService; - - @Override - public void action(String params) { - homePageService.interfaceStatistics(); - } -} diff --git a/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/Impl/HomePageServiceImpl.java b/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/Impl/HomePageServiceImpl.java index d0c228c95..c15fe6f67 100644 --- a/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/Impl/HomePageServiceImpl.java +++ b/kernel-s-system/system-business-home/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/Impl/HomePageServiceImpl.java @@ -20,12 +20,12 @@ import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.home.entity.InterfaceStatistics; import cn.stylefeng.roses.kernel.system.modular.home.mapper.InterfaceStatisticsMapper; +import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; import javax.annotation.Resource; import java.util.ArrayList; @@ -59,8 +59,8 @@ public class HomePageServiceImpl extends ServiceImpl interCacheApi; + @Resource(name = "interCountCacheApi") + private CacheOperatorApi interCountCacheApi; @Override public List getDynamicList(LogManagerRequest logManagerRequest) { @@ -153,10 +153,10 @@ public class HomePageServiceImpl extends ServiceImpl allKeyValues = interCacheApi.getAllKeyValues(); + Map allKeyValues = interCountCacheApi.getAllKeyValues(); if (ObjectUtil.isNotNull(allKeyValues.keySet())) { for (String key : allKeyValues.keySet()) { - String value = interCacheApi.get(key); + String value = interCountCacheApi.get(key); InterfaceStatistics statistics = this.getOne(Wrappers.lambdaQuery().eq(InterfaceStatistics::getInterfaceUrl, value)); // 不存在的数据添加 if (ObjectUtil.isNull(statistics)) { @@ -175,7 +175,7 @@ public class HomePageServiceImpl extends ServiceImpl list = this.list(); - return list.size(); + return this.count(); } + } diff --git a/kernel-s-system/system-spring-boot-starter/pom.xml b/kernel-s-system/system-spring-boot-starter/pom.xml index 6bb501322..166438119 100644 --- a/kernel-s-system/system-spring-boot-starter/pom.xml +++ b/kernel-s-system/system-spring-boot-starter/pom.xml @@ -79,7 +79,7 @@ ${roses.version} - + cn.stylefeng.roses system-business-home diff --git a/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemCacheAutoConfiguration.java b/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemCacheAutoConfiguration.java index bbae6916c..fc02b105d 100644 --- a/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemCacheAutoConfiguration.java +++ b/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemCacheAutoConfiguration.java @@ -31,7 +31,6 @@ import cn.stylefeng.roses.kernel.system.api.constants.InterfaceStatisticsCacheCo import cn.stylefeng.roses.kernel.system.api.constants.SystemCachesConstants; import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserOrgDTO; -import cn.stylefeng.roses.kernel.system.modular.home.aop.InterfaceStatisticsAop; import cn.stylefeng.roses.kernel.system.modular.home.cache.InterfaceStatisticsMemoryCache; import cn.stylefeng.roses.kernel.system.modular.role.cache.RoleDataScopeMemoryCache; import cn.stylefeng.roses.kernel.system.modular.role.cache.RoleMemoryCache; @@ -155,8 +154,8 @@ public class GunsSystemCacheAutoConfiguration { * @date 2022/2/9 16:53 */ @Bean - @ConditionalOnMissingBean(name = "interCacheApi") - public CacheOperatorApi interCacheApi() { + @ConditionalOnMissingBean(name = "interCountCacheApi") + public CacheOperatorApi interCountCacheApi() { TimedCache timedCache = CacheUtil.newTimedCache(InterfaceStatisticsCacheConstants.INTERFACE_STATISTICS_CACHE_TIMEOUT_SECONDS); return new InterfaceStatisticsMemoryCache(timedCache); } diff --git a/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemAutoConfiguration.java b/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemHomeStatisticsAutoConfiguration.java similarity index 58% rename from kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemAutoConfiguration.java rename to kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemHomeStatisticsAutoConfiguration.java index 8b363b986..7fbe7f8ef 100644 --- a/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemAutoConfiguration.java +++ b/kernel-s-system/system-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/system/starter/GunsSystemHomeStatisticsAutoConfiguration.java @@ -1,19 +1,18 @@ package cn.stylefeng.roses.kernel.system.starter; import cn.stylefeng.roses.kernel.system.modular.home.aop.InterfaceStatisticsAop; -import cn.stylefeng.roses.kernel.system.modular.home.holder.InterfaceStatisticsHolder; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import cn.stylefeng.roses.kernel.system.modular.home.timer.InterfaceStatisticsTimer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** - * 系统自动配置 + * 首页统计数据的装载 * * @author xixiaowei * @date 2022/2/9 17:57 */ @Configuration -public class GunsSystemAutoConfiguration { +public class GunsSystemHomeStatisticsAutoConfiguration { /** * 接口统计的AOP @@ -27,14 +26,14 @@ public class GunsSystemAutoConfiguration { } /** - * 定时统计接口访问次数 + * 定时将统计数据存入数据库 * * @author xixiaowei * @date 2022/2/9 17:58 */ @Bean - @ConditionalOnMissingBean(InterfaceStatisticsHolder.class) - public InterfaceStatisticsHolder interfaceStatisticsHolder() { - return new InterfaceStatisticsHolder(); + public InterfaceStatisticsTimer interfaceStatisticsHolder() { + return new InterfaceStatisticsTimer(); } + } diff --git a/kernel-s-system/system-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kernel-s-system/system-spring-boot-starter/src/main/resources/META-INF/spring.factories index db4232702..09ce781fc 100644 --- a/kernel-s-system/system-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ b/kernel-s-system/system-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -1,4 +1,4 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ cn.stylefeng.roses.kernel.system.starter.GunsSystemCacheAutoConfiguration,\ cn.stylefeng.roses.kernel.system.starter.GunsResourceCacheAutoConfiguration,\ - cn.stylefeng.roses.kernel.system.starter.GunsSystemAutoConfiguration + cn.stylefeng.roses.kernel.system.starter.GunsSystemHomeStatisticsAutoConfiguration