feat(user): 新增用户关注列表查询功能
- 新增查询用户关注列表接口,支持分页查询 - 新增批量查询用户信息接口,提升查询效率 - 优化 MQ 消费模式为顺序消费,确保关注/取关操作有序性 - 完善用户信息 DTO,新增简介字段 - 新增分页响应封装类,支持分页查询结果返回 - 优化 Redis 查询逻辑,支持从缓存中分页获取关注列表 - 新增 Lua 脚本结果类型设置,确保脚本执行结果正确解析 - 添加 HTTP 接口测试用例,覆盖关注列表及批量查询接口 - 实现缓存与数据库双写一致性,提高数据查询性能
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.hanserwei.framework.common.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分页响应(未使用任何分页插件)
|
||||
*
|
||||
* @author hanserwei
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class PageResponse<T> extends Response<List<T>> {
|
||||
private long pageNo; // 当前页码
|
||||
private long totalCount; // 总数据量
|
||||
private long pageSize; // 每页展示的数据量
|
||||
private long totalPage; // 总页数
|
||||
|
||||
public static <T> PageResponse<T> success(List<T> data, long pageNo, long totalCount) {
|
||||
PageResponse<T> pageResponse = new PageResponse<>();
|
||||
pageResponse.setSuccess(true);
|
||||
pageResponse.setData(data);
|
||||
pageResponse.setPageNo(pageNo);
|
||||
pageResponse.setTotalCount(totalCount);
|
||||
// 每页展示的数据量
|
||||
long pageSize = 10L;
|
||||
pageResponse.setPageSize(pageSize);
|
||||
// 计算总页数
|
||||
long totalPage = (totalCount + pageSize - 1) / pageSize;
|
||||
pageResponse.setTotalPage(totalPage);
|
||||
return pageResponse;
|
||||
}
|
||||
|
||||
public static <T> PageResponse<T> success(List<T> data, long pageNo, long totalCount, long pageSize) {
|
||||
PageResponse<T> pageResponse = new PageResponse<>();
|
||||
pageResponse.setSuccess(true);
|
||||
pageResponse.setData(data);
|
||||
pageResponse.setPageNo(pageNo);
|
||||
pageResponse.setTotalCount(totalCount);
|
||||
pageResponse.setPageSize(pageSize);
|
||||
// 计算总页数
|
||||
long totalPage = pageSize == 0 ? 0 : (totalCount + pageSize - 1) / pageSize;
|
||||
pageResponse.setTotalPage(totalPage);
|
||||
return pageResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取总页数
|
||||
* @return 总页数
|
||||
*/
|
||||
public static long getTotalPage(long totalCount, long pageSize) {
|
||||
return pageSize == 0 ? 0 : (totalCount + pageSize - 1) / pageSize;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user