From b0781f9abe6b5a2bff62e6fb3e674f865e7de306 Mon Sep 17 00:00:00 2001 From: "Emil.Zhang" Date: Wed, 10 May 2023 17:38:02 +0800 Subject: [PATCH] =?UTF-8?q?fixed(=E5=AD=97=E5=85=B8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=80=A6=E5=90=88=E9=97=AE=E9=A2=98):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.修改基础包下字典接口 2.还原system下的字典接口 --- .../web/controller/system/SysDictDataController.java | 4 +--- .../com/ruoyi/common/core/service/DictService.java | 10 ++++------ .../com/ruoyi/common/excel/ExcelDownHandler.java | 11 +++++------ .../ruoyi/system/service/ISysDictTypeService.java | 8 ++++++++ .../system/service/impl/SysDictTypeServiceImpl.java | 12 ++++++++++++ 5 files changed, 30 insertions(+), 15 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index be18fe3db..01613db8b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -8,7 +8,6 @@ import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.service.DictService; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysDictDataService; @@ -34,7 +33,6 @@ public class SysDictDataController extends BaseController { private final ISysDictDataService dictDataService; private final ISysDictTypeService dictTypeService; - private final DictService dictService; /** * 查询字典数据列表 @@ -74,7 +72,7 @@ public class SysDictDataController extends BaseController { */ @GetMapping(value = "/type/{dictType}") public R> dictType(@PathVariable String dictType) { - List data = dictService.selectDictDataByType(dictType); + List data = dictTypeService.selectDictDataByType(dictType); if (ObjectUtil.isNull(data)) { data = new ArrayList<>(); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/DictService.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/DictService.java index df4cbf70c..a4dbfd5b7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/DictService.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/DictService.java @@ -1,8 +1,6 @@ package com.ruoyi.common.core.service; -import com.ruoyi.common.core.domain.entity.SysDictData; - -import java.util.List; +import java.util.Map; /** * 通用 字典服务 @@ -59,10 +57,10 @@ public interface DictService { String getDictValue(String dictType, String dictLabel, String separator); /** - * 根据字典类型查询字典数据 + * 获取字典下所有的字典值与标签 * * @param dictType 字典类型 - * @return 字典数据集合信息 + * @return dictValue为key,dictLabel为值组成的Map */ - List selectDictDataByType(String dictType); + Map getAllDictByDictType(String dictType); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelDownHandler.java b/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelDownHandler.java index 4b7ab155b..5c5f997d7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelDownHandler.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelDownHandler.java @@ -9,7 +9,6 @@ import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.annotation.ExcelEnumFormat; -import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.service.DictService; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.spring.SpringUtils; @@ -97,11 +96,11 @@ public class ExcelDownHandler implements SheetWriteHandler { if (StrUtil.isNotBlank(dictType)) { // 如果传递了字典名,则依据字典建立下拉 options = - Optional.ofNullable(dictService.selectDictDataByType(dictType)) - .orElseThrow(() -> new ServiceException(String.format("字典 %s 不存在", dictType))) - .stream() - .map(SysDictData::getDictLabel) - .collect(Collectors.toList()); + new ArrayList<>( + Optional.ofNullable(dictService.getAllDictByDictType(dictType)) + .orElseThrow(() -> new ServiceException(String.format("字典 %s 不存在", dictType))) + .values() + ); } else if (StrUtil.isNotBlank(converterExp)) { // 如果指定了确切的值,则直接解析确切的值 options = StrUtil.split( diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java index b0c64e267..0e3d94dab 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java @@ -32,6 +32,14 @@ public interface ISysDictTypeService { */ List selectDictTypeAll(); + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + List selectDictDataByType(String dictType); + /** * 根据字典类型ID查询信息 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index c142c5d6c..6937f6734 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -279,4 +279,16 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService } } + @Override + public Map getAllDictByDictType(String dictType) { + List thisDictTypeDataList = selectDictDataByType(dictType); + Map dictMap = null; + for (SysDictData everyDictData : thisDictTypeDataList) { + if (ObjectUtil.isNull(dictMap)) { + dictMap = new HashMap<>(); + } + dictMap.put(everyDictData.getDictValue(), everyDictData.getDictLabel()); + } + return dictMap; + } }