From 7f10c22613966ce27bf98fb92086c49aae832ac0 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Fri, 12 Apr 2019 18:44:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E7=BB=86=E8=8A=82=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/jpa/daoimpl/BaseMongoRepositoryImpl.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java index f81e238..ef58910 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java @@ -5,8 +5,10 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseMongoRepository; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import com.alibaba.fastjson.JSONObject; +import com.mongodb.BasicDBObject; import com.mongodb.Block; import com.mongodb.client.FindIterable; +import com.mongodb.client.model.CountOptions; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Sorts; import org.apache.commons.lang3.StringUtils; @@ -21,6 +23,7 @@ import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity; import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.repository.query.MongoEntityInformation; import org.springframework.data.mongodb.repository.support.SimpleMongoRepository; @@ -271,13 +274,9 @@ public class BaseMongoRepositoryImpl extends SimpleM FindIterable findIter = null; if(bson == null) { - findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find() - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(); }else{ - findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(bson) - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(bson); } if(StringUtils.isNotBlank(orderByParam) && ascOrDesc != 0){ //排序 @@ -286,8 +285,13 @@ public class BaseMongoRepositoryImpl extends SimpleM }else{ findIter.sort(Sorts.descending(orderByParam)); } + }else{ + //根据id排序 + findIter.sort(new BasicDBObject("_id", 1)); } + findIter.skip(pager.getStartRow()).limit(pager.getPageSize()); findIter.forEach(saveBlock); + return packObjectListFromDocument(dList); } @@ -310,9 +314,7 @@ public class BaseMongoRepositoryImpl extends SimpleM dList.add(document); } }; - FindIterable findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find() - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + FindIterable findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(); if(StringUtils.isNotBlank(orderByParam) && ascOrDesc != 0){ //排序 if(ascOrDesc == CommonEnumUtil.ASC_OR_DESC.ASC.getValue()){ @@ -320,7 +322,11 @@ public class BaseMongoRepositoryImpl extends SimpleM }else{ findIter.sort(Sorts.descending(orderByParam)); } + }else{ + //根据id排序 + findIter.sort(new BasicDBObject("_id", 1)); } + findIter.skip(pager.getStartRow()).limit(pager.getPageSize()); findIter.forEach(saveBlock); return packObjectListFromDocument(dList); }