From c604c2de98447af15efaf594cf2940aa78203b67 Mon Sep 17 00:00:00 2001
From: hebo <13216192626@163.com>
Date: 星期一, 13 九月 2021 21:21:19 +0800
Subject: [PATCH] fix 代码生成-当表未设置主键时第一个字段重复生成
---
ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java | 40 +++++++++++++++++++++++++---------------
1 files changed, 25 insertions(+), 15 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..ae36fc3 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
@@ -2,8 +2,10 @@
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
+import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import java.util.Date;
@@ -14,6 +16,7 @@
* @author Lion Li
* @date 2021/4/25
*/
+@Slf4j
public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
@Override
@@ -21,36 +24,43 @@
try {
//鏍规嵁灞炴�у悕瀛楄缃濉厖鐨勫��
if (metaObject.hasGetter("createTime")) {
- if (metaObject.getValue("createTime") == null) {
- this.setFieldValByName("createTime", new Date(), metaObject);
- }
+ this.setFieldValByName("createTime", new Date(), metaObject);
}
if (metaObject.hasGetter("createBy")) {
- if (metaObject.getValue("createBy") == null) {
- this.setFieldValByName("createBy", SecurityUtils.getUsername(), metaObject);
- }
+ this.setFieldValByName("createBy", getLoginUsername(), metaObject);
}
} catch (Exception e) {
- throw new CustomException("鑷姩娉ㄥ叆寮傚父 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
+ throw new ServiceException("鑷姩娉ㄥ叆寮傚父 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
}
+ updateFill(metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
try {
if (metaObject.hasGetter("updateBy")) {
- if (metaObject.getValue("updateBy") == null) {
- this.setFieldValByName("updateBy", SecurityUtils.getUsername(), metaObject);
- }
+ this.setFieldValByName("updateBy", getLoginUsername(), metaObject);
}
if (metaObject.hasGetter("updateTime")) {
- if (metaObject.getValue("updateTime") == null) {
- this.setFieldValByName("updateTime", new Date(), metaObject);
- }
+ this.setFieldValByName("updateTime", new Date(), metaObject);
}
} catch (Exception e) {
- throw new CustomException("鑷姩娉ㄥ叆寮傚父 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
+ throw new ServiceException("鑷姩娉ㄥ叆寮傚父 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
}
}
+ /**
+ * 鑾峰彇鐧诲綍鐢ㄦ埛鍚�
+ */
+ private String getLoginUsername() {
+ LoginUser loginUser;
+ try {
+ loginUser = SecurityUtils.getLoginUser();
+ } catch (Exception e) {
+ log.error("鑷姩娉ㄥ叆璀﹀憡 => 鐢ㄦ埛鏈櫥褰�");
+ return null;
+ }
+ return loginUser.getUsername();
+ }
+
}
--
Gitblit v1.9.3