diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java index 86adc236cd63b10a409124ba9d0cc6d0ada8ac2f..d189a914122e8e04c0c410bb26f385cf943db956 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java @@ -8,7 +8,7 @@ import com.fhs.core.trans.constant.TransType; import com.fhs.core.trans.vo.TransPojo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import net.maku.framework.common.excel.DateConverter; +import net.maku.framework.common.excel.LocalDateTimeConverter; import net.maku.framework.common.utils.DateUtils; import java.io.Serializable; @@ -61,9 +61,9 @@ public class SysLogLoginVO implements Serializable, TransPojo { @ExcelProperty(value = "操作信息") private String operationLabel; - @ExcelProperty(value = "创建时间", converter = DateConverter.class) + @ExcelProperty(value = "创建时间", converter = LocalDateTimeConverter.class) @Schema(description = "创建时间") @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) private LocalDateTime createTime; -} \ No newline at end of file +} diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysUserExcelVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysUserExcelVO.java index a67e6dffbd933aaf7e0793ea772842e2681c436c..b9f1dad5f927a3c838da37730af9de1c4e9cd344 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysUserExcelVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysUserExcelVO.java @@ -6,7 +6,7 @@ import com.fhs.core.trans.anno.Trans; import com.fhs.core.trans.constant.TransType; import com.fhs.core.trans.vo.TransPojo; import lombok.Data; -import net.maku.framework.common.excel.DateConverter; +import net.maku.framework.common.excel.LocalDateTimeConverter; import java.io.Serializable; import java.time.LocalDateTime; @@ -63,7 +63,7 @@ public class SysUserExcelVO implements Serializable, TransPojo { @ExcelProperty(value = "超级管理员") private String superAdminLabel; - @ExcelProperty(value = "创建时间", converter = DateConverter.class) + @ExcelProperty(value = "创建时间", converter = LocalDateTimeConverter.class) private LocalDateTime createTime; } diff --git a/maku-framework/src/main/java/net/maku/framework/common/excel/LocalDateTimeConverter.java b/maku-framework/src/main/java/net/maku/framework/common/excel/LocalDateTimeConverter.java new file mode 100644 index 0000000000000000000000000000000000000000..1e37e722f1f9f4138f8519765599f6243689b822 --- /dev/null +++ b/maku-framework/src/main/java/net/maku/framework/common/excel/LocalDateTimeConverter.java @@ -0,0 +1,43 @@ +package net.maku.framework.common.excel; + +import cn.hutool.core.date.LocalDateTimeUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; +import net.maku.framework.common.utils.DateUtils; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * 日期转换 + * + * @author eden + */ +public class LocalDateTimeConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return LocalDateTime.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public LocalDateTime convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { + String dateString = cellData.getStringValue(); + return dateString == null ? null : LocalDateTimeUtil.parse(dateString, DateTimeFormatter.ofPattern(DateUtils.DATE_TIME_PATTERN)); + } + + @Override + public WriteCellData convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { + String dateValue = LocalDateTimeUtil.format(value, DateUtils.DATE_TIME_PATTERN); + return new WriteCellData<>(dateValue); + } +} diff --git a/maku-server/src/test/java/net/maku/EasyExcelTest.java b/maku-server/src/test/java/net/maku/EasyExcelTest.java index a7107c33f044ff40655915ebdddf186b3eecb71a..9d96a6e54e6ea14e8d71fc211f58d3cea79c4c0e 100644 --- a/maku-server/src/test/java/net/maku/EasyExcelTest.java +++ b/maku-server/src/test/java/net/maku/EasyExcelTest.java @@ -2,8 +2,8 @@ package net.maku; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; -import net.maku.framework.common.excel.DateConverter; import net.maku.framework.common.excel.ExcelFinishCallBack; +import net.maku.framework.common.excel.LocalDateTimeConverter; import net.maku.framework.common.utils.ExcelUtils; import org.junit.jupiter.api.Test; @@ -64,7 +64,7 @@ public class EasyExcelTest { @ExcelProperty("小数") private Double decimals; - @ExcelProperty(value = "日期", converter = DateConverter.class) + @ExcelProperty(value = "日期", converter = LocalDateTimeConverter.class) private LocalDateTime date; }