From 8391a3edbfc436ce9cfd2c202d13564d9b830b80 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 27 Jun 2023 17:44:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90dict=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9F=A5=E8=AF=A2=E5=AD=97=E5=85=B8=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=88=E5=B9=B3=E9=93=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/controller/DictController.java | 6 +++-- .../modular/pojo/request/DictRequest.java | 6 +++++ .../dict/modular/service/DictService.java | 19 ++++----------- .../dict/modular/service/DictTypeService.java | 8 +++++++ .../modular/service/impl/DictServiceImpl.java | 23 +++++++++++-------- .../service/impl/DictTypeServiceImpl.java | 19 +++++++++++++++ 6 files changed, 54 insertions(+), 27 deletions(-) diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java index 50bc08fbf..ca467bfbb 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java @@ -120,10 +120,12 @@ public class DictController { } /** - * 获取字典列表 + * 获取平铺(展开)结构的字典列表 + *

+ * 本接口可能会传字典类型id,或者字典类型编码,或者searchText * * @author fengshuonan - * @since 2020/10/29 16:35 + * @since 2023/6/27 17:36 */ @GetResource(name = "获取字典列表", path = "/dict/list") public ResponseData> list(DictRequest dictRequest) { diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java index d85dbc316..864c3c4ac 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java @@ -128,6 +128,12 @@ public class DictRequest extends BaseRequest { @ChineseDescription("所有的父级id") private String dictPids; + /** + * 搜索条件:字典类型编码 + */ + @ChineseDescription("搜索条件:字典类型编码") + private String dictTypeCode; + /** * 获取树形列表 */ diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java index e093a5bac..b572d5657 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java @@ -24,7 +24,6 @@ */ package cn.stylefeng.roses.kernel.dict.modular.service; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.dict.api.DictApi; import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; @@ -87,25 +86,15 @@ public interface DictService extends IService, DictApi { SysDict detail(DictRequest dictRequest); /** - * 获取字典列表 + * 获取平铺(展开)结构的字典列表 + *

+ * 本接口可能会传字典类型id,或者字典类型编码,或者searchText * - * @param dictRequest 字典对象 - * @return 字典列表 * @author fengshuonan - * @since 2020/10/29 18:48 + * @since 2023/6/27 17:43 */ List findList(DictRequest dictRequest); - /** - * 获取字典列表(带分页) - * - * @param dictRequest 查询条件 - * @return 带分页的列表 - * @author fengshuonan - * @since 2020/10/29 18:48 - */ - PageResult findPage(DictRequest dictRequest); - /** * 删除字典类型下的所有字典 * diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java index bd9802491..12abc86ce 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java @@ -85,4 +85,12 @@ public interface DictTypeService extends IService { */ List findList(DictTypeRequest dictTypeRequest); + /** + * 通过字典类型的编码,获取到字典类型的id + * + * @author fengshuonan + * @since 2023/6/27 17:39 + */ + Long getDictTypeIdByDictTypeCode(String dictTypeCode); + } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java index 29d25d7e6..eaad5da5b 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java @@ -27,9 +27,6 @@ package cn.stylefeng.roses.kernel.dict.modular.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; -import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.dict.api.exception.DictException; import cn.stylefeng.roses.kernel.dict.api.exception.enums.DictExceptionEnum; import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; @@ -45,7 +42,6 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -162,12 +158,6 @@ public class DictServiceImpl extends ServiceImpl implements return this.list(wrapper); } - @Override - public PageResult findPage(DictRequest dictRequest) { - Page page = this.page(PageFactory.defaultPage(), this.createWrapper(dictRequest)); - return PageResultFactory.createPageResult(page); - } - @Override public void removeByDictTypeId(Long dictTypeId) { LambdaQueryWrapper sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -266,6 +256,19 @@ public class DictServiceImpl extends ServiceImpl implements // 根据字典类型id查询字典 queryWrapper.eq(StrUtil.isNotBlank(dictRequest.getDictTypeId()), SysDict::getDictTypeId, dictRequest.getDictTypeId()); + // 根据字典类型编码查询 + if (StrUtil.isNotBlank(dictRequest.getDictTypeCode())) { + + // 根据字典类型编码,获取字典类型的id + Long dictTypeId = dictTypeService.getDictTypeIdByDictTypeCode(dictRequest.getDictTypeCode()); + if (dictTypeId != null) { + queryWrapper.eq(SysDict::getDictTypeId, dictTypeId); + } else { + // 字典类型不存在,则查询一个不存在的字典类型id + queryWrapper.eq(SysDict::getDictTypeId, -1L); + } + } + return queryWrapper; } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java index f65101bee..cea76e138 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java @@ -122,6 +122,25 @@ public class DictTypeServiceImpl extends ServiceImpl sysDictTypeLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysDictTypeLambdaQueryWrapper.eq(SysDictType::getDictTypeCode, dictTypeCode); + sysDictTypeLambdaQueryWrapper.select(SysDictType::getDictTypeId); + SysDictType sysDictType = this.getOne(sysDictTypeLambdaQueryWrapper); + + if (sysDictType == null) { + return null; + } + + return sysDictType.getDictTypeId(); + } + /** * 校验dictTypeClass是否是系统字典,如果是系统字典只能超级管理员操作 *