Browse Source

添加分页功能

master
WangYang 1 month ago
parent
commit
4956ee7e6f
  1. 26
      pom.xml
  2. 19
      src/main/java/com/link/controller/UserCountController.java
  3. 16
      src/main/java/com/link/domain/PageQuery.java
  4. 1
      src/main/java/com/link/mapper/UserCountMapper.java
  5. 7
      src/main/java/com/link/service/UserCountService.java
  6. 36
      src/main/java/com/link/serviceImpl/UserCountServiceImpl.java
  7. 9
      src/main/resources/com/link/mapper/UserCountMapper.xml

26
pom.xml

@ -19,6 +19,25 @@
<lombok.version>1.18.38</lombok.version>
<slf4j.version>2.0.17</slf4j.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
@ -130,6 +149,13 @@
<version>11.2.1.jre8</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
</project>

19
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);
}
}

16
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;
}

1
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;

7
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<UserCountVO> getEmailUserCount(LocalDateTime startTime);
PageQuery getEmailUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
List<UserCountVO> getGoogleUserCount(LocalDateTime startTime);
PageQuery getGoogleUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
List<UserCountVO> getMessageUserCount(LocalDateTime startTime);
PageQuery getMessageUserCount(LocalDateTime startTime, Integer page, Integer pageSize);
}

36
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<UserCountVO> getEmailUserCount(LocalDateTime startTime) {
return userCountMapper.getEmailUserCount(startTime);
public PageQuery getEmailUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
PageHelper.startPage(page,pageSize);
List<UserCountVO> userCountVOList =userCountMapper.getEmailUserCount(startTime);
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
PageQuery data = new PageQuery();
data.setTotal(pageInfo.getTotal());
data.setList(userCountVOList);
return data;
}
@Override
public List<UserCountVO> getGoogleUserCount(LocalDateTime startTime) {
return userCountMapper.getGoogleUserCount(startTime);
public PageQuery getGoogleUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
PageHelper.startPage(page,pageSize);
List<UserCountVO> userCountVOList =userCountMapper.getGoogleUserCount(startTime);
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
PageQuery data = new PageQuery();
data.setTotal(pageInfo.getTotal());
data.setList(userCountVOList);
return data;
}
@Override
public List<UserCountVO> getMessageUserCount(LocalDateTime startTime) {
return userCountMapper.getMessageUserCount(startTime);
public PageQuery getMessageUserCount(LocalDateTime startTime, Integer page , Integer pageSize) {
PageHelper.startPage(page,pageSize);
List<UserCountVO> userCountVOList =userCountMapper.getMessageUserCount(startTime);
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
PageQuery data = new PageQuery();
data.setTotal(pageInfo.getTotal());
data.setList(userCountVOList);
return data;
}
}

9
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;
</select>
<select id="getGoogleUserCount" resultType="com.link.domain.vo.UserCountVO">
@ -39,7 +40,8 @@
select distinct openId,date_format(from_unixtime(time),'%Y-%m-%d %H:%i') tt,time from fx_member_google where 1=1 and time is not null
)a)b)c
where tt>= #{startTime}
group by t1;
group by t1
order by t1 desc;
</select>
<select id="getMessageUserCount" resultType="com.link.domain.vo.UserCountVO">
@ -50,7 +52,8 @@
group by username
)a)b)c
where tt>= #{startTime}
group by t1;
group by t1
order by t1 desc;
</select>
</mapper>
Loading…
Cancel
Save