From 63f04d92a2376a6272d0ad61358475d527f26a2d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 27 十一月 2024 15:51:44 +0800
Subject: [PATCH] 1

---
 se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java |   11 +++++++----
 se-modules/se-system/src/main/java/com/se/system/mapper/IndexMapper.java         |   10 ++++++++--
 se-modules/se-system/src/main/resources/mapper/system/IndexMapper.xml            |    9 +++++++++
 se-modules/se-system/src/main/java/com/se/system/service/IndexService.java       |   19 ++++++++++++++++---
 4 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java b/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java
index 1df023e..10ffcf1 100644
--- a/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java
+++ b/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java
@@ -62,7 +62,7 @@
     @Log(title = "鏂板鐢ㄦ埛缁熻", businessType = BusinessType.OTHER)
     @GetMapping("/newUserCount")
     public Map<String, Object> newUserCount(Integer day) {
-        if (null == day || day < 1) day = 7;
+        if (null == day || day < 1) day = 15;
         if (day > 365) day = 365;
 
         Map<String, Object> map = new HashMap<>();
@@ -84,10 +84,13 @@
     // 鈶ょ敤鎴风粺璁℃帓琛岋紙娲昏穬鐢ㄦ埛锛夛細浠ヤ竴瀹氭椂闂存鍐呯殑鐧诲綍鏃堕棿鎴栫櫥褰曟鏁版帓鍚嶏紝灞曠ず鍓嶄簲鍚嶇殑鐢ㄦ埛淇℃伅
     @Log(title = "鐢ㄦ埛缁熻鎺掕", businessType = BusinessType.OTHER)
     @GetMapping("/userCountList")
-    public Map<String, Object> userCountList() {
-        Map<String, Object> map = new HashMap<>();
+    public List<Map<String, Object>> userCountList(Integer day, Integer amount) {
+        if (null == day || day < 1) day = 15;
+        if (day > 365) day = 365;
+        if (null == amount) amount = 5;
+        if (amount > 100) amount = 100;
 
-        return map;
+        return indexService.userCountList(day, amount);
     }
 
     // 鈶ュ父鐢ㄧ郴缁熷睍绀�/鍚勭郴缁熻闂俊鎭細鍩轰簬鐢ㄦ埛璁块棶娆℃暟鎺掑悕锛屽睍绀哄墠浜斾釜绯荤粺鐨勬帓鍚�
diff --git a/se-modules/se-system/src/main/java/com/se/system/mapper/IndexMapper.java b/se-modules/se-system/src/main/java/com/se/system/mapper/IndexMapper.java
index 6c708df..e34f5fb 100644
--- a/se-modules/se-system/src/main/java/com/se/system/mapper/IndexMapper.java
+++ b/se-modules/se-system/src/main/java/com/se/system/mapper/IndexMapper.java
@@ -1,13 +1,19 @@
 package com.se.system.mapper;
 
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 @Repository
 @SuppressWarnings("ALL")
-public interface IndexMapper
-{
+public interface IndexMapper {
     public int newUserCount(@Param("createTime") String createTime);
+
+    //@MapKey("username")
+    public List<Map<String, Object>> userCountList(@Param("createTime") String createTime, @Param("amount") Integer amount);
 }
diff --git a/se-modules/se-system/src/main/java/com/se/system/service/IndexService.java b/se-modules/se-system/src/main/java/com/se/system/service/IndexService.java
index 59f172a..6a94801 100644
--- a/se-modules/se-system/src/main/java/com/se/system/service/IndexService.java
+++ b/se-modules/se-system/src/main/java/com/se/system/service/IndexService.java
@@ -6,6 +6,8 @@
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
 
 @Component
 @SuppressWarnings("ALL")
@@ -16,10 +18,21 @@
     public static SimpleDateFormat YYYY_MM_DD_HH_MM_SS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     public int newUserCount(int day) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.add(Calendar.DAY_OF_MONTH, -day);
-        String createTime = YYYY_MM_DD_HH_MM_SS.format(calendar.getTime());
+        String createTime = getCreateTime(day);
 
         return indexMapper.newUserCount(createTime);
     }
+
+    private String getCreateTime(int day) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.DAY_OF_MONTH, -day);
+
+        return YYYY_MM_DD_HH_MM_SS.format(calendar.getTime());
+    }
+
+    public List<Map<String, Object>> userCountList(Integer day, Integer amount) {
+        String createTime = getCreateTime(day);
+
+        return indexMapper.userCountList(createTime, amount);
+    }
 }
diff --git a/se-modules/se-system/src/main/resources/mapper/system/IndexMapper.xml b/se-modules/se-system/src/main/resources/mapper/system/IndexMapper.xml
index 68ffaa8..6ca5ab5 100644
--- a/se-modules/se-system/src/main/resources/mapper/system/IndexMapper.xml
+++ b/se-modules/se-system/src/main/resources/mapper/system/IndexMapper.xml
@@ -6,4 +6,13 @@
 	<select id="newUserCount" resultType="java.lang.Integer">
 		select count(*) from sys_user where create_time >= #{createTime};
 	</select>
+
+	<select id="userCountList" resultType="java.util.Map">
+		select user_name userName, count(*) count
+		from sys_logininfor
+		where access_time >= #{createTime}
+		group by user_name
+		order by count desc
+		limit ${amount};
+	</select>
 </mapper> 
\ No newline at end of file

--
Gitblit v1.9.3