mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、system服务国际化相关表免校验租户、token配置;2、system服务枚举相关国际化处理;3、system服务资金管理easyexcel导出表头国际化处理;
This commit is contained in:
+4
-1
@@ -5,8 +5,11 @@ import com.alibaba.excel.converters.ReadConverterContext;
|
||||
import com.alibaba.excel.converters.WriteConverterContext;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
import com.alibaba.excel.metadata.data.WriteCellData;
|
||||
import com.cf.imes.framework.common.constants.ResourceBundleConstants;
|
||||
import com.cf.imes.framework.common.util.i18n.core.util.ResourceBundleUtils;
|
||||
import com.cf.imes.framework.excel.core.annotations.EnumFormat;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@@ -40,7 +43,7 @@ public class EnumBoolValConvert implements Converter<Boolean> {
|
||||
for (Object e : enumClass.getEnumConstants()) {
|
||||
BaseBoolValEnum baseEnum = (BaseBoolValEnum) e;
|
||||
if (baseEnum.getCode().equals(code)) {
|
||||
return new WriteCellData<>(baseEnum.getDesc());
|
||||
return new WriteCellData<>(ResourceBundleUtils.getMessage(ResourceBundleConstants.MESSAGE_ENUM_PATH, baseEnum.getDesc(), baseEnum.getDesc(), LocaleContextHolder.getLocale(), null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -5,8 +5,11 @@ import com.alibaba.excel.converters.ReadConverterContext;
|
||||
import com.alibaba.excel.converters.WriteConverterContext;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
import com.alibaba.excel.metadata.data.WriteCellData;
|
||||
import com.cf.imes.framework.common.constants.ResourceBundleConstants;
|
||||
import com.cf.imes.framework.common.util.i18n.core.util.ResourceBundleUtils;
|
||||
import com.cf.imes.framework.excel.core.annotations.EnumFormat;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@@ -40,7 +43,7 @@ public class EnumConvert implements Converter<Integer> {
|
||||
for (Object e : enumClass.getEnumConstants()) {
|
||||
BaseEnum baseEnum = (BaseEnum) e;
|
||||
if (baseEnum.getCode().equals(code)) {
|
||||
return new WriteCellData<>(baseEnum.getDesc());
|
||||
return new WriteCellData<>(ResourceBundleUtils.getMessage(ResourceBundleConstants.MESSAGE_ENUM_PATH, baseEnum.getDesc(), baseEnum.getDesc(), LocaleContextHolder.getLocale(), null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -35,6 +35,7 @@ public class ExcelUtils {
|
||||
EasyExcelFactory.write(response.getOutputStream(), head)
|
||||
.autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
|
||||
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度,自动适配。最大 255 宽度
|
||||
.registerWriteHandler(new I18nHeadWriteHandler())
|
||||
.registerConverter(new LongStringConverter()) // 避免 Long 类型丢失精度
|
||||
.sheet(sheetName).doWrite(data);
|
||||
// 设置 header 和 contentType。写在最后的原因是,避免报错时,响应 contentType 已经被修改了
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.cf.imes.framework.excel.core.util;
|
||||
|
||||
import com.alibaba.excel.metadata.Head;
|
||||
import com.alibaba.excel.metadata.data.WriteCellData;
|
||||
import com.alibaba.excel.write.handler.CellWriteHandler;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
|
||||
import com.cf.imes.framework.common.constants.ResourceBundleConstants;
|
||||
import com.cf.imes.framework.common.util.i18n.core.util.ResourceBundleUtils;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 表头国际化处理器
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/11/21 11:05
|
||||
*/
|
||||
public class I18nHeadWriteHandler implements CellWriteHandler {
|
||||
@Override
|
||||
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
|
||||
if (Boolean.TRUE.equals(isHead)) {
|
||||
String key = head.getHeadNameList().get(0);
|
||||
cell.setCellValue(ResourceBundleUtils.getMessage(ResourceBundleConstants.MESSAGE_ENUM_PATH, key, key, LocaleContextHolder.getLocale(), null));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user