From a1c20afb1b9eb447f62bfd2e4f2996dfdf37c8ca Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sat, 9 Sep 2023 21:39:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E4=BB=AA=E8=A1=A8?= =?UTF-8?q?=E7=9B=98=E8=AE=BF=E9=97=AE=E8=B6=8B=E5=8A=BF=E5=8C=BA=E5=9D=97?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cnadmin/monitor/mapper/LogMapper.java | 15 +- .../model/vo/DashboardAccessTrendVO.java | 54 +++++ .../monitor/service/DashboardService.java | 14 +- .../cnadmin/monitor/service/LogService.java | 9 +- .../service/impl/DashboardServiceImpl.java | 6 + .../monitor/service/impl/LogServiceImpl.java | 5 + .../src/main/resources/mapper/LogMapper.xml | 12 + continew-admin-ui/src/api/common/dashboard.ts | 22 +- .../workplace/components/access-trend.vue | 216 ++++++++++++++++++ .../workplace/components/content-chart.vue | 200 ---------------- .../dashboard/workplace/components/docs.vue | 5 +- .../workplace/components/geo-distribution.vue | 11 +- .../src/views/dashboard/workplace/index.vue | 2 +- .../views/dashboard/workplace/locale/en-US.ts | 4 +- .../views/dashboard/workplace/locale/zh-CN.ts | 4 +- .../common/DashboardController.java | 13 ++ 16 files changed, 369 insertions(+), 223 deletions(-) create mode 100644 continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/model/vo/DashboardAccessTrendVO.java create mode 100644 continew-admin-ui/src/views/dashboard/workplace/components/access-trend.vue delete mode 100644 continew-admin-ui/src/views/dashboard/workplace/components/content-chart.vue diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/mapper/LogMapper.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/mapper/LogMapper.java index ce99e3c..5e8ed24 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/mapper/LogMapper.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/mapper/LogMapper.java @@ -19,8 +19,11 @@ package top.charles7c.cnadmin.monitor.mapper; import java.util.List; import java.util.Map; +import org.apache.ibatis.annotations.Param; + import top.charles7c.cnadmin.common.base.BaseMapper; import top.charles7c.cnadmin.monitor.model.entity.LogDO; +import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardTotalVO; @@ -39,9 +42,19 @@ public interface LogMapper extends BaseMapper { */ DashboardTotalVO selectDashboardTotal(); + /** + * 查询仪表盘访问趋势信息 + * + * @param days + * 日期数 + * + * @return 仪表盘访问趋势信息 + */ + List selectListDashboardAccessTrend(@Param("days") Integer days); + /** * 查询仪表盘热门模块列表 - * + * * @return 仪表盘热门模块列表 */ List selectListDashboardPopularModule(); diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/model/vo/DashboardAccessTrendVO.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/model/vo/DashboardAccessTrendVO.java new file mode 100644 index 0000000..3ff0719 --- /dev/null +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/model/vo/DashboardAccessTrendVO.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.cnadmin.monitor.model.vo; + +import java.io.Serializable; + +import lombok.Data; + +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * 仪表盘-访问趋势信息 + * + * @author Charles7c + * @since 2023/9/9 20:20 + */ +@Data +@Schema(description = "仪表盘-访问趋势信息") +public class DashboardAccessTrendVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 日期 + */ + @Schema(description = "日期", example = "2023-08-08") + private String date; + + /** + * 浏览量(PV) + */ + @Schema(description = "浏览量(PV)", example = "1000") + private Long pvCount; + + /** + * IP 数 + */ + @Schema(description = "IP 数", example = "500") + private Long ipCount; +} diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/DashboardService.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/DashboardService.java index 8f2d14f..26b0faf 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/DashboardService.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/DashboardService.java @@ -18,6 +18,7 @@ package top.charles7c.cnadmin.monitor.service; import java.util.List; +import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardGeoDistributionVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardTotalVO; @@ -38,16 +39,25 @@ public interface DashboardService { */ DashboardTotalVO getTotal(); + /** + * 查询访问趋势信息 + * + * @param days + * 日期数 + * @return 访问趋势信息 + */ + List listAccessTrend(Integer days); + /** * 查询热门模块列表 - * + * * @return 热门模块列表 */ List listPopularModule(); /** * 查询访客地域分布信息 - * + * * @return 访客地域分布信息 */ DashboardGeoDistributionVO getGeoDistribution(); diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/LogService.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/LogService.java index f0f35e6..46f4cf9 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/LogService.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/LogService.java @@ -83,9 +83,16 @@ public interface LogService { */ DashboardTotalVO getDashboardTotal(); + /** + * 查询仪表盘访问趋势信息 + * + * @return 仪表盘访问趋势信息 + */ + List listDashboardAccessTrend(Integer days); + /** * 查询仪表盘热门模块列表 - * + * * @return 仪表盘热门模块列表 */ List listDashboardPopularModule(); 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 51a2d6b..09a8eb5 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 @@ -29,6 +29,7 @@ import org.springframework.stereotype.Service; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.NumberUtil; +import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardGeoDistributionVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardTotalVO; @@ -63,6 +64,11 @@ public class DashboardServiceImpl implements DashboardService { return totalVO; } + @Override + public List listAccessTrend(Integer days) { + return logService.listDashboardAccessTrend(days); + } + @Override public List listPopularModule() { List popularModuleList = logService.listDashboardPopularModule(); diff --git a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/LogServiceImpl.java b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/LogServiceImpl.java index 0024864..205dc89 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/LogServiceImpl.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/service/impl/LogServiceImpl.java @@ -151,6 +151,11 @@ public class LogServiceImpl implements LogService { return logMapper.selectDashboardTotal(); } + @Override + public List listDashboardAccessTrend(Integer days) { + return logMapper.selectListDashboardAccessTrend(days); + } + @Override public List listDashboardPopularModule() { return logMapper.selectListDashboardPopularModule(); diff --git a/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml b/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml index 0934a66..353a784 100644 --- a/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml +++ b/continew-admin-monitor/src/main/resources/mapper/LogMapper.xml @@ -9,6 +9,18 @@ (SELECT COUNT(*) FROM `sys_log` WHERE DATE(`create_time`) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)) AS yesterdayPvCount + +