diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm index cc612e337..e1ec7adaf 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm @@ -3,12 +3,24 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePac import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.javaType} == "BigDecimal") +#if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult})##通用操作 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) import java.math.BigDecimal; #end -#if (${column.javaType} == "LocalDateTime") +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end import javax.validation.constraints.*; diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm index d4f6f8ea9..5bf0f9180 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm @@ -4,14 +4,24 @@ import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import javax.validation.constraints.*; -## 处理 Date 字段的引入 +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}) - && ${column.javaType} == "LocalDateTime")## 时间类型 -import org.springframework.format.annotation.DateTimeFormat; +#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}))##不是通用字段 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -#break +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/excelVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/excelVO.vm index 15c6660c8..a88ab3ce1 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/excelVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/excelVO.vm @@ -3,22 +3,24 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePac import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.javaType} == "BigDecimal") +#if (${column.listOperationResult})##返回字段 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) import java.math.BigDecimal; #end -#if (${column.javaType} == "LocalDateTime") +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; #end - -import com.alibaba.excel.annotation.ExcelProperty; -#foreach ($column in $columns) -#if ("$!column.dictType" != "")## 有设置数据字典 -import ${DictFormatClassName}; -import ${DictConvertClassName}; - -#break #end #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm index d3ef4aacd..36001ceea 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm @@ -4,14 +4,24 @@ import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import ${PageParamClassName}; -## 处理 Date 字段的引入 +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.listOperation} && ${column.javaType} == "LocalDateTime")## 时间类型 +#if (${column.listOperation})##查询操作 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; import org.springframework.format.annotation.DateTimeFormat; - import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -#break +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end ## 字段模板 diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm index 6f9868da3..f46282764 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm @@ -4,14 +4,24 @@ import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import ${PageParamClassName}; -## 处理 Date 字段的引入 +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.listOperation} && ${column.javaType} == "LocalDateTime")## 时间类型 -import org.springframework.format.annotation.DateTimeFormat; +#if (${column.listOperation})##查询操作 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; - +import org.springframework.format.annotation.DateTimeFormat; import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -#break +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end ## 字段模板 diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm index 517d8bcd5..656f862a5 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm @@ -2,10 +2,24 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePac import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.javaType} == "LocalDateTime") +#if (${column.listOperationResult} && (!${column.createOperation} || !${column.updateOperation}))##不是通用字段 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; -#break +import org.springframework.format.annotation.DateTimeFormat; +import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/updateReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/updateReqVO.vm index 48d74321d..0782d549a 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/updateReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/updateReqVO.vm @@ -4,14 +4,24 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import javax.validation.constraints.*; -## 处理 Date 字段的引入 +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}) - && ${column.javaType} == "LocalDateTime")## 时间类型 -import org.springframework.format.annotation.DateTimeFormat; +#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}))##不是通用字段 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -#break +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm index d551d4b30..76397a6da 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm @@ -2,12 +2,24 @@ package ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.busines import lombok.*; import java.util.*; +## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 +#set($importedClasses = []) #foreach ($column in $columns) -#if (${column.javaType} == "BigDecimal") +#if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段 +#if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) +#set($dummy = $importedClasses.add("java.math.BigDecimal")) import java.math.BigDecimal; #end -#if (${column.javaType} == "LocalDateTime") +#if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) +#set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +#end +#if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) +#set($dummy = $importedClasses.add("java.time.LocalDate")) +import java.time.LocalDate; +#end #end #end import com.baomidou.mybatisplus.annotation.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java index d570c5744..5e9509465 100755 --- a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java +++ b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java @@ -14,6 +14,7 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Map; import static cn.hutool.core.util.RandomUtil.randomEle; @@ -140,7 +141,7 @@ public class MailLogServiceImplTest extends BaseDbUnitTest { o.setAccountId(10L); o.setTemplateId(100L); o.setSendStatus(MailSendStatusEnum.INIT.getStatus()); - o.setSendTime(buildTime(2023, 2, 10)); + o.setSendTime(LocalDateTime.now()); o.setTemplateParams(randomTemplateParams()); }); mailLogMapper.insert(dbMailLog); @@ -157,7 +158,7 @@ public class MailLogServiceImplTest extends BaseDbUnitTest { // 测试 sendStatus 不匹配 mailLogMapper.insert(cloneIgnoreId(dbMailLog, o -> o.setSendStatus(MailSendStatusEnum.SUCCESS.getStatus()))); // 测试 sendTime 不匹配 - mailLogMapper.insert(cloneIgnoreId(dbMailLog, o -> o.setSendTime(buildTime(2023, 3, 10)))); + mailLogMapper.insert(cloneIgnoreId(dbMailLog, o -> o.setSendTime(LocalDateTime.now()))); // 准备参数 MailLogPageReqVO reqVO = new MailLogPageReqVO(); reqVO.setUserId(1L);