From fcb4463e5f11573e34feae3a5d38cd2ea1b4d335 Mon Sep 17 00:00:00 2001 From: wanggeng888 <450292408@qq.com> Date: Mon, 17 May 2021 12:10:24 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5=202.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=9F=E8=AE=A1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wgink/gateway/dao/log/IRequestLogDao.java | 3 -- .../gateway/handler/count/CountHandler.java | 37 ++++++----------- .../static/wg/assets/images/logo.png | Bin 0 -> 5057 bytes src/main/resources/static/wg/home.html | 18 +++++--- src/main/resources/static/wg/index.html | 39 +++++++++++++----- 5 files changed, 55 insertions(+), 42 deletions(-) create mode 100644 src/main/resources/static/wg/assets/images/logo.png diff --git a/src/main/java/ink/wgink/gateway/dao/log/IRequestLogDao.java b/src/main/java/ink/wgink/gateway/dao/log/IRequestLogDao.java index 43d8f7a..7689b94 100644 --- a/src/main/java/ink/wgink/gateway/dao/log/IRequestLogDao.java +++ b/src/main/java/ink/wgink/gateway/dao/log/IRequestLogDao.java @@ -23,7 +23,4 @@ public interface IRequestLogDao extends ReactiveMongoRepository countByStartTimeAndEndTime(String startTime, String endTime); - } diff --git a/src/main/java/ink/wgink/gateway/handler/count/CountHandler.java b/src/main/java/ink/wgink/gateway/handler/count/CountHandler.java index bfa1fdc..7ad0d2c 100644 --- a/src/main/java/ink/wgink/gateway/handler/count/CountHandler.java +++ b/src/main/java/ink/wgink/gateway/handler/count/CountHandler.java @@ -19,6 +19,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.aggregation.Aggregation; import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.reactive.function.server.ServerRequest; @@ -62,31 +63,19 @@ public class CountHandler extends BaseHandler { public Mono countHome(ServerRequest serverResponse) { return ServerResponse.ok().contentType(MediaType.TEXT_EVENT_STREAM).body( Flux.interval(Duration.ofSeconds(0), Duration.ofSeconds(15)) - .flatMap(second -> routeTypeDao.count() - .flatMap(routeTypeCount -> routeDao.count() - .flatMap(routeCount -> requestLogDao.count() - .flatMap(requestCount -> { - RequestLog requestLogExample = new RequestLog(); - requestLogExample.setGmtCreate(DateUtil.getDay()); + .flatMap(second -> { + Long routeTypeCount = mongoTemplate.count(new Query(), IRouteTypeDao.COLLECTION_NAME); + Long routeCount = mongoTemplate.count(new Query(), IRouteDao.COLLECTION_NAME); + Long requestCount = mongoTemplate.count(new Query(), IRequestLogDao.COLLECTION_NAME); + Long requestDayCount = mongoTemplate.count(Query.query(Criteria.where("gmtCreate").regex(DateUtil.getDay() +".*")), IRequestLogDao.COLLECTION_NAME); - ExampleMatcher exampleMatcher = ExampleMatcher.matching() - .withMatcher("gmtCreate", ExampleMatcher.GenericPropertyMatcher::contains) - .withIgnoreCase("id"); - Example example = Example.of(requestLogExample, exampleMatcher); - - return requestLogDao.count(example) - .flatMap(requestTodayCount -> { - HomeCount homeCount = new HomeCount(); - homeCount.setRouteTypeCount(routeTypeCount); - homeCount.setRouteCount(routeCount); - homeCount.setRequestCount(requestCount); - homeCount.setRequestTodayCount((Long) requestTodayCount); - return Mono.just(homeCount); - }); - }) - ) - ) - ), + HomeCount homeCount = new HomeCount(); + homeCount.setRouteTypeCount(routeTypeCount); + homeCount.setRouteCount(routeCount); + homeCount.setRequestCount(requestCount); + homeCount.setRequestTodayCount(requestDayCount); + return Mono.just(homeCount); + }), HomeCount.class); } diff --git a/src/main/resources/static/wg/assets/images/logo.png b/src/main/resources/static/wg/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3d035c395ffd7b5127ea5b075d094f9e8a29b1 GIT binary patch literal 5057 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 XwRl5S0aeDU00000NkvXXu0mjfi#T4% literal 0 HcmV?d00001 diff --git a/src/main/resources/static/wg/home.html b/src/main/resources/static/wg/home.html index 749be98..077a531 100644 --- a/src/main/resources/static/wg/home.html +++ b/src/main/resources/static/wg/home.html @@ -145,7 +145,7 @@ }, initRequestLogLineChat: function(data) { var self = this; - if(self.lastRequestLogLineChat) { + if(!data && self.lastRequestLogLineChat) { self.lastRequestLogLineChat.resize(); return; } @@ -158,15 +158,19 @@ seriesData.push(item.count); } var option = { + visualMap: [{ + show: true, + type: 'continuous', + seriesIndex: 0, + min: 0, + max: 1000 + }], title: { text: '最近一小时内接口网关调用次数' }, tooltip: { trigger: 'axis' }, - legend: { - data: legendData - }, grid: { left: '3%', right: '4%', @@ -186,6 +190,10 @@ name: '访问次数', type: 'line', stack: '总量', + smooth: false, + lineStyle: { + width: 3 + }, data: seriesData } ] @@ -195,7 +203,7 @@ self.lastRequestLogLineChat.setOption(option); return; } - self.lastRequestLogLineChat.setOption(option); + self.lastRequestLogLineChat.setOption(option, true); }, sseRequestLogLineChat: function() { var self = this; diff --git a/src/main/resources/static/wg/index.html b/src/main/resources/static/wg/index.html index e921710..b02a464 100644 --- a/src/main/resources/static/wg/index.html +++ b/src/main/resources/static/wg/index.html @@ -10,11 +10,20 @@ +
-
-
    +
    + + +
    -
    +
    首页 -
    +
    @@ -49,6 +62,7 @@ var $ = layui.$; var $win = $(window); var layer = layui.layer; + var homeHref = 'home.html'; window.dialog = layui.dialog; window.restAjax = layui.restajax; window.dataMessage = layui.datamessage; @@ -63,10 +77,15 @@ window.onresize = resize; - $('#defaultIFrame').attr('src', 'home.html'); - - $('.menu-item').on('click', function() { - $('#defaultIFrame').attr('src', this.dataset.href); + $('#defaultIFrame').attr('src', homeHref); + $(document).on('click', '.menu-item', function() { + var href = this.dataset.href; + $('#defaultIFrame').attr('src', href); + if(href === homeHref) { + $('#breadcrumbTitle').empty(); + $('#breadcrumbTitle').append('首页'); + return; + } if($('#subBreadcrumbTitle').length > 0) { $('#subBreadcrumbTitle').empty(); $('#subBreadcrumbTitle').append(''+ this.text +'');