From 1b64de8f479ad2c662d8beb8423e465d511278dd Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期二, 03 六月 2025 14:31:49 +0800 Subject: [PATCH] OffsetDateTime时区问题 --- ruoyi-common/src/main/java/com/ruoyi/common/handler/MyMetaObjectHandler.java | 43 +++++++++++++++++++++++++++++++------------ 1 files changed, 31 insertions(+), 12 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/handler/MyMetaObjectHandler.java b/ruoyi-common/src/main/java/com/ruoyi/common/handler/MyMetaObjectHandler.java index 3ae24ea..81c6558 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/handler/MyMetaObjectHandler.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/handler/MyMetaObjectHandler.java @@ -5,25 +5,44 @@ import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; -/** - * @Author: zhangxy - * @Date: 2020-08-05 14:40 - */ @Component public class MyMetaObjectHandler implements MetaObjectHandler { + @Override public void insertFill(MetaObject metaObject) { - Long userId = SecurityUtils.getLoginUser().getUserId(); - this.strictInsertFill(metaObject, "createBy", Long.class, userId); - this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); + // 鍒ゆ柇瀛楁鏄惁瀛樺湪锛屽瓨鍦ㄦ墠濉厖 + if (metaObject.hasSetter("createBy")) { + Long userId; + try { + if (SecurityUtils.getLoginUser() != null) { + userId = SecurityUtils.getLoginUser().getUserId(); + this.strictInsertFill(metaObject, "createBy", String.class, userId.toString()); + } + } catch (Exception ignored) { + } + } + + if (metaObject.hasSetter("createTime")) { + this.strictInsertFill(metaObject, "createTime", OffsetDateTime.class, OffsetDateTime.now()); + } + + if (metaObject.hasSetter("updateTime")) { + this.strictUpdateFill(metaObject, "updateTime", OffsetDateTime.class, OffsetDateTime.now()); + } } @Override public void updateFill(MetaObject metaObject) { - Long userId = SecurityUtils.getLoginUser().getUserId(); - this.strictInsertFill(metaObject, "updateBy", Long.class, userId); - this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); + // 鍒ゆ柇瀛楁鏄惁瀛樺湪锛屽瓨鍦ㄦ墠濉厖 + if (metaObject.hasSetter("updateBy")) { + Long userId = SecurityUtils.getLoginUser().getUserId(); + this.strictUpdateFill(metaObject, "updateBy", String.class, userId.toString()); + } + + if (metaObject.hasSetter("updateTime")) { + this.strictUpdateFill(metaObject, "updateTime", OffsetDateTime.class, OffsetDateTime.now()); + } } -} +} \ No newline at end of file -- Gitblit v1.9.3