From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/common/excel/ExcelDictConverter.java | 36 +++++++++++++++++++++++++++++++++---
1 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/springblade/common/excel/ExcelDictConverter.java b/src/main/java/org/springblade/common/excel/ExcelDictConverter.java
index 6fe4f99..8a9dfaf 100644
--- a/src/main/java/org/springblade/common/excel/ExcelDictConverter.java
+++ b/src/main/java/org/springblade/common/excel/ExcelDictConverter.java
@@ -5,6 +5,8 @@
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.github.xiaoymin.knife4j.core.util.StrUtil;
+import org.springblade.common.cache.DictBizCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.service.IDictBizService;
@@ -32,9 +34,37 @@
return CellDataTypeEnum.STRING;
}
+ /**
+ * 导入excel 解析到java 对象
+ * @param cellData
+ * @param excelContentProperty
+ * @param globalConfiguration
+ * @return
+ * @throws Exception
+ */
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
- return null;
+ // 获取字典类型
+ Field field = excelContentProperty.getField();
+ ExcelDictItemLabel excel = field.getAnnotation(ExcelDictItemLabel.class);
+ String dictType = excel.type();
+ // 为空返回
+ String dictLabel = cellData.getStringValue();
+ if (StrUtil.isBlank(dictLabel)) {
+ return dictLabel;
+ }
+ // 查询字典
+ List<DictBiz> list = DictBizCache.getList(dictType);
+ //解析返回
+ String key = "";
+ for (DictBiz dictBiz : list) {
+ if (dictBiz.getDictValue().equals(dictLabel)){
+ key = dictBiz.getDictKey();
+ break;
+ }
+ }
+ // 返回key
+ return key;
}
/**
@@ -51,13 +81,13 @@
Field field = excelContentProperty.getField();
ExcelDictItem excel = field.getAnnotation(ExcelDictItem.class);
String dictType = excel.type();
- IDictBizService dictBizService = SpringUtils.getBean(IDictBizService.class);
- List<DictBiz> list = dictBizService.getList(dictType);
+ List<DictBiz> list = DictBizCache.getList(dictType);
String value = "";
//解析返回
for (DictBiz dictBiz : list) {
if (dictBiz.getDictKey().equals(dictValue)){
value = dictBiz.getDictValue();
+ break;
}
}
return new CellData(value);
--
Gitblit v1.9.3