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