Browse Source

仪表盘数据优化

shimingxy 22 hours ago
parent
commit
2fe5124da9

+ 6 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/ReportMapper.java

@@ -42,6 +42,12 @@ public  interface ReportMapper extends IJpaMapper<JpaEntity> {
 	
 	public Integer analysisActiveUsers(HashMap<String,Object> reportParameter);
 	
+	public Integer totalUsers(HashMap<String,Object> reportParameter);
+	
+	public Integer totalDepts(HashMap<String,Object> reportParameter);
+	
+	public Integer totalApps(HashMap<String,Object> reportParameter);
+	
 	public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter);
 	
 	public List<Map<String,Object>> analysisMonth(HashMap<String,Object> reportParameter);

+ 6 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/ReportService.java

@@ -33,6 +33,12 @@ public interface ReportService  extends IJpaService<JpaEntity>{
 	
 	public Integer analysisActiveUsers(HashMap<String,Object> reportParameter);
 	
+	public Integer totalUsers(HashMap<String,Object> reportParameter);
+	
+	public Integer totalDepts(HashMap<String,Object> reportParameter);
+	
+	public Integer totalApps(HashMap<String,Object> reportParameter);
+	
 	public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter);
 	
 	public List<Map<String,Object>> analysisMonth(HashMap<String,Object> reportParameter);

+ 16 - 4
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/ReportServiceImpl.java

@@ -32,19 +32,31 @@ public class ReportServiceImpl  extends JpaServiceImpl<ReportMapper,JpaEntity> i
 
 	public Integer analysisDay(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisDay(reportParameter);
-	};
+	}
 	
 	public Integer analysisNewUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisNewUsers(reportParameter);
-	};
+	}
 	
 	public Integer analysisOnlineUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisOnlineUsers(reportParameter);
-	};
+	}
 	
 	public Integer analysisActiveUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisActiveUsers(reportParameter);
-	};
+	}
+	
+	public Integer totalUsers(HashMap<String,Object> reportParameter) {
+		return getMapper().totalDepts(reportParameter);
+	}
+	
+	public Integer totalDepts(HashMap<String,Object> reportParameter) {
+		return getMapper().totalDepts(reportParameter);
+	}
+	
+	public Integer totalApps(HashMap<String,Object> reportParameter) {
+		return getMapper().totalApps(reportParameter);
+	}
 	
 	public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter){
 		return getMapper().analysisDayHour(reportParameter);

+ 26 - 0
maxkey-persistence/src/main/resources/org/dromara/maxkey/persistence/mapper/xml/mysql/ReportMapper.xml

@@ -135,5 +135,31 @@
 			limit 1000
 	</select>
 	
+	    <!-- 用户统计 -->
+    <select id="totalUsers" parameterType="java.util.HashMap" resultType="Integer">
+            select 
+                count(*) reportcount 
+            from mxk_userinfo 
+            where   instid   =   #{instId} 
+                and status = 1
+    </select>
+    
+    <!-- 部门统计 -->
+    <select id="totalDepts" parameterType="java.util.HashMap" resultType="Integer">
+            select 
+                count(*) reportcount 
+            from mxk_organizations 
+            where   instid   =   #{instId} 
+                and status = 1
+    </select>
+    
+    <!-- 应用统计 -->
+    <select id="totalApps" parameterType="java.util.HashMap" resultType="Integer">
+            select 
+                count(*) reportcount 
+            from mxk_apps 
+            where   instid   =   #{instId} 
+                and status = 1
+    </select>
 
 </mapper>

+ 16 - 10
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/dashboard/home/home.component.html

@@ -13,8 +13,8 @@
   <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
     <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
       <div nz-col nzSpan="12" class="p-md text-white">
-        <div class="h2 mt0">{{ onlineUsers }}</div>
-        <p class="text-nowrap mb0">{{ 'mxk.home.onlineUsers' | i18n }}</p>
+        <div class="h2 mt0">{{ onlineUsers + '/' + totalUsers }}</div>
+        <p class="text-nowrap mb0">{{ 'mxk.home.onlineUsers' | i18n }}/{{ 'mxk.home.totalUsers' | i18n }}</p>
       </div>
       <div nz-col nzSpan="12">
         <g2-mini-bar
@@ -33,8 +33,8 @@
   <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
     <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
       <div nz-col nzSpan="12" class="p-md text-white">
-        <div class="h2 mt0">{{ dayCount }}</div>
-        <p class="text-nowrap mb0">{{ 'mxk.home.dayCount' | i18n }}</p>
+        <div class="h2 mt0">{{ newUsers }}</div>
+        <p class="text-nowrap mb0">{{ 'mxk.home.newUsers' | i18n }}</p>
       </div>
       <div nz-col nzSpan="12">
         <g2-mini-bar
@@ -53,8 +53,8 @@
   <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
     <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
       <div nz-col nzSpan="12" class="p-md text-white">
-        <div class="h2 mt0">{{ newUsers }}</div>
-        <p class="text-nowrap mb0">{{ 'mxk.home.newUsers' | i18n }}</p>
+        <div class="h2 mt0">{{ totalDepts }}</div>
+        <p class="text-nowrap mb0">{{ 'mxk.home.totalDepts' | i18n }}</p>
       </div>
       <div nz-col nzSpan="12">
         <g2-mini-bar
@@ -73,8 +73,8 @@
   <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
     <div nz-row nzType="flex" nzAlign="middle" class="bg-magenta rounded-md">
       <div nz-col nzSpan="12" class="p-md text-white">
-        <div class="h2 mt0">{{ activeUsers }}</div>
-        <p class="text-nowrap mb0">{{ 'mxk.home.activeUsers' | i18n }}</p>
+        <div class="h2 mt0">{{ totalApps }}</div>
+        <p class="text-nowrap mb0">{{ 'mxk.home.totalApps' | i18n }}</p>
       </div>
       <div nz-col nzSpan="12">
         <g2-mini-bar
@@ -95,7 +95,10 @@
   <div nz-col nzXs="24" nzMd="24">
     <nz-card [nzBordered]="false" [nzTitle]="dayAccessTitle">
       <ng-template #dayAccessTitle>
-        {{ 'mxk.home.dayAccessCount' | i18n }}
+        {{ 'mxk.home.dayAccessCount' | i18n }}-
+        <nz-badge [nzCount]="dayCount" [nzOffset]="[10, 0]" [nzStyle]="{ backgroundColor: '#52c41a' }">
+          <a class="head-badge">{{ 'mxk.home.dayCount' | i18n }}</a>
+        </nz-badge>
       </ng-template>
       <!--<g2-bar *ngIf="dayData" height="275" [data]="dayData" color="#fa8c16"></g2-bar>-->
       <g2-bar *ngIf="dayData" height="275" [data]="dayData"></g2-bar>
@@ -104,7 +107,10 @@
   <div nz-col nzXs="24" nzMd="24">
     <nz-card [nzTitle]="monthAccessTitle" [nzBordered]="false">
       <ng-template #monthAccessTitle>
-        {{ 'mxk.home.monthAccessCount' | i18n }}
+        {{ 'mxk.home.monthAccessCount' | i18n }}-
+        <nz-badge [nzCount]="activeUsers" [nzOffset]="[10, 0]" [nzStyle]="{ backgroundColor: '#52c41a' }">
+          <a class="head-badge">{{ 'mxk.home.activeUsers' | i18n }}</a>
+        </nz-badge>
       </ng-template>
       <g2-bar *ngIf="mouthData" height="275" [data]="mouthData"></g2-bar>
     </nz-card>

+ 7 - 0
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/dashboard/home/home.component.less

@@ -0,0 +1,7 @@
+   .head-badge {
+        height: 20px;
+        border-radius: 4px;
+        color: #000;
+        display: inline-block;
+        vertical-align: middle;
+      }

+ 11 - 2
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/dashboard/home/home.component.ts

@@ -38,9 +38,15 @@ export class HomeComponent implements OnInit {
   //当月新增
   newUsers!: any[];
   //当月活动
-  activeUsers!: any[];
+  activeUsers!: number;
   //当天统计
-  dayCount!: any[];
+  dayCount!: number;
+
+  totalUsers!: number;
+
+  totalDepts!: number;
+
+  totalApps!: number;
   //在线用户
   onlineUsers!: any[];
   //当日
@@ -108,6 +114,9 @@ export class HomeComponent implements OnInit {
       this.dayCount = res.data.dayCount;
       this.newUsers = res.data.newUsers;
       this.activeUsers = res.data.activeUsers;
+      this.totalDepts = res.data.totalDepts;
+      this.totalUsers = res.data.totalUsers;
+      this.totalApps = res.data.totalApps;
 
       const beginDay = new Date().getTime();
       const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5];

+ 4 - 1
maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json

@@ -67,10 +67,13 @@
 			}
 		},
 		"home": {
-			"onlineUsers": "Online Users",
+			"onlineUsers": "Online",
 			"dayCount": "Day Count",
 			"newUsers": "Month News",
 			"activeUsers": "Month Actives",
+			"totalUsers": "Users",
+			"totalDepts": "Depts",
+			"totalApps": "Apps",
 			"dayAccessCount": "Today Access Count",
 			"monthAccessCount": "30 Day Access Count",
 			"monthAppCount": "30 Day TOP 10 App Access Count",

+ 8 - 5
maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json

@@ -66,12 +66,15 @@
 			}
 		},
 		"home": {
-			"onlineUsers": "当前在线用户",
-			"dayCount": "日访问量",
+			"onlineUsers": "在线",
+			"dayCount": "日访问量",
 			"newUsers": "当月新增用户",
-			"activeUsers": "当月活动用户",
-			"dayAccessCount": "当日访问情况统计",
-			"monthAccessCount": "30日访问情况统计",
+			"activeUsers": "活动用户",
+			"totalUsers": "用户",
+			"totalDepts": "组织",
+			"totalApps": "应用",
+			"dayAccessCount": "当日访问统计",
+			"monthAccessCount": "30日访问统计",
 			"monthAppCount": "30日TOP10应用访问统计",
 			"monthBrowserCount": "30日TOP10浏览器访问统计",
 			"monthProvinceAccessCount": "30日TOP10访问统计",

+ 8 - 5
maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-TW.json

@@ -67,12 +67,15 @@
 			}
 		},
 		"home": {
-			"onlineUsers": "當前在線用戶",
-			"dayCount": "日訪問量",
+			"onlineUsers": "在線",
+			"dayCount": "日訪問量",
 			"newUsers": "當月新增用戶",
-			"activeUsers": "當月活動用戶",
-			"dayAccessCount": "當日訪問情況統計",
-			"monthAccessCount": "30日訪問情況統計",
+			"activeUsers": "活動用戶",
+			"totalUsers": "用户",
+			"totalDepts": "组织",
+			"totalApps": "应用",
+			"dayAccessCount": "當日訪問統計",
+			"monthAccessCount": "30日訪問統計",
 			"monthAppCount": "30日TOP10應用訪問統計",
 			"monthBrowserCount": "30日TOP10瀏覽器訪問統計",
 			"monthProvinceAccessCount": "30日TOP10訪問統計",

+ 4 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/contorller/DashboardController.java

@@ -53,6 +53,10 @@ public class DashboardController {
 		reportParameter.put("onlineUsers", reportService.analysisOnlineUsers(reportParameter));
 		reportParameter.put("activeUsers", reportService.analysisActiveUsers(reportParameter));
 		
+		reportParameter.put("totalUsers", reportService.totalUsers(reportParameter));
+		reportParameter.put("totalDepts", reportService.totalDepts(reportParameter));
+		reportParameter.put("totalApps", reportService.totalApps(reportParameter));
+		
 		reportParameter.put("reportMonth", reportService.analysisMonth(reportParameter));
 		reportParameter.put("reportDayHour", reportService.analysisDayHour(reportParameter));