|
|
@@ -352,11 +352,9 @@ public class MongoService<T>{
|
|
|
* @return
|
|
|
*/
|
|
|
public IPage<T> findListPage(Class<T> entity, Map params, PageDomain queryRequest) {
|
|
|
- Page<T> iPage = new Page<>(queryRequest.getPageNum(), queryRequest.getPageSize());
|
|
|
TableName tableName = entity.getAnnotation(TableName.class);
|
|
|
String collName = tableName.value();
|
|
|
- int pageSize = queryRequest.getPageSize();
|
|
|
- int pageNum = queryRequest.getPageNum();
|
|
|
+
|
|
|
//设置参数查询
|
|
|
Query query = new Query(getCriteria(params));
|
|
|
//log.debug(query.getQueryObject().toString());
|
|
|
@@ -365,10 +363,19 @@ public class MongoService<T>{
|
|
|
if (!StringUtils.isEmpty(field)) {
|
|
|
query.with(Sort.by(getOrder(queryRequest)));
|
|
|
}
|
|
|
+
|
|
|
//设置总数
|
|
|
long count = mongoTemplate.count(query, entity, collName);
|
|
|
//log.debug("共"+count+" 条记录");
|
|
|
+
|
|
|
+ int pageSize = (int) count;
|
|
|
+ int pageNum = 1;
|
|
|
//分页计算
|
|
|
+ if(queryRequest.getPage()){
|
|
|
+ pageSize = queryRequest.getPageSize();
|
|
|
+ pageNum = queryRequest.getPageNum();
|
|
|
+ }
|
|
|
+ Page<T> iPage = new Page<>(pageNum, pageSize);
|
|
|
int pages = (int) Math.ceil((double) count / (double) pageSize);
|
|
|
if (pageNum <= 0 || pageNum > pages) {
|
|
|
iPage.setRecords(new ArrayList<>());
|