diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 41a802b44ff5ff50c0dbc282e27088d60b3161b0..525ec15f4cd0720c1e11bfa3b81f2252c8387d13 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -36,7 +36,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.time.Duration; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.function.Supplier; @@ -180,7 +180,7 @@ public class SysLoginService { SysUser sysUser = new SysUser(); sysUser.setUserId(userId); sysUser.setLoginIp(ip); - sysUser.setLoginDate(DateUtils.getNowDate()); + sysUser.setLoginDate(Instant.now()); sysUser.setUpdateBy(userId); DataPermissionHelper.ignore(() -> userMapper.updateById(sysUser)); } @@ -242,7 +242,7 @@ public class SysLoginService { log.info("登录租户:{} 已被停用.", tenantId); throw new TenantException("tenant.blocked"); } else if (ObjectUtil.isNotNull(tenant.getExpireTime()) - && new Date().after(tenant.getExpireTime())) { + && Instant.now().isAfter(tenant.getExpireTime())) { log.info("登录租户:{} 已超过有效期.", tenantId); throw new TenantException("tenant.expired"); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/TaskAssigneeDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/TaskAssigneeDTO.java index 85893e1dc4be8cab94dc7ae5f0638b6526bc0e50..0bfd84e04baf763e1cf5b147b964e928fc8e43c4 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/TaskAssigneeDTO.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/TaskAssigneeDTO.java @@ -6,7 +6,7 @@ import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; @@ -56,7 +56,7 @@ public class TaskAssigneeDTO implements Serializable { Function handlerCode, Function handlerName, Function groupName, - Function createTimeMapper) { + Function createTimeMapper) { return sourceList.stream() .map(item -> new TaskHandler( String.valueOf(storageId.apply(item)), @@ -95,7 +95,7 @@ public class TaskAssigneeDTO implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserDTO.java index cb5def9a9c0b4d960a145953fdce99cacb510d90..2777c120895cb4290c31eb2c7b8abc7903bcf38e 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserDTO.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserDTO.java @@ -5,7 +5,7 @@ import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -68,6 +68,6 @@ public class UserDTO implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/Date8Utils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/Date8Utils.java new file mode 100644 index 0000000000000000000000000000000000000000..3758c3e3a3fd2bd24fe84e43ca84399cf1372e76 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/Date8Utils.java @@ -0,0 +1,75 @@ +package org.dromara.common.core.utils; + +import org.dromara.common.core.enums.FormatsType; + +import java.text.SimpleDateFormat; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.concurrent.TimeUnit; + +public class Date8Utils { + + /** + * 获取当前日期的路径格式字符串,格式为"yyyy/MM/dd" + * + * @return 当前日期的路径格式字符串 + */ + public static String datePath() { + //Instant now = Instant.now(); + LocalDateTime localDateTime = LocalDateTime.now(); + return DateTimeFormatter.ofPattern(FormatsType.YYYY_MM_DD_SLASH.getTimeFormat()).format(localDateTime); + } + + /** + * 获取当前日期的字符串表示,格式为YYYY-MM-DD + * + * @return 当前日期的字符串表示 + */ + public static String getDate() { + LocalDateTime localDateTime = LocalDateTime.now(); + return DateTimeFormatter.ofPattern(FormatsType.YYYY_MM_DD.getTimeFormat()).format(localDateTime); + } + + /** + * 计算两个时间点的差值(天、小时、分钟、秒),当值为0时不显示该单位 + * + * @param endInstant 结束时间 + * @param nowInstant 当前时间 + * @return 时间差字符串,格式为 "x天 x小时 x分钟 x秒",若为 0 则不显示 + */ + public static String getTimeDifference(Instant endInstant, Instant nowInstant) { + long diffInMillis = Duration.between(endInstant, nowInstant).toMillis(); + long day = TimeUnit.MILLISECONDS.toDays(diffInMillis); + long hour = TimeUnit.MILLISECONDS.toHours(diffInMillis) % 24; + long min = TimeUnit.MILLISECONDS.toMinutes(diffInMillis) % 60; + long sec = TimeUnit.MILLISECONDS.toSeconds(diffInMillis) % 60; + // 构建时间差字符串,条件是值不为0才显示 + StringBuilder result = new StringBuilder(); + if (day > 0) { + result.append(String.format("%d天 ", day)); + } + if (hour > 0) { + result.append(String.format("%d小时 ", hour)); + } + if (min > 0) { + result.append(String.format("%d分钟 ", min)); + } + if (sec > 0) { + result.append(String.format("%d秒", sec)); + } + return result.length() > 0 ? result.toString().trim() : "0秒"; + } + + /** + * 将指定日期按照指定格式进行格式化 + * + * @param format 要使用的日期时间格式,例如"YYYY-MM-DD HH:MM:SS" + * @param instant 要格式化的日期对象 + * @return 格式化后的日期时间字符串 + */ + public static String parseDateToStr(final FormatsType format, final Instant instant) { + return DateTimeFormatter.ofPattern(format.getTimeFormat()).format(instant); + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java index b52d95e16762eec906dac5bcb6fa159fdfe73a0d..d0aec9868fdf35ff3f3e2c354f045991282dfa4e 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java @@ -16,6 +16,7 @@ import java.util.concurrent.TimeUnit; * * @author ruoyi */ +@Deprecated public class DateUtils extends org.apache.commons.lang3.time.DateUtils { private static final String[] PARSE_PATTERNS = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", diff --git a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JacksonConfig.java b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JacksonConfig.java index 77cf833816f7fbf806aeeba21ba4b785a416e6b0..97e5301251b6a0ee79c858af21d63819e33cd411 100644 --- a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JacksonConfig.java +++ b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JacksonConfig.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import lombok.extern.slf4j.Slf4j; import org.dromara.common.json.handler.BigNumberSerializer; -import org.dromara.common.json.handler.CustomDateDeserializer; +import org.dromara.common.json.handler.CustomInstantDeserializer; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; @@ -16,7 +16,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.Date; +import java.time.Instant; import java.util.TimeZone; /** @@ -40,7 +40,7 @@ public class JacksonConfig { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter)); javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter)); - javaTimeModule.addDeserializer(Date.class, new CustomDateDeserializer()); + javaTimeModule.addDeserializer(Instant.class, new CustomInstantDeserializer()); builder.modules(javaTimeModule); builder.timeZone(TimeZone.getDefault()); log.info("初始化 jackson 配置"); diff --git a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomInstantDeserializer.java b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomInstantDeserializer.java new file mode 100644 index 0000000000000000000000000000000000000000..c78b59556431e6bff4c4d4a42f1f501020f4b5e5 --- /dev/null +++ b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/CustomInstantDeserializer.java @@ -0,0 +1,41 @@ +package org.dromara.common.json.handler; + +import cn.hutool.core.util.StrUtil; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + +/** + * 自定义 Instant 类型反序列化处理器(支持多种格式) + * + * @author AprilWind + */ +public class CustomInstantDeserializer extends JsonDeserializer { + + private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + /** + * 反序列化逻辑:将字符串转换为 Date 对象 + * + * @param p JSON 解析器,用于获取字符串值 + * @param ctxt 上下文环境(可用于获取更多配置) + * @return 转换后的 Instant 对象,若为空字符串返回 null + * @throws IOException,DateTimeParseException 当字符串格式非法或转换失败时抛出 + */ + @Override + public Instant deserialize(JsonParser p, DeserializationContext ctxt) throws IOException,DateTimeParseException { + String text = p.getText(); + if(StrUtil.isBlank(text)){ + return null; + } + LocalDateTime ldt = LocalDateTime.parse(text, FORMATTER); + return ldt.atZone(ZoneId.systemDefault()).toInstant(); + } +} diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java index 03861929c8a25081c22d901dfb1204b4e4dc4d2f..69ed4761995a6d34c4e2aa8a4195461be8ae8a0a 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java @@ -4,7 +4,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 操作日志事件 @@ -106,7 +106,7 @@ public class OperLogEvent implements Serializable { /** * 操作时间 */ - private Date operTime; + private Instant operTime; /** * 消耗时间 diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java index 13a794162d03d1207b69fcaf9dc2b60e17a7c321..5595c52123b720071e67639ade98fb2a3b0a6c13 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java @@ -8,7 +8,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; import java.util.HashMap; import java.util.Map; @@ -46,7 +46,7 @@ public class BaseEntity implements Serializable { * 创建时间 */ @TableField(fill = FieldFill.INSERT) - private Date createTime; + private Instant createTime; /** * 更新者 @@ -58,7 +58,7 @@ public class BaseEntity implements Serializable { * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateTime; + private Instant updateTime; /** * 请求参数 diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/InjectionMetaObjectHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/InjectionMetaObjectHandler.java index fec25792a1d70c1c4379ea86a76c64575c1713e6..639413dc7221f618c849c5e758fc6d1d90054578 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/InjectionMetaObjectHandler.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/InjectionMetaObjectHandler.java @@ -11,7 +11,7 @@ import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.satoken.utils.LoginHelper; -import java.util.Date; +import java.time.Instant; /** * MP注入处理器 @@ -32,7 +32,7 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler { try { if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) { // 获取当前时间作为创建时间和更新时间,如果创建时间不为空,则使用创建时间,否则使用当前时间 - Date current = ObjectUtils.notNull(baseEntity.getCreateTime(), new Date()); + Instant current = ObjectUtils.notNull(baseEntity.getCreateTime(), Instant.now()); baseEntity.setCreateTime(current); baseEntity.setUpdateTime(current); @@ -48,9 +48,9 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler { } } } else { - Date date = new Date(); - this.strictInsertFill(metaObject, "createTime", Date.class, date); - this.strictInsertFill(metaObject, "updateTime", Date.class, date); + Instant now = Instant.now(); + this.strictInsertFill(metaObject, "createTime", Instant.class, now); + this.strictInsertFill(metaObject, "updateTime", Instant.class, now); } } catch (Exception e) { throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED); @@ -67,7 +67,7 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler { try { if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) { // 获取当前时间作为更新时间,无论原始对象中的更新时间是否为空都填充 - Date current = new Date(); + Instant current = Instant.now(); baseEntity.setUpdateTime(current); // 获取当前登录用户的ID,并填充更新人信息 @@ -76,7 +76,7 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler { baseEntity.setUpdateBy(userId); } } else { - this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date()); + this.strictUpdateFill(metaObject, "updateTime", Instant.class, Instant.now()); } } catch (Exception e) { throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED); diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java index de5119e91477e89a0647f0653ee48b76b8550d77..734cbcdade50a6f43c1b20ef7d0584f351f5c835 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java @@ -3,7 +3,7 @@ package org.dromara.common.oss.core; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; import org.dromara.common.core.constant.Constants; -import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.Date8Utils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.file.FileUtils; import org.dromara.common.oss.constant.OssConstant; @@ -439,7 +439,7 @@ public class OssClient { // 生成uuid String uuid = IdUtil.fastSimpleUUID(); // 生成日期路径 - String datePath = DateUtils.datePath(); + String datePath = Date8Utils.datePath(); // 拼接路径 String path = StringUtils.isNotEmpty(prefix) ? prefix + StringUtils.SLASH + datePath + StringUtils.SLASH + uuid : datePath + StringUtils.SLASH + uuid; diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java index e757221c325e8536252d6375a905db1db8f8da2f..6c2b79f24d82558a15d437d4675fcc6415dfbb4e 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java @@ -12,7 +12,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -74,7 +74,7 @@ public class TestDemoVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; /** * 创建人 @@ -93,7 +93,7 @@ public class TestDemoVo implements Serializable { * 更新时间 */ @ExcelProperty(value = "更新时间") - private Date updateTime; + private Instant updateTime; /** * 更新人 diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java index ee2336ac59d59a417309f76069d62f0b79792e56..9e18d9b6d24a2188ea0c93008c04b66bf0f7907a 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java @@ -8,7 +8,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -58,7 +58,7 @@ public class TestTreeVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java index b9888fb63b40d64e8852628ce4eb0d4e2729407c..ad66270a902c5cb23605a75c485abcac7985979a 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java @@ -167,7 +167,7 @@ public interface GenConstants { /** * 时间类型 */ - String TYPE_DATE = "Date"; + String TYPE_DATE = "Instant"; /** * 模糊查询 diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java index b397f37f437ce21ebae0cd4a69320bc6d42518cb..bc52dc0294a3e5d256dca667010ec76ed77f26e2 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java @@ -44,6 +44,7 @@ import java.io.File; import java.io.IOException; import java.io.StringWriter; import java.nio.charset.StandardCharsets; +import java.time.Instant; import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -162,8 +163,8 @@ public class GenTableServiceImpl implements IGenTableService { gen.setTableName(x.getName()); gen.setTableComment(x.getComment()); // postgresql的表元数据没有创建时间这个东西(好奇葩) 只能new Date代替 - gen.setCreateTime(ObjectUtil.defaultIfNull(x.getCreateTime(), new Date())); - gen.setUpdateTime(x.getUpdateTime()); + gen.setCreateTime(x.getCreateTime() != null ? x.getCreateTime().toInstant() : Instant.now()); + gen.setUpdateTime(x.getUpdateTime() != null ? x.getUpdateTime().toInstant() : Instant.now()); return gen; }).sorted(Comparator.comparing(GenTable::getCreateTime).reversed()) .toList(); @@ -199,8 +200,8 @@ public class GenTableServiceImpl implements IGenTableService { gen.setDataName(dataName); gen.setTableName(x.getName()); gen.setTableComment(x.getComment()); - gen.setCreateTime(x.getCreateTime()); - gen.setUpdateTime(x.getUpdateTime()); + gen.setCreateTime(x.getCreateTime() != null ? x.getCreateTime().toInstant() : Instant.now()); + gen.setUpdateTime(x.getUpdateTime() != null ? x.getUpdateTime().toInstant() : Instant.now()); return gen; }).toList(); } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java index 6e111e3a818360c889ba01d9297db915e4c6241c..0f5ce77409501a34e37813d192bac307c6cf9303 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java @@ -3,8 +3,8 @@ package org.dromara.generator.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Dict; +import org.dromara.common.core.utils.Date8Utils; import org.dromara.generator.constant.GenConstants; -import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.mybatis.helper.DataBaseHelper; @@ -63,7 +63,7 @@ public class VelocityUtils { velocityContext.put("basePackage", getPackagePrefix(packageName)); velocityContext.put("packageName", packageName); velocityContext.put("author", genTable.getFunctionAuthor()); - velocityContext.put("datetime", DateUtils.getDate()); + velocityContext.put("datetime", Date8Utils.getDate()); velocityContext.put("pkColumn", genTable.getPkColumn()); velocityContext.put("importList", getImportList(genTable)); velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName)); @@ -211,7 +211,7 @@ public class VelocityUtils { HashSet importList = new HashSet<>(); for (GenTableColumn column : columns) { if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType())) { - importList.add("java.util.Date"); + importList.add("java.time.Instant"); importList.add("com.fasterxml.jackson.annotation.JsonFormat"); } else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType())) { importList.add("java.math.BigDecimal"); diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/vo.java.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/vo.java.vm index 480394c722823869b485ef04e147095ace21d753..f456a6f63ec115923f9687060cb1e85c5c434b5b 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/vo.java.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/vo.java.vm @@ -13,7 +13,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java index c57dc0a526633bc13151636e17d29fbc47144b1e..7a5d89790e78b57b9f21c18a7055ada5d8673db0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java @@ -6,7 +6,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 系统访问记录表 sys_logininfor @@ -80,6 +80,6 @@ public class SysLogininfor implements Serializable { /** * 访问时间 */ - private Date loginTime; + private Instant loginTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java index 41a8c59fa58df1354a884601ea208d753afec4c7..d64400afc3c4c2ad45c04562e261aa5e426564a0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java @@ -6,7 +6,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 操作日志记录表 oper_log @@ -105,7 +105,7 @@ public class SysOperLog implements Serializable { /** * 操作时间 */ - private Date operTime; + private Instant operTime; /** * 消耗时间 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java index 9800c3075811d40d8132502c82cecc0a48e46227..fd380dbd42600294f39a7eadef5115dc9a8843ea 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java @@ -8,7 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; -import java.util.Date; +import java.time.Instant; /** * 租户对象 sys_tenant @@ -82,7 +82,7 @@ public class SysTenant extends BaseEntity { /** * 过期时间 */ - private Date expireTime; + private Instant expireTime; /** * 用户数量(-1不限制) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java index 3712f805fd5172b9f47cb9ae2b0c31f379cfd913..4354ca9ac19418f368bbdb6f53d77e2317d490d2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java @@ -7,7 +7,7 @@ import lombok.NoArgsConstructor; import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.tenant.core.TenantEntity; -import java.util.Date; +import java.time.Instant; /** * 用户对象 sys_user @@ -96,7 +96,7 @@ public class SysUser extends TenantEntity { /** * 最后登录时间 */ - private Date loginDate; + private Instant loginDate; /** * 备注 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java index 464616278a0b74ba4e064162a8bc74f50a4d1f2b..9a72864358f76aceae96d21128530628483ee942 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java @@ -4,7 +4,7 @@ import org.dromara.system.domain.SysLogininfor; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import java.util.Date; +import java.time.Instant; import java.util.HashMap; import java.util.Map; @@ -76,7 +76,7 @@ public class SysLogininforBo { /** * 访问时间 */ - private Date loginTime; + private Instant loginTime; /** * 请求参数 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java index f16400a2fc743205b2b5c4eee96c8df1cfcd0c65..4197cb2ec82d633574a655b0e751ed6604700afb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java @@ -6,7 +6,7 @@ import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMappers; import lombok.Data; -import java.util.Date; +import java.time.Instant; import java.util.HashMap; import java.util.Map; @@ -112,7 +112,7 @@ public class SysOperLogBo { /** * 操作时间 */ - private Date operTime; + private Instant operTime; /** * 消耗时间 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java index e3ac6428fde61a969ec427e8fae535a3cd325930..0d5e461764d3b1649a6f8b526b4ac77bc3b5f4d1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java @@ -8,7 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; -import java.util.Date; +import java.time.Instant; import org.dromara.common.mybatis.core.domain.BaseEntity; @@ -98,7 +98,7 @@ public class SysTenantBo extends BaseEntity { /** * 过期时间 */ - private Date expireTime; + private Instant expireTime; /** * 用户数量(-1不限制) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysConfigVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysConfigVo.java index a35e1323c70b3207e416911938f12752521ed3c0..b167c22edc4d51993cf70b6c4699c8cb405e8311 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysConfigVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysConfigVo.java @@ -10,7 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -67,6 +67,6 @@ public class SysConfigVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java index c9f5a1faf0b7bd488557e47d7e3a69309318de06..01d93e88e839965be20d3a33499d5be424a98a76 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java @@ -11,7 +11,7 @@ import org.dromara.system.domain.SysDept; import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; -import java.util.Date; +import java.time.Instant; import java.util.List; /** @@ -99,7 +99,7 @@ public class SysDeptVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; /** * 子部门 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictDataVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictDataVo.java index d97c00d1bc4085d5cad88c8af3552a50c59fb892..2a10226624fb0dc74991571e04bd05bc2e1b82a1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictDataVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictDataVo.java @@ -10,7 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -83,6 +83,6 @@ public class SysDictDataVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictTypeVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictTypeVo.java index 4b62226e21ec7f939dce3186d959b4b4886c201a..b23eade7ab7d5043e104bb0b402cc4c7a137ee96 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictTypeVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictTypeVo.java @@ -10,7 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -54,6 +54,6 @@ public class SysDictTypeVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java index 3086aa74a4d774c3dc800b7b2280cffb872c94e4..828191c154671d460fb92d881f4318027cd26545 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java @@ -1,6 +1,6 @@ package org.dromara.system.domain.vo; -import java.util.Date; +import java.time.Instant; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; @@ -100,7 +100,7 @@ public class SysLogininforVo implements Serializable { * 访问时间 */ @ExcelProperty(value = "访问时间") - private Date loginTime; + private Instant loginTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java index 5214a336bf2b045e398be38e888b026bb70ef693..174f773a90b0dd108168d70f0e9b2817077a3390 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java @@ -7,7 +7,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; -import java.util.Date; +import java.time.Instant; import java.util.List; @@ -106,7 +106,7 @@ public class SysMenuVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 子菜单 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysNoticeVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysNoticeVo.java index afe73674f1c89dd77eeb1cd4681d4a6c454da871..50235781abc2a5aea1db92678afe8e9b15da4965 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysNoticeVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysNoticeVo.java @@ -8,7 +8,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; @@ -68,6 +68,6 @@ public class SysNoticeVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java index 00b334432c49eed1bc37aceab95934789becf17c..5076e58352780f6db90c0b73505f547ccee5a407 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java @@ -10,7 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -134,7 +134,7 @@ public class SysOperLogVo implements Serializable { * 操作时间 */ @ExcelProperty(value = "操作时间") - private Date operTime; + private Instant operTime; /** * 消耗时间 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java index fe0565182c734bb7b8cd7a98d879d95b3c37755a..e232e1353a0b7b1f55ab819ccb92bce2f3acc98f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java @@ -8,7 +8,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * OSS对象存储视图对象 sys_oss @@ -55,7 +55,7 @@ public class SysOssVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 上传人 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java index 50140b6f17dbf257c8923d7b25daca43f1068903..c9beb724c69710614fb30d7bab47e83f57ad03c6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java @@ -12,7 +12,7 @@ import org.dromara.system.domain.SysPost; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 岗位信息视图对象 sys_post @@ -80,7 +80,7 @@ public class SysPostVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; /** * 部门名 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysRoleVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysRoleVo.java index 1a205cc746be40d7133a5d5a74dd8ed09abaa34a..36fdfe74d695c1449b75e6e8ab9bbc326f3c2a77 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysRoleVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysRoleVo.java @@ -11,7 +11,7 @@ import org.dromara.system.domain.SysRole; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 角色信息视图对象 sys_role @@ -86,7 +86,7 @@ public class SysRoleVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; /** * 用户是否存在此角色标识 默认不存在 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java index 948dbcc7baf7ee56a040336febdba631add3a985..95577581e9817a8e837d5ba30c446c9e9881008e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java @@ -6,7 +6,7 @@ import org.dromara.system.domain.SysSocial; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -140,5 +140,5 @@ public class SysSocialVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java index 021c66488af98e7dca9c2be00d636cb6aec9d4c9..c22e96590743e8b2c97751d21836826a329c2e8f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java @@ -1,6 +1,6 @@ package org.dromara.system.domain.vo; -import java.util.Date; +import java.time.Instant; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; @@ -96,7 +96,7 @@ public class SysTenantVo implements Serializable { * 过期时间 */ @ExcelProperty(value = "过期时间") - private Date expireTime; + private Instant expireTime; /** * 用户数量(-1不限制) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java index 913ab2001511dd0d79dbd88ec2544460b79f06e2..f9d0f7a409f78c131071ef8937b1037deeadfe73 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java @@ -10,7 +10,7 @@ import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 用户对象导出VO @@ -79,7 +79,7 @@ public class SysUserExportVo implements Serializable { * 最后登录时间 */ @ExcelProperty(value = "最后登录时间") - private Date loginDate; + private Instant loginDate; /** * 部门名称 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 86249d20e13add199b095d28954074aa0bf75b22..6a167190e4c2f02298b3a6571cb9ef1d7011dead 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -12,7 +12,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; import java.util.List; @@ -101,7 +101,7 @@ public class SysUserVo implements Serializable { /** * 最后登录时间 */ - private Date loginDate; + private Instant loginDate; /** * 备注 @@ -111,7 +111,7 @@ public class SysUserVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 部门名 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java index 72b497eca5d7f42e5f9fafe58afb61786726a731..1ad03c89f39dc04b1f30bfbdd94b9d236bccbb21 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java @@ -29,7 +29,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.Map; @@ -132,7 +132,7 @@ public class SysLogininforServiceImpl implements ISysLogininforService { @Override public void insertLogininfor(SysLogininforBo bo) { SysLogininfor logininfor = MapstructUtils.convert(bo, SysLogininfor.class); - logininfor.setLoginTime(new Date()); + logininfor.setLoginTime(Instant.now()); baseMapper.insert(logininfor); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOperLogServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOperLogServiceImpl.java index 27c2f32d56a02a5d77c41409522995627bc92ab0..4587098a7b0ac48baf68cd0b32b490f8b0dd904d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOperLogServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOperLogServiceImpl.java @@ -20,7 +20,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.Map; @@ -86,7 +86,7 @@ public class SysOperLogServiceImpl implements ISysOperLogService { @Override public void insertOperlog(SysOperLogBo bo) { SysOperLog operLog = MapstructUtils.convert(bo, SysOperLog.class); - operLog.setOperTime(new Date()); + operLog.setOperTime(Instant.now()); baseMapper.insert(operLog); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java index ca088607b170b69b1e6528921bf17f69a120a6c5..7897cd753da6a458ee69983eb05d887f004962bf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java @@ -34,7 +34,7 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +import java.time.Instant; import java.util.*; /** @@ -365,7 +365,7 @@ public class SysTenantServiceImpl implements ISysTenantService { return true; } // 如果当前时间在过期时间之前则通过 - return new Date().before(tenant.getExpireTime()); + return Instant.now().isBefore(tenant.getExpireTime()); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java index 7d42a9b5f22721474e1389ce82e5c9dea493db25..c3bc02d3213018752cdd69de5b61dd3f50c25cb7 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; -import java.util.Date; +import java.time.Instant; /** * 请假对象 test_leave @@ -37,12 +37,12 @@ public class TestLeave extends BaseEntity { /** * 开始时间 */ - private Date startDate; + private Instant startDate; /** * 结束时间 */ - private Date endDate; + private Instant endDate; /** * 请假天数 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java index 395f71d95b7d73afa5af81ae54da762ff2e74594..23464138ad253ca1432c48d59bd8e589e1260336 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java @@ -12,7 +12,7 @@ import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.workflow.domain.TestLeave; import org.springframework.format.annotation.DateTimeFormat; -import java.util.Date; +import java.time.Instant; /** * 请假业务对象 test_leave @@ -41,17 +41,17 @@ public class TestLeaveBo extends BaseEntity { * 开始时间 */ @NotNull(message = "开始时间不能为空", groups = {AddGroup.class, EditGroup.class}) - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startDate; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Instant startDate; /** * 结束时间 */ @NotNull(message = "结束时间不能为空", groups = {AddGroup.class, EditGroup.class}) - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date endDate; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Instant endDate; /** * 请假天数 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCategoryVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCategoryVo.java index db236c2df80f96045872e216a22e23c38e8c6fd5..4dc3daa603186ab88c4aefc9d9750d22f3ff0e53 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCategoryVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCategoryVo.java @@ -9,7 +9,7 @@ import org.dromara.workflow.domain.FlowCategory; import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; -import java.util.Date; +import java.time.Instant; import java.util.List; @@ -64,7 +64,7 @@ public class FlowCategoryVo implements Serializable { * 创建时间 */ @ExcelProperty(value = "创建时间") - private Date createTime; + private Instant createTime; /** * 子菜单 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java index aef75739a7734aafa9d60959c693087616142642..ebc18c25b5974ee419b554138133dfb30f294d6b 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java @@ -6,7 +6,7 @@ import org.dromara.workflow.common.constant.FlowConstant; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** * 流程定义视图 @@ -24,12 +24,12 @@ public class FlowDefinitionVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 更新时间 */ - private Date updateTime; + private Instant updateTime; /** * 租户ID diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java index 8776a76b8b17c470254435eb9a17d6414d7d4afd..606bbf146ca8f5784b9f56a780e90d18be715730 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java @@ -1,7 +1,7 @@ package org.dromara.workflow.domain.vo; import lombok.Data; -import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.Date8Utils; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; import org.dromara.warm.flow.core.enums.CooperateType; @@ -9,7 +9,7 @@ import org.dromara.workflow.common.constant.FlowConstant; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; import java.util.List; /** @@ -28,12 +28,12 @@ public class FlowHisTaskVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 更新时间 */ - private Date updateTime; + private Instant updateTime; /** * 租户ID @@ -208,7 +208,7 @@ public class FlowHisTaskVo implements Serializable { * * @param createTime 创建时间 */ - public void setCreateTime(Date createTime) { + public void setCreateTime(Instant createTime) { this.createTime = createTime; updateRunDuration(); } @@ -218,7 +218,7 @@ public class FlowHisTaskVo implements Serializable { * * @param updateTime 更新时间 */ - public void setUpdateTime(Date updateTime) { + public void setUpdateTime(Instant updateTime) { this.updateTime = updateTime; updateRunDuration(); } @@ -229,7 +229,7 @@ public class FlowHisTaskVo implements Serializable { private void updateRunDuration() { // 如果创建时间和更新时间均不为空,计算它们之间的时长 if (this.updateTime != null && this.createTime != null) { - this.runDuration = DateUtils.getTimeDifference(this.updateTime, this.createTime); + this.runDuration = Date8Utils.getTimeDifference(this.updateTime, this.createTime); } } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java index 75543f4196cb0513bdc422ddd7a44eefba7d209d..eb55a1cfb4839e9c72c10f7957eb3494060506ca 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java @@ -5,7 +5,7 @@ import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; import org.dromara.workflow.common.constant.FlowConstant; -import java.util.Date; +import java.time.Instant; /** * 流程实例视图 @@ -20,12 +20,12 @@ public class FlowInstanceVo { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 更新时间 */ - private Date updateTime; + private Instant updateTime; /** * 租户ID diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java index 07a22c4f31956e096f45c0f21c0542990de37356..42e1cdf67a62f08864ceb05d722f1e9e4b6ae342 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java @@ -9,7 +9,7 @@ import org.dromara.workflow.common.constant.FlowConstant; import java.io.Serial; import java.io.Serializable; import java.math.BigDecimal; -import java.util.Date; +import java.time.Instant; import java.util.List; /** @@ -28,12 +28,12 @@ public class FlowTaskVo implements Serializable { /** * 创建时间 */ - private Date createTime; + private Instant createTime; /** * 更新时间 */ - private Date updateTime; + private Instant updateTime; /** * 租户ID diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java index 57777eddee0f6e45479de2364caa23c02d1f20be..7c45990380855cb78a55ab9b4ff59ba5b3caad7f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java @@ -9,7 +9,7 @@ import org.dromara.workflow.domain.TestLeave; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.Instant; /** @@ -43,14 +43,14 @@ public class TestLeaveVo implements Serializable { */ @ExcelProperty(value = "开始时间") @JsonFormat(pattern = "yyyy-MM-dd") - private Date startDate; + private Instant startDate; /** * 结束时间 */ @ExcelProperty(value = "结束时间") @JsonFormat(pattern = "yyyy-MM-dd") - private Date endDate; + private Instant endDate; /** * 请假天数 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java index 3009e0a1dc9f3a582ee5cea8121c6229b22f27d6..abc04717c7b7fab73030a46bc9d6834891c5095d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java @@ -14,7 +14,7 @@ import org.dromara.common.core.enums.FormatsType; import org.dromara.common.core.service.DeptService; import org.dromara.common.core.service.TaskAssigneeService; import org.dromara.common.core.service.UserService; -import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.Date8Utils; import org.dromara.common.core.utils.StringUtils; import org.dromara.warm.flow.ui.dto.HandlerFunDto; import org.dromara.warm.flow.ui.dto.HandlerQuery; @@ -162,7 +162,7 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand Optional.ofNullable(assignee.getGroupName()) .map(deptService::selectDeptNameByIds) .orElse(DEFAULT_GROUP_NAME), DEFAULT_GROUP_NAME)) - .setCreateTime(assignee -> DateUtils.parseDateToStr(FormatsType.YYYY_MM_DD_HH_MM_SS, assignee.getCreateTime())); + .setCreateTime(assignee -> Date8Utils.parseDateToStr(FormatsType.YYYY_MM_DD_HH_MM_SS, assignee.getCreateTime())); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 8a2f723802c2f2477f56817a55ed4f6287b7fd36..b277b295aa1b98f6285f4764188431824bd43ca6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -54,6 +54,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.time.Instant; import java.util.*; import java.util.stream.Collectors; @@ -243,14 +244,14 @@ public class FlwTaskServiceImpl implements IFlwTaskService { long taskId = identifierGenerator.nextId(null).longValue(); task.setId(taskId); task.setNodeName("【抄送】" + task.getNodeName()); - Date updateTime = new Date(flowHisTask.getUpdateTime().getTime() - 1000); + Instant updateTime = flowHisTask.getUpdateTime().toInstant().plusSeconds(-1); FlowParams flowParams = FlowParams.build() .skipType(SkipType.NONE.getKey()) .hisStatus(TaskStatusEnum.COPY.getStatus()) .message("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopyBo::getUserName)); HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams); - hisTask.setCreateTime(updateTime); - hisTask.setUpdateTime(updateTime); + hisTask.setCreateTime(Date.from(updateTime)); + hisTask.setUpdateTime(Date.from(updateTime)); hisTaskService.save(hisTask); List userList = flowCopyList.stream() .map(flowCopy -> { diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index 3a773345dc6df2346d5732fd4e0b56d0f083ad14..5301632f4c2342c2d51de102b4967e7a22170f34 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -29,6 +29,7 @@ import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.Duration; import java.util.List; import java.util.Map; @@ -101,7 +102,8 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @Override public TestLeaveVo insertByBo(TestLeaveBo bo) { - long day = DateUtil.betweenDay(bo.getStartDate(), bo.getEndDate(), true); + Duration duration = Duration.between(bo.getStartDate(),bo.getEndDate()); + long day = duration.toDays(); // 截止日期也算一天 bo.setLeaveDays((int) day + 1); TestLeave add = MapstructUtils.convert(bo, TestLeave.class);