Browse Source

修改分页2.0

master
WangYang 1 month ago
parent
commit
d342a3112a
  1. 4
      src/main/java/com/link/domain/PageQuery.java
  2. 5
      src/main/java/com/link/domain/dto/UserCountDTO.java
  3. 12
      src/main/java/com/link/mapper/UserCountMapper.java
  4. 24
      src/main/java/com/link/serviceImpl/UserCountServiceImpl.java
  5. 45
      src/main/resources/com/link/mapper/UserCountMapper.xml

4
src/main/java/com/link/domain/PageQuery.java

@ -11,6 +11,8 @@ import java.util.List;
@NoArgsConstructor
public class PageQuery {
private Long total;
private Integer page;
private Integer pageSize;
private Integer total;
private List list;
}

5
src/main/java/com/link/domain/dto/UserCountDTO.java

@ -17,4 +17,9 @@ public class UserCountDTO {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
public Integer getStart(){
return (page-1)*pageSize;
}
}

12
src/main/java/com/link/mapper/UserCountMapper.java

@ -12,9 +12,15 @@ import java.util.List;
@Mapper
@Qualifier("hljwSqlSessionTemplate")
public interface UserCountMapper {
List<UserCountVO> getEmailUserCount(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
List<UserCountVO> getEmailUserList(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
List<UserCountVO> getGoogleUserCount(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
Integer getEmailUserTotal(@Param("startTime") LocalDateTime startTime);
List<UserCountVO> getMessageUserCount(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
List<UserCountVO> getGoogleUserList(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
Integer getGoogleUserTotal(@Param("startTime") LocalDateTime startTime);
List<UserCountVO> getMessageUserList(@Param("startTime") LocalDateTime startTime,@Param("page") Integer page,@Param("pageSize") Integer pageSize);
Integer getMessageUserTotal(@Param("startTime") LocalDateTime startTime);
}

24
src/main/java/com/link/serviceImpl/UserCountServiceImpl.java

@ -23,10 +23,12 @@ public class UserCountServiceImpl implements UserCountService {
private UserCountMapper userCountMapper;
@Override
public PageQuery getEmailUserCount(UserCountDTO dto) {
List<UserCountVO> userCountVOList =userCountMapper.getEmailUserCount(dto.getStartTime(),dto.getPage(),dto.getPageSize());
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
List<UserCountVO> userCountVOList =userCountMapper.getEmailUserList(dto.getStartTime(),dto.getStart(),dto.getPageSize());
Integer userCountVOTotal= userCountMapper.getEmailUserTotal(dto.getStartTime());
PageQuery result = new PageQuery();
result.setTotal(pageInfo.getTotal());
result.setPage(dto.getStart());
result.setPageSize(dto.getPageSize());
result.setTotal(userCountVOTotal);
result.setList(userCountVOList);
return result;
}
@ -34,20 +36,24 @@ public class UserCountServiceImpl implements UserCountService {
@Override
public PageQuery getGoogleUserCount(UserCountDTO dto) {
List<UserCountVO> userCountVOList =userCountMapper.getGoogleUserCount(dto.getStartTime(),dto.getPage(),dto.getPageSize());
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
List<UserCountVO> userCountVOList =userCountMapper.getGoogleUserList(dto.getStartTime(),dto.getStart(),dto.getPageSize());
Integer userCountVOTotal= userCountMapper.getGoogleUserTotal(dto.getStartTime());
PageQuery result = new PageQuery();
result.setTotal(pageInfo.getTotal());
result.setPage(dto.getStart());
result.setPageSize(dto.getPageSize());
result.setTotal(userCountVOTotal);
result.setList(userCountVOList);
return result;
}
@Override
public PageQuery getMessageUserCount(UserCountDTO dto) {
List<UserCountVO> userCountVOList =userCountMapper.getMessageUserCount(dto.getStartTime(),dto.getPage(),dto.getPageSize());
PageInfo<UserCountVO> pageInfo = new PageInfo<>(userCountVOList);
List<UserCountVO> userCountVOList =userCountMapper.getMessageUserList(dto.getStartTime(),dto.getStart(),dto.getPageSize());
Integer userCountVOTotal= userCountMapper.getMessageUserTotal(dto.getStartTime());
PageQuery result = new PageQuery();
result.setTotal(pageInfo.getTotal());
result.setPage(dto.getStart());
result.setPageSize(dto.getPageSize());
result.setTotal(userCountVOTotal);
result.setList(userCountVOList);
return result;
}

45
src/main/resources/com/link/mapper/UserCountMapper.xml

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.link.mapper.UserCountMapper">
<select id="getEmailUserCount" resultType="com.link.domain.vo.UserCountVO">
<sql id="EmailUser">
select t1 as businessDate, count(*) as userCount
from (
select distinct
@ -30,33 +30,66 @@
) c
where tt >= #{startTime}
group by t1
</sql>
<select id="getEmailUserList" resultType="com.link.domain.vo.UserCountVO">
<include refid="EmailUser"></include>
order by t1 desc
limit #{page}, #{pageSize};
</select>
<select id="getGoogleUserCount" resultType="com.link.domain.vo.UserCountVO">
<select id="getEmailUserTotal" resultType="integer">
select count(*)
from(
<include refid="EmailUser"></include>
) as total;
</select>
<sql id="GoogleUser">
select t1 as businessDate,count(*) as userCount from
(select distinct case when hh &lt; 28800 then date_format(date_add(tt,interval -1 day),'%Y-%m-%d') else date_format(tt,'%Y-%m-%d') end t1,hh,openId,date_format(tt,'%Y-%m-%d %H:%i') tt from (
(select distinct case when hh &lt;28800 then date_format(date_add(tt,interval -1 day),'%Y-%m-%d') else date_format(tt,'%Y-%m-%d') end t1,hh,openId,date_format(tt,'%Y-%m-%d %H:%i') tt from (
select timestampdiff(second,date_format(tt,'%Y-%m-%d 00:00:00'),tt) hh,openId,tt from (
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}
where tt>=#{startTime}
group by t1
</sql>
<select id="getGoogleUserList" resultType="com.link.domain.vo.UserCountVO">
<include refid="GoogleUser"></include>
order by t1 desc
limit #{page}, #{pageSize};
</select>
<select id="getMessageUserCount" resultType="com.link.domain.vo.UserCountVO">
<select id="getGoogleUserTotal" resultType="integer">
select count(*)
from(
<include refid="GoogleUser"></include>
) as total;
</select>
<sql id="MessageUser">
select t1 as businessDate,count(*) as userCount from
(select distinct case when hh &lt; 28800 then date_format(date_add(tt,interval -1 day),'%Y-%m-%d') else date_format(tt,'%Y-%m-%d') end t1,hh,username,date_format(tt,'%Y-%m-%d %H:%i') tt from (
select timestampdiff(second,date_format(tt,'%Y-%m-%d 00:00:00'),tt) hh,username,tt from (
select username,min(date_format(from_unixtime(time),'%Y-%m-%d %H:%i')) tt from fx_code where 1=1
group by username
)a)b)c
where tt>= #{startTime}
where tt>=#{startTime}
group by t1
</sql>
<select id="getMessageUserList" resultType="com.link.domain.vo.UserCountVO">
<include refid="MessageUser"></include>
order by t1 desc
limit #{page}, #{pageSize};
</select>
<select id="getMessageUserTotal" resultType="integer">
select count(*)
from(
<include refid="MessageUser"></include>
) as total;
</select>
</mapper>
Loading…
Cancel
Save