From 4956ee7e6f6d56b8d7a44ef80cc6bd8e30f95479 Mon Sep 17 00:00:00 2001
From: WangYang <13176915986@163.com>
Date: Tue, 2 Dec 2025 18:42:49 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E9=A1=B5=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 26 ++++++++++++++++
.../com/link/controller/UserCountController.java | 19 ++++++++----
src/main/java/com/link/domain/PageQuery.java | 16 ++++++++++
src/main/java/com/link/mapper/UserCountMapper.java | 1 +
.../java/com/link/service/UserCountService.java | 7 +++--
.../com/link/serviceImpl/UserCountServiceImpl.java | 36 ++++++++++++++++++----
.../resources/com/link/mapper/UserCountMapper.xml | 9 ++++--
7 files changed, 96 insertions(+), 18 deletions(-)
create mode 100644 src/main/java/com/link/domain/PageQuery.java
diff --git a/pom.xml b/pom.xml
index e005c94..8dbaf3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,25 @@
1.18.38
2.0.17
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 17
+ 17
+ UTF-8
+
+ -parameters
+
+
+
+
+
+
org.springframework.boot
@@ -130,6 +149,13 @@
11.2.1.jre8
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.3.0
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/link/controller/UserCountController.java b/src/main/java/com/link/controller/UserCountController.java
index c4ba4b7..093239e 100644
--- a/src/main/java/com/link/controller/UserCountController.java
+++ b/src/main/java/com/link/controller/UserCountController.java
@@ -1,5 +1,6 @@
package com.link.controller;
+import com.link.domain.PageQuery;
import com.link.domain.Result;
import com.link.domain.dto.UserCountDTO;
import com.link.service.UserCountService;
@@ -14,20 +15,26 @@ public class UserCountController {
private UserCountService userCountService;
@PostMapping("/toEmail")
- public Result getEmailUserCount(@RequestBody UserCountDTO dto) {
- Object result = userCountService.getEmailUserCount(dto.getStartTime());
+ public Result getEmailUserCount(@RequestBody UserCountDTO dto,
+ @RequestParam(name = "page",defaultValue = "1") Integer page,
+ @RequestParam(name = "pageSize",defaultValue = "20") Integer pageSize) {
+ Object result = userCountService.getEmailUserCount(dto.getStartTime(),page,pageSize);
return Result.ok("success",result);
}
@PostMapping("/toGoogle")
- public Result getGoogleUserCount(@RequestBody UserCountDTO dto) {
- Object result = userCountService.getGoogleUserCount(dto.getStartTime());
+ public Result getGoogleUserCount(@RequestBody UserCountDTO dto,
+ @RequestParam(name = "page",defaultValue = "1") Integer page,
+ @RequestParam(name = "pageSize",defaultValue = "20") Integer pageSize) {
+ Object result = userCountService.getGoogleUserCount(dto.getStartTime(),page,pageSize);
return Result.ok("success",result);
}
@PostMapping("/toMessage")
- public Result getMessageUserCount(@RequestBody UserCountDTO dto) {
- Object result = userCountService.getMessageUserCount(dto.getStartTime());
+ public Result getMessageUserCount(@RequestBody UserCountDTO dto,
+ @RequestParam(name = "page",defaultValue = "1") Integer page,
+ @RequestParam(name = "pageSize",defaultValue = "20") Integer pageSize) {
+ Object result = userCountService.getMessageUserCount(dto.getStartTime(),page,pageSize);
return Result.ok("success",result);
}
}
diff --git a/src/main/java/com/link/domain/PageQuery.java b/src/main/java/com/link/domain/PageQuery.java
new file mode 100644
index 0000000..9435159
--- /dev/null
+++ b/src/main/java/com/link/domain/PageQuery.java
@@ -0,0 +1,16 @@
+package com.link.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PageQuery {
+
+ private Long total;
+ private List list;
+ }
diff --git a/src/main/java/com/link/mapper/UserCountMapper.java b/src/main/java/com/link/mapper/UserCountMapper.java
index 4a3f0b1..ec0cdac 100644
--- a/src/main/java/com/link/mapper/UserCountMapper.java
+++ b/src/main/java/com/link/mapper/UserCountMapper.java
@@ -1,5 +1,6 @@
package com.link.mapper;
+import com.link.domain.PageQuery;
import com.link.domain.vo.UserCountVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
diff --git a/src/main/java/com/link/service/UserCountService.java b/src/main/java/com/link/service/UserCountService.java
index f3288c3..a98790b 100644
--- a/src/main/java/com/link/service/UserCountService.java
+++ b/src/main/java/com/link/service/UserCountService.java
@@ -1,5 +1,6 @@
package com.link.service;
+import com.link.domain.PageQuery;
import com.link.domain.vo.UserCountVO;
import java.time.LocalDateTime;
@@ -7,10 +8,10 @@ import java.util.List;
public interface UserCountService {
- List getEmailUserCount(LocalDateTime startTime);
+ PageQuery getEmailUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
- List getGoogleUserCount(LocalDateTime startTime);
+ PageQuery getGoogleUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
- List getMessageUserCount(LocalDateTime startTime);
+ PageQuery getMessageUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
}
diff --git a/src/main/java/com/link/serviceImpl/UserCountServiceImpl.java b/src/main/java/com/link/serviceImpl/UserCountServiceImpl.java
index eb4c4bc..d098f40 100644
--- a/src/main/java/com/link/serviceImpl/UserCountServiceImpl.java
+++ b/src/main/java/com/link/serviceImpl/UserCountServiceImpl.java
@@ -1,12 +1,18 @@
package com.link.serviceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.link.domain.PageQuery;
+import com.link.domain.Result;
import com.link.domain.vo.UserCountVO;
import com.link.mapper.UserCountMapper;
import com.link.service.UserCountService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
+import java.util.HashMap;
import java.util.List;
@Service
@@ -15,17 +21,35 @@ public class UserCountServiceImpl implements UserCountService {
@Autowired
private UserCountMapper userCountMapper;
@Override
- public List getEmailUserCount(LocalDateTime startTime) {
- return userCountMapper.getEmailUserCount(startTime);
+ public PageQuery getEmailUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
+ PageHelper.startPage(page,pageSize);
+ List userCountVOList =userCountMapper.getEmailUserCount(startTime);
+ PageInfo pageInfo = new PageInfo<>(userCountVOList);
+ PageQuery data = new PageQuery();
+ data.setTotal(pageInfo.getTotal());
+ data.setList(userCountVOList);
+ return data;
}
@Override
- public List getGoogleUserCount(LocalDateTime startTime) {
- return userCountMapper.getGoogleUserCount(startTime);
+ public PageQuery getGoogleUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
+ PageHelper.startPage(page,pageSize);
+ List userCountVOList =userCountMapper.getGoogleUserCount(startTime);
+ PageInfo pageInfo = new PageInfo<>(userCountVOList);
+ PageQuery data = new PageQuery();
+ data.setTotal(pageInfo.getTotal());
+ data.setList(userCountVOList);
+ return data;
}
@Override
- public List getMessageUserCount(LocalDateTime startTime) {
- return userCountMapper.getMessageUserCount(startTime);
+ public PageQuery getMessageUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
+ PageHelper.startPage(page,pageSize);
+ List userCountVOList =userCountMapper.getMessageUserCount(startTime);
+ PageInfo pageInfo = new PageInfo<>(userCountVOList);
+ PageQuery data = new PageQuery();
+ data.setTotal(pageInfo.getTotal());
+ data.setList(userCountVOList);
+ return data;
}
}
diff --git a/src/main/resources/com/link/mapper/UserCountMapper.xml b/src/main/resources/com/link/mapper/UserCountMapper.xml
index 74df9b5..00c6a4f 100644
--- a/src/main/resources/com/link/mapper/UserCountMapper.xml
+++ b/src/main/resources/com/link/mapper/UserCountMapper.xml
@@ -29,7 +29,8 @@
) b
) c
where tt >= #{startTime}
- group by t1;
+ group by t1
+ order by t1 desc;
\ No newline at end of file