Skip to content

Commit 008793f

Browse files
author
shimingxy
committed
MGT main report
1 parent 3560ed9 commit 008793f

File tree

8 files changed

+310
-201
lines changed

8 files changed

+310
-201
lines changed

maxkey-dao/src/main/java/org/maxkey/dao/persistence/ReportMapper.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,18 @@
1616
*/
1717
public interface ReportMapper extends IJpaBaseMapper<JpaBaseDomain> {
1818

19-
public List<Map<String,Object>> analysisDay(String reportDate);
19+
public Integer analysisDay(String reportParameter);
20+
public Integer analysisNewUsers(String reportParameter);
21+
public Integer analysisOnlineUsers(String reportParameter);
22+
public Integer analysisActiveUsers(String reportParameter);
2023

21-
public List<Map<String,Object>> analysisMonth(String reportDate);
24+
public List<Map<String,Object>> analysisDayHour(String reportParameter);
2225

23-
public List<Map<String,Object>> analysisYear(Integer reportYear);
26+
public List<Map<String,Object>> analysisMonth(String reportParameter);
2427

25-
public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportDate);
28+
public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportParameter);
2629

27-
public List<Map<String,Object>> analysisApp(Map<String,Object> reportDate);
28-
29-
public List<Map<String,Object>> analysisYears();
30+
public List<Map<String,Object>> analysisApp(Map<String,Object> reportParameter );
3031

3132

3233
}

maxkey-dao/src/main/java/org/maxkey/dao/service/ReportService.java

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,41 @@
1111
@Service
1212
public class ReportService extends JpaBaseService<JpaBaseDomain>{
1313

14+
public Integer analysisDay(String reportParameter) {
15+
return getMapper().analysisDay(reportParameter);
16+
};
1417

15-
public List<Map<String,Object>> analysisDay(String reportDate){
16-
return getMapper().analysisDay(reportDate);
17-
}
18+
public Integer analysisNewUsers(String reportParameter) {
19+
return getMapper().analysisNewUsers(reportParameter);
20+
};
1821

19-
public List<Map<String,Object>> analysisMonth(String reportDate){
20-
return getMapper().analysisMonth(reportDate);
21-
}
22+
public Integer analysisOnlineUsers(String reportParameter) {
23+
return getMapper().analysisOnlineUsers(reportParameter);
24+
};
25+
26+
public Integer analysisActiveUsers(String reportParameter) {
27+
return getMapper().analysisActiveUsers(reportParameter);
28+
};
2229

23-
public List<Map<String,Object>> analysisYear(Integer reportYear){
24-
return getMapper().analysisYear(reportYear);
30+
public List<Map<String,Object>> analysisDayHour(String reportParameter){
31+
return getMapper().analysisDayHour(reportParameter);
2532
}
2633

27-
public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportDate){
28-
return getMapper().analysisBrowser(reportDate);
34+
public List<Map<String,Object>> analysisMonth(String reportParameter){
35+
return getMapper().analysisMonth(reportParameter);
2936
}
3037

31-
public List<Map<String,Object>> analysisApp(Map<String,Object> reportDate){
32-
return getMapper().analysisApp(reportDate);
38+
39+
public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportParameter){
40+
return getMapper().analysisBrowser(reportParameter);
3341
}
3442

35-
public List<Map<String,Object>> analysisYears(){
36-
return getMapper().analysisYears();
43+
public List<Map<String,Object>> analysisApp(Map<String,Object> reportParameter){
44+
return getMapper().analysisApp(reportParameter);
3745
}
3846

3947

48+
4049
public ReportService() {
4150
super(ReportMapper.class);
4251

maxkey-dao/src/main/resources/org/maxkey/dao/persistence/xml/mysql/ReportMapper.xml

Lines changed: 44 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,68 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
33
<mapper namespace="org.maxkey.dao.persistence.ReportMapper" >
4-
5-
<select id="analysisDay" parameterType="String" resultType="Map">
4+
<!-- DAY COUNT 一天访问量 -->
5+
<select id="analysisDay" parameterType="String" resultType="Integer">
66
SELECT
7-
COUNT(ID) REPORTCOUNT, HOUR(LOGINTIME) REPORTHOUR
8-
FROM SECDB.LOGIN_HISTORY
7+
COUNT(ID) REPORTCOUNT
8+
FROM history_login
99
WHERE
10-
DATE(LOGINTIME) = DATE(#{value})
11-
GROUP BY REPORTHOUR
10+
DATE(LOGINTIME) =curdate()
1211
</select>
13-
14-
<select id="analysisMonth" parameterType="String" resultType="Map">
15-
SELECT
16-
REPORTCOUNT,
17-
REPORTYEAR,
18-
REPORTMONTH,
19-
REPORTDAY
20-
FROM
21-
REPORT_LOGIN_DAY
22-
12+
<!-- 本月新用户统计 -->
13+
<select id="analysisNewUsers" parameterType="String" resultType="Integer">
14+
SELECT COUNT(*) REPORTCOUNT FROM USERINFO
2315
WHERE
24-
REPORTYEAR=YEAR(#{value})
25-
AND REPORTMONTH=MONTH(#{value})
26-
27-
ORDER BY REPORTYEAR ,REPORTMONTH,REPORTDAY
16+
last_day(CREATEDDATE) =last_day(curdate())
2817
</select>
29-
30-
<select id="analysisYear" parameterType="Integer" resultType="Map">
31-
SELECT
32-
REPORTCOUNT,
33-
REPORTYEAR,
34-
REPORTMONTH
35-
FROM
36-
REPORT_LOGIN_MONTH
18+
<!-- 在线用户统计 -->
19+
<select id="analysisOnlineUsers" parameterType="String" resultType="Integer">
20+
SELECT COUNT(*) REPORTCOUNT FROM USERINFO
21+
WHERE
22+
LASTLOGINTIME -LASTLOGOFFTIME
23+
</select>
24+
<!-- 30天活跃用户统计 -->
25+
<select id="analysisActiveUsers" parameterType="String" resultType="Integer">
26+
SELECT COUNT(*) REPORTCOUNT FROM USERINFO
3727
WHERE
38-
REPORTYEAR=#{value}
39-
GROUP BY REPORTYEAR ,REPORTMONTH
28+
DATE(LASTLOGINTIME) >date_add(curdate(), interval - day(curdate()) -31 day)
4029
</select>
4130

42-
<select id="analysisYears" parameterType="Integer" resultType="Map">
31+
<!-- DAY HOUR COUNT 当天每小时 -->
32+
<select id="analysisDayHour" parameterType="String" resultType="Map">
4333
SELECT
44-
SUM(REPORTCOUNT) REPORTCOUNT,
45-
REPORTYEAR
46-
FROM
47-
REPORT_LOGIN_MONTH
48-
GROUP BY REPORTYEAR
34+
COUNT(ID) REPORTCOUNT, HOUR(LOGINTIME) REPORTSTRING
35+
FROM history_login
36+
WHERE
37+
DATE(LOGINTIME) =curdate()
38+
GROUP BY REPORTSTRING
39+
</select>
40+
<!-- 30 DAY COUNT 最近30天每天访问量-->
41+
<select id="analysisMonth" parameterType="String" resultType="Map">
42+
SELECT
43+
COUNT(ID) REPORTCOUNT, DATE(LOGINTIME) REPORTSTRING
44+
FROM history_login
45+
WHERE
46+
DATE(LOGINTIME) >date_add(curdate(), interval - day(curdate()) -31 day)
47+
GROUP BY REPORTSTRING
4948
</select>
5049

50+
<!-- 30天浏览器的访问统计 -->
5151
<select id="analysisBrowser" parameterType="Map" resultType="Map">
52-
SELECT COUNT(ID)REPORTCOUNT,BROWSER
53-
FROM LOGIN_HISTORY
52+
SELECT
53+
COUNT(ID) REPORTCOUNT, BROWSER REPORTSTRING
54+
FROM history_login
5455
WHERE
55-
LOGINTIME BETWEEN #{startDate} AND #{endDate}
56-
GROUP BY BROWSER ORDER BY REPORTCOUNT DESC
56+
DATE(LOGINTIME) >date_add(curdate(), interval - day(curdate()) -31 day)
57+
GROUP BY REPORTSTRING
5758
</select>
5859

60+
<!-- 30天应用单点登录的访问统计 -->
5961
<select id="analysisApp" parameterType="Map" resultType="Map">
6062
SELECT COUNT(ID) REPORTCOUNT,APPNAME
61-
FROM LOGIN_APPS_HISTORY
63+
FROM HISTORY_LOGIN_APPS
6264
WHERE
63-
LOGINTIME BETWEEN #{startDate} AND #{endDate}
65+
DATE(LOGINTIME) >date_add(curdate(), interval - day(curdate()) -31 day)
6466
GROUP BY APPNAME ORDER BY REPORTCOUNT DESC
6567
</select>
6668

maxkey-web-manage/src/main/java/org/maxkey/web/contorller/AccountsController.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import org.maxkey.dao.service.AppsService;
88
import org.maxkey.dao.service.UserInfoService;
99
import org.maxkey.domain.Accounts;
10-
import org.maxkey.domain.UserInfo;
11-
import org.maxkey.domain.apps.Apps;
1210
import org.maxkey.web.WebContext;
1311
import org.maxkey.web.message.Message;
1412
import org.maxkey.web.message.MessageType;

maxkey-web-manage/src/main/java/org/maxkey/web/endpoint/IndexEndpoint.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package org.maxkey.web.endpoint;
22

3+
import org.maxkey.dao.service.ReportService;
34
import org.slf4j.Logger;
45
import org.slf4j.LoggerFactory;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.beans.factory.annotation.Qualifier;
58
import org.springframework.stereotype.Controller;
69
import org.springframework.web.bind.annotation.RequestMapping;
710
import org.springframework.web.servlet.ModelAndView;
@@ -15,13 +18,24 @@
1518
public class IndexEndpoint {
1619

1720
private static Logger _logger = LoggerFactory.getLogger(IndexEndpoint.class);
18-
21+
@Autowired
22+
@Qualifier("reportService")
23+
ReportService reportService;
1924

2025
@RequestMapping(value={"/main"})
2126
public ModelAndView home() {
2227
_logger.debug("IndexController /main.");
28+
ModelAndView mainMView=new ModelAndView("main");
29+
mainMView.addObject("rptDayCount", reportService.analysisDay(""));
30+
mainMView.addObject("rptNewUsers", reportService.analysisNewUsers(""));
31+
mainMView.addObject("rptOnlineUsers", reportService.analysisOnlineUsers(""));
32+
mainMView.addObject("rptActiveUsers", reportService.analysisActiveUsers(""));
2333

24-
return new ModelAndView("main");
34+
mainMView.addObject("rptMonth", reportService.analysisMonth(""));
35+
mainMView.addObject("rptDayHour", reportService.analysisDayHour(""));
36+
mainMView.addObject("rptBrowser", reportService.analysisBrowser(null));
37+
mainMView.addObject("rptApp", reportService.analysisApp(null));
38+
return mainMView;
2539
}
2640

2741
@RequestMapping(value={"/"})

maxkey-web-manage/src/main/resources/messages/message.properties

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,18 @@ common.text.status.expired=\u8FC7\u671F
5151
common.text.status.delete=\u5220\u9664
5252
common.text.description=\u63CF\u8FF0
5353

54-
54+
main.rpt.newuser=\u5F53\u6708\u65B0\u7528\u6237
55+
main.rpt.activeuser=\u672C\u6708\u6D3B\u8DC3\u7528\u6237
56+
main.rpt.onlineuser=\u7528\u6237\u5728\u7EBF
57+
main.rpt.daycount=\u5F53\u5929\u8BBF\u95EE\u91CF
58+
main.rpt.dayhour=\u5F53\u5929\u8BBF\u95EE\u60C5\u51B5
59+
main.rpt.month=30\u5929\u8BBF\u95EE\u60C5\u51B5
60+
main.rpt.count=\u8BBF\u95EE\u91CF
61+
main.rpt.appaccess=30\u5929\u5E94\u7528\u8BBF\u95EE\u7EDF\u8BA1
62+
main.rpt.app=\u5E94\u7528\u540D\u79F0
63+
main.rpt.browseraccess=30\u5929\u6D4F\u89C8\u5668\u7EDF\u8BA1
64+
main.rpt.browser=\u6D4F\u89C8\u5668
65+
5566
login.text.login.twofactor.obtain.valid=\u91CD\u65B0\u83B7\u53D6
5667
login.text.login.twofactor.obtain=\u83B7\u53D6\u52A8\u6001\u9A8C\u8BC1\u7801
5768
login.text.login.twofactor.obtain.valid.unit=\u79D2

maxkey-web-manage/src/main/resources/messages/message_en.properties

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ global.text.copyright=CopyRight
99
global.text.copyright.content=Copyright 2018-2020 shimingxy@163.com
1010
global.text.copyright.license=Licensed under the Apache License, Version 2.0
1111
global.text.logout=Logout
12-
global.logout.tip=Tip
12+
global.logout.tip=Logout Tip
1313
global.logout.text.suffix=re-login
1414
global.logout.text.prefix=You have successfully logged out. Please close your browser or
1515
login.session.timeout.tip=Login session timeout
@@ -51,6 +51,19 @@ common.text.status.expired=expired
5151
common.text.status.delete=delete
5252
common.text.description=description
5353

54+
55+
main.rpt.newuser=New Users/Month
56+
main.rpt.activeuser=Active Users/Month
57+
main.rpt.onlineuser=Online Users
58+
main.rpt.daycount=Day Login Count
59+
main.rpt.dayhour=Day Login Per Hour
60+
main.rpt.month=Last 30 days Login Count
61+
main.rpt.count=Count
62+
main.rpt.appaccess=Last 30 days Apps Login Count
63+
main.rpt.app=AppName
64+
main.rpt.browseraccess=Last 30 days Browser Count
65+
main.rpt.browser=Browser
66+
5467

5568
login.text.login.twofactor.obtain.valid=Regain
5669
login.text.login.twofactor.obtain=Get dynamic verification code

0 commit comments

Comments
 (0)