From 8fab7a8981e8444187f5f431b230c5d32c0e42bb Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Mon, 8 Nov 2021 10:50:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9C=B0=E5=8C=BA=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dictionary/service/IAreaService.java | 18 +++++++++++++++++- .../service/impl/AreaServiceImpl.java | 18 +++++++++++++++++- .../resources/mybatis/mapper/area-mapper.xml | 8 ++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/IAreaService.java b/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/IAreaService.java index 0c036bc5..2987c3e9 100644 --- a/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/IAreaService.java +++ b/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/IAreaService.java @@ -64,6 +64,14 @@ public interface IAreaService { */ AreaDTO get(String areaId); + /** + * 通过编码获取地区字典详情 + * + * @param areaCode + * @return + */ + AreaDTO getByCode(String areaCode); + /** * 通过上级ID获取地区字典列表 * @@ -99,8 +107,16 @@ public interface IAreaService { /** * 地区字典列表(通过地区字典编码) * - * @param areaCode + * @param areaCode 地区编码 * @return */ List listByCode(String areaCode); + + /** + * 地区字典子列表(不包含本级) + * + * @param areaCode 地区编码 + * @return + */ + List listSubByCode(String areaCode); } diff --git a/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/impl/AreaServiceImpl.java b/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/impl/AreaServiceImpl.java index ae6b1fcd..e386ac54 100644 --- a/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/impl/AreaServiceImpl.java +++ b/module-dictionary/src/main/java/ink/wgink/module/dictionary/service/impl/AreaServiceImpl.java @@ -11,6 +11,7 @@ import ink.wgink.pojo.ListPage; import ink.wgink.pojo.dtos.ZTreeDTO; import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.util.map.HashMapUtil; +import ink.wgink.util.string.WStringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -69,6 +70,13 @@ public class AreaServiceImpl extends DefaultBaseService implements IAreaService return areaDao.get(params); } + @Override + public AreaDTO getByCode(String areaCode) { + Map params = getHashMap(2); + params.put("areaCode", areaCode); + return areaDao.get(params); + } + @Override public List listByParentId(String areaParentId) { Map params = getHashMap(1); @@ -106,7 +114,15 @@ public class AreaServiceImpl extends DefaultBaseService implements IAreaService @Override public List listByCode(String areaCode) { Map params = getHashMap(1); - params.put("areaCode", areaCode); + params.put("areaCode", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0')); + return areaDao.list(params); + } + + @Override + public List listSubByCode(String areaCode) { + Map params = getHashMap(4); + params.put("areaCode", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0')); + params.put("excludeAreaCode", areaCode); return areaDao.list(params); } 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 bb674293..b125e75d 100644 --- a/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml +++ b/module-dictionary/src/main/resources/mybatis/mapper/area-mapper.xml @@ -208,6 +208,10 @@ AND area_code LIKE CONCAT(#{areaCode}, '%') + + AND + area_code != #{excludeAreaCode} + AND area_id IN @@ -248,6 +252,10 @@ AND t1.area_id = #{areaId} + + AND + t1.area_code = #{areaCode} +