package com.ecep.contract; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import com.fasterxml.jackson.databind.JsonNode; /** * 查询服务接口,提供通用的分页查询能力 * 泛型T表示查询结果的数据类型 */ public interface QueryService { /** * 根据查询参数和分页条件获取数据列表 * * @param paramsNode JSON格式的查询参数节点,包含各种过滤条件 * @param pageable 分页参数,包含页码、每页条数、排序规则等信息 * @return 分页查询结果,包含符合条件的数据列表和分页元数据 */ Page findAll(JsonNode paramsNode, Pageable pageable); // Specification getSpecification(String searchText); // Page findAll(Specification spec, Pageable pageable); default long count(JsonNode paramsNode) { return 0; } }