Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lakernote
EasyAdmin
提交
345880c6
E
EasyAdmin
项目概览
lakernote
/
EasyAdmin
9 个月 前同步成功
通知
14
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
EasyAdmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
345880c6
编写于
8月 25, 2021
作者:
lakernote
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
(新增)[整体](增加重置密码功能)
上级
a9022642
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
69 addition
and
16 deletion
+69
-16
src/main/java/com/laker/admin/module/ext/mapper/ExtLogMapper.java
.../java/com/laker/admin/module/ext/mapper/ExtLogMapper.java
+3
-0
src/main/java/com/laker/admin/module/sys/controller/StatisticsController.java
...ker/admin/module/sys/controller/StatisticsController.java
+40
-0
web/admin/index.html
web/admin/index.html
+2
-2
web/admin/view/console/console2.html
web/admin/view/console/console2.html
+24
-14
未找到文件。
src/main/java/com/laker/admin/module/ext/mapper/ExtLogMapper.java
浏览文件 @
345880c6
...
...
@@ -40,4 +40,7 @@ public interface ExtLogMapper extends BaseMapper<ExtLog> {
"LIMIT 10"
)
List
<
LogStatisticsTop10Vo
>
selectStatisticsVisitsTop10IP
();
@Select
(
"SELECT count(DISTINCT ip) from ext_log"
)
int
selectDistinctIp
();
}
src/main/java/com/laker/admin/module/sys/controller/StatisticsController.java
0 → 100644
浏览文件 @
345880c6
package
com.laker.admin.module.sys.controller
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.hutool.core.lang.Dict
;
import
com.laker.admin.framework.Response
;
import
com.laker.admin.module.ext.mapper.ExtLogMapper
;
import
com.laker.admin.module.flow.process.SnakerEngineFacets
;
import
org.snaker.engine.access.QueryFilter
;
import
org.snaker.engine.entity.HistoryTask
;
import
org.snaker.engine.entity.Task
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/sys/statistics"
)
public
class
StatisticsController
{
@Autowired
private
SnakerEngineFacets
snakerEngineFacets
;
@Autowired
ExtLogMapper
extLogMapper
;
@GetMapping
(
"/console"
)
public
Response
get
()
{
List
<
Task
>
activeTasks
=
snakerEngineFacets
.
getEngine
().
query
()
.
getActiveTasks
(
new
QueryFilter
().
setOperator
(
StpUtil
.
getLoginIdAsString
()));
List
<
HistoryTask
>
historyTasks
=
snakerEngineFacets
.
getEngine
().
query
()
.
getHistoryTasks
(
new
QueryFilter
().
setOperator
(
StpUtil
.
getLoginIdAsString
()));
List
<
String
>
sessionIds
=
StpUtil
.
searchTokenValue
(
null
,
-
1
,
1000
);
Dict
res
=
Dict
.
create
().
set
(
"todo"
,
activeTasks
.
size
())
.
set
(
"done"
,
historyTasks
.
size
())
.
set
(
"ip"
,
extLogMapper
.
selectDistinctIp
())
.
set
(
"online"
,
sessionIds
.
size
());
return
Response
.
ok
(
res
);
}
}
web/admin/index.html
浏览文件 @
345880c6
...
...
@@ -27,8 +27,8 @@
<ul
class=
"layui-nav layui-layout-right"
>
<li
class=
"layui-nav-item layui-hide-xs"
><a
href=
"#"
class=
"fullScreen layui-icon layui-icon-screen-full"
></a></li>
<li
class=
"layui-nav-item layui-hide-xs"
><a
href=
"http://www.pearadmin.com"
class=
"layui-icon layui-icon-website"
></a></li
>
<!-- <li class="layui-nav-item layui-hide-xs"><a href="http://www.pearadmin.com"-->
<!-- class="layui-icon layui-icon-website"></a></li>--
>
<li
class=
"layui-nav-item layui-hide-xs message"
></li>
<li
class=
"layui-nav-item user"
>
<!-- 头 像 -->
...
...
web/admin/view/console/console2.html
浏览文件 @
345880c6
...
...
@@ -41,13 +41,15 @@
<span
class=
"pear-card-title"
>
访问日志
</span>
</div>
<div
class=
"layui-col-md3 layui-col-sm3 layui-col-xs3"
>
<div
class=
"pear-card"
data-id=
"home3"
data-title=
"NginxUI"
data-url=
"view/system/nginx.html"
>
<div
class=
"pear-card"
data-id=
"home3"
data-title=
"NginxUI"
data-url=
"view/system/nginx.html"
>
<i
class=
"layui-icon layui-icon-template-1"
></i>
</div>
<span
class=
"pear-card-title"
>
NginxUI
</span>
</div>
<div
class=
"layui-col-md3 layui-col-sm3 layui-col-xs3"
>
<div
class=
"pear-card"
data-id=
"home4"
data-title=
"配套专栏"
data-url=
"https://blog.csdn.net/abu935009066/category_10817814.html"
>
<div
class=
"pear-card"
data-id=
"home4"
data-title=
"配套专栏"
data-url=
"https://blog.csdn.net/abu935009066/category_10817814.html"
>
<i
class=
"layui-icon layui-icon-heart-fill"
></i>
</div>
<span
class=
"pear-card-title"
>
配套专栏
</span>
...
...
@@ -78,32 +80,32 @@
<div
class=
"layui-col-md6"
>
<div
class=
"layui-card"
>
<div
class=
"layui-card-header"
>
代办任务
快捷数据
</div>
<div
class=
"layui-card-body"
>
<div
class=
"layui-row layui-col-space10"
>
<div
class=
"layui-col-md6 layui-col-sm6 layui-col-xs6"
>
<div
class=
"pear-card2"
>
<div
class=
"title"
>
待
审评论
</div>
<div
class=
"count pear-text"
>
2
1
</div>
<div
class=
"title"
>
待
办任务
</div>
<div
class=
"count pear-text"
id=
"card1"
>
1
</div>
</div>
</div>
<div
class=
"layui-col-md6 layui-col-sm6 layui-col-xs6"
>
<div
class=
"pear-card2"
>
<div
class=
"title"
>
待审帖子
</div>
<div
class=
"count pear-text"
>
32
</div>
<div
class=
"title"
>
已办任务
</div>
<div
class=
"count pear-text"
id=
"card2"
>
1
</div>
</div>
</div>
<div
class=
"layui-col-md6 layui-col-sm6 layui-col-xs6"
>
<div
class=
"pear-card2"
>
<div
class=
"title"
>
待审文章
</div>
<div
class=
"count pear-text"
>
14
</div>
<div
class=
"title"
>
IP总数
</div>
<div
class=
"count pear-text"
id=
"card3"
>
1
</div>
</div>
</div>
<div
class=
"layui-col-md6 layui-col-sm6 layui-col-xs6"
>
<div
class=
"pear-card2"
>
<div
class=
"title"
>
待审用户
</div>
<div
class=
"count pear-text"
>
63
</div>
<div
class=
"title"
>
在线人数
</div>
<div
class=
"count pear-text"
id=
"card4"
>
1
</div>
</div>
</div>
</div>
...
...
@@ -162,14 +164,22 @@
<script
src=
"../../component/layui/layui.js"
></script>
<script
src=
"../../component/pear/pear.js"
></script>
<script>
layui
.
use
([
'
layer
'
,
'
echarts
'
,
'
element
'
,
'
table
'
,
'
easyAdmin
'
],
function
()
{
layui
.
use
([
'
echarts
'
,
'
element
'
,
'
easyAdmin
'
],
function
()
{
var
$
=
layui
.
jquery
,
layer
=
layui
.
layer
,
element
=
layui
.
element
,
echarts
=
layui
.
echarts
,
table
=
layui
.
table
,
easyAdmin
=
layui
.
easyAdmin
;
easyAdmin
.
httpGet
(
"
/sys/statistics/console
"
,
function
(
res
)
{
let
data
=
res
.
data
;
$
(
'
#card1
'
).
text
(
data
.
todo
);
$
(
'
#card2
'
).
text
(
data
.
done
);
$
(
'
#card3
'
).
text
(
data
.
ip
);
$
(
'
#card4
'
).
text
(
data
.
online
);
})
let
cols
=
[
[
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录