From 210b5af1c7f15f45c5d1abca607bd8d942a2b66a Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 02 八月 2021 09:39:35 +0800
Subject: [PATCH] update 优化自动注入器 异常检查更完善
---
ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java
index 2479293..561ed41 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java
@@ -1,7 +1,9 @@
package com.ruoyi.framework.mybatisplus;
+import cn.hutool.core.lang.Validator;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
@@ -21,13 +23,13 @@
try {
//鏍规嵁灞炴�у悕瀛楄缃濉厖鐨勫��
if (metaObject.hasGetter("createTime")) {
- if (metaObject.getValue("createTime") == null) {
+ if (Validator.isEmpty(metaObject.getValue("createTime"))) {
this.setFieldValByName("createTime", new Date(), metaObject);
}
}
if (metaObject.hasGetter("createBy")) {
- if (metaObject.getValue("createBy") == null) {
- this.setFieldValByName("createBy", SecurityUtils.getUsername(), metaObject);
+ if (Validator.isEmpty(metaObject.getValue("createBy"))) {
+ this.setFieldValByName("createBy", getLoginUsername(), metaObject);
}
}
} catch (Exception e) {
@@ -39,12 +41,12 @@
public void updateFill(MetaObject metaObject) {
try {
if (metaObject.hasGetter("updateBy")) {
- if (metaObject.getValue("updateBy") == null) {
- this.setFieldValByName("updateBy", SecurityUtils.getUsername(), metaObject);
+ if (Validator.isEmpty(metaObject.getValue("updateBy"))) {
+ this.setFieldValByName("updateBy", getLoginUsername(), metaObject);
}
}
if (metaObject.hasGetter("updateTime")) {
- if (metaObject.getValue("updateTime") == null) {
+ if (Validator.isEmpty(metaObject.getValue("updateTime"))) {
this.setFieldValByName("updateTime", new Date(), metaObject);
}
}
@@ -53,4 +55,15 @@
}
}
+ /**
+ * 鑾峰彇鐧诲綍鐢ㄦ埛鍚�
+ */
+ private String getLoginUsername() {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ if (Validator.isEmpty(loginUser)) {
+ throw new CustomException("鐢ㄦ埛鏈櫥褰� => 鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅");
+ }
+ return loginUser.getUsername();
+ }
+
}
--
Gitblit v1.9.3