From b245868de21cfbc1ed1c4b2ce8b38753d7faddf0 Mon Sep 17 00:00:00 2001 From: TS-QD1 Date: Fri, 24 Nov 2023 14:36:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mybatis/mapper/area-mapper.xml | 6 ++++++ .../dictionary/service/impl/MongoAreaServiceImpl.java | 11 ++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml b/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml index a712f106..ddee89a2 100644 --- a/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml +++ b/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml @@ -195,6 +195,8 @@ AND area_parent_id = #{areaParentId} + ORDER BY + area_city_code ASC @@ -255,6 +257,8 @@ #{areaCodes[${index}]} + ORDER BY + area_city_code ASC @@ -284,6 +288,8 @@ LIMIT #{limitStart}, 1 ) + ORDER BY + area_city_code ASC LIMIT #{limitRow} diff --git a/mongo-module-dictionary/src/main/java/ink/wgink/mongo/module/dictionary/service/impl/MongoAreaServiceImpl.java b/mongo-module-dictionary/src/main/java/ink/wgink/mongo/module/dictionary/service/impl/MongoAreaServiceImpl.java index bf780f1e..0a1e72c9 100644 --- a/mongo-module-dictionary/src/main/java/ink/wgink/mongo/module/dictionary/service/impl/MongoAreaServiceImpl.java +++ b/mongo-module-dictionary/src/main/java/ink/wgink/mongo/module/dictionary/service/impl/MongoAreaServiceImpl.java @@ -12,6 +12,7 @@ import ink.wgink.util.string.WStringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -55,7 +56,7 @@ public class MongoAreaServiceImpl extends DefaultBaseService implements IMongoAr @Override public List listByParentId(String areaParentId) { - return mongoTemplate.find(Query.query(Criteria.where("areaParentId").is(areaParentId)), AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); + return mongoTemplate.find(Query.query(Criteria.where("areaParentId").is(areaParentId)).with(Sort.by(Sort.Order.asc("areaCityCode"))), AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); } @Override @@ -74,7 +75,7 @@ public class MongoAreaServiceImpl extends DefaultBaseService implements IMongoAr query.addCriteria(Criteria.where("areaName").regex(pattern)); } long total = mongoTemplate.count(query, MongoDictionaryCollectionEnum.AREA.getValue()); - query.with(Pageable.ofSize(page.getRows()).withPage(page.getPage() - 1)); + query.with(Pageable.ofSize(page.getRows()).withPage(page.getPage() - 1)).with(Sort.by(Sort.Order.asc("areaCityCode"))); List dataDTOs = mongoTemplate.find(query, AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); return new SuccessResultList<>(dataDTOs, page.getPage(), total); } @@ -88,7 +89,7 @@ public class MongoAreaServiceImpl extends DefaultBaseService implements IMongoAr zTreeDTO.setId(areaDTO.getAreaId()); zTreeDTO.setpId(areaDTO.getAreaParentId()); zTreeDTO.setName(areaDTO.getAreaName()); - long subCount = mongoTemplate.count(Query.query(Criteria.where("areaParentId").is(areaDTO.getAreaId())), MongoDictionaryCollectionEnum.AREA.getValue()); + long subCount = mongoTemplate.count(Query.query(Criteria.where("areaParentId").is(areaDTO.getAreaId())).with(Sort.by(Sort.Order.asc("areaCityCode"))), MongoDictionaryCollectionEnum.AREA.getValue()); setZTreeInfo(zTreeDTO, subCount); zTreeDTOs.add(zTreeDTO); } @@ -98,7 +99,7 @@ public class MongoAreaServiceImpl extends DefaultBaseService implements IMongoAr @Override public List listByCode(String areaCode) { Pattern pattern = Pattern.compile("^" + areaCode + ".*$", Pattern.CASE_INSENSITIVE); - return mongoTemplate.find(Query.query(Criteria.where("areaCode").regex(pattern)), AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); + return mongoTemplate.find(Query.query(Criteria.where("areaCode").regex(pattern)).with(Sort.by(Sort.Order.asc("areaCityCode"))), AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); } @Override @@ -106,7 +107,7 @@ public class MongoAreaServiceImpl extends DefaultBaseService implements IMongoAr String baseAreaCode = WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0', 3); Pattern pattern = Pattern.compile("^" + baseAreaCode + "((?!" + areaCode.replace(baseAreaCode, "") + ").)*$", Pattern.CASE_INSENSITIVE); Query query = new Query(); - query.addCriteria(Criteria.where("areaCode").regex(pattern)); + query.addCriteria(Criteria.where("areaCode").regex(pattern)).with(Sort.by(Sort.Order.asc("areaCityCode"))); return mongoTemplate.find(query, AreaDTO.class, MongoDictionaryCollectionEnum.AREA.getValue()); }