From a65baf5d67c3a3d5a3013aec89f406fc3d4b7bbe Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 18 十二月 2024 11:32:22 +0800
Subject: [PATCH] update 优化 增加mybatis-plus一键开启/关闭逻辑删除功能
---
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java | 10 ++++++++++
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusPostInitTableInfoHandler.java | 24 ++++++++++++++++++++++++
ruoyi-admin/src/main/resources/application.yml | 2 ++
3 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index dead741..c42bb7f 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -139,6 +139,8 @@
# MyBatisPlus閰嶇疆
# https://baomidou.com/config/
mybatis-plus:
+ # 鑷畾涔夐厤缃� 鏄惁鍏ㄥ眬寮�鍚�昏緫鍒犻櫎 鍏抽棴鍚� 鎵�鏈夐�昏緫鍒犻櫎鍔熻兘灏嗗け鏁�
+ enableLogicDelete: true
# 澶氬寘鍚嶄娇鐢� 渚嬪 org.dromara.**.mapper,org.xxx.**.mapper
mapperPackage: org.dromara.**.mapper
# 瀵瑰簲鐨� XML 鏂囦欢浣嶇疆
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
index 1e8d619..00c2691 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
@@ -2,6 +2,7 @@
import cn.hutool.core.net.NetUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.handlers.PostInitTableInfoHandler;
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
@@ -13,6 +14,7 @@
import org.dromara.common.mybatis.aspect.DataPermissionAspect;
import org.dromara.common.mybatis.handler.InjectionMetaObjectHandler;
import org.dromara.common.mybatis.handler.MybatisExceptionHandler;
+import org.dromara.common.mybatis.handler.PlusPostInitTableInfoHandler;
import org.dromara.common.mybatis.interceptor.PlusDataPermissionInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.BeansException;
@@ -106,6 +108,14 @@
}
/**
+ * 鍒濆鍖栬〃瀵硅薄澶勭悊鍣�
+ */
+ @Bean
+ public PostInitTableInfoHandler postInitTableInfoHandler() {
+ return new PlusPostInitTableInfoHandler();
+ }
+
+ /**
* PaginationInnerInterceptor 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷
* https://baomidou.com/pages/97710a/
* OptimisticLockerInnerInterceptor 涔愯閿佹彃浠�
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusPostInitTableInfoHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusPostInitTableInfoHandler.java
new file mode 100644
index 0000000..2c0ec0e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusPostInitTableInfoHandler.java
@@ -0,0 +1,24 @@
+package org.dromara.common.mybatis.handler;
+
+import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.handlers.PostInitTableInfoHandler;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import org.apache.ibatis.session.Configuration;
+import org.dromara.common.core.utils.SpringUtils;
+import org.dromara.common.core.utils.reflect.ReflectUtils;
+
+/**
+ * 淇敼琛ㄤ俊鎭垵濮嬪寲鏂瑰紡
+ * 鐩墠鐢ㄤ簬鍏ㄥ眬淇敼鏄惁浣跨敤閫昏緫鍒犻櫎
+ *
+ * @author Lion Li
+ */
+public class PlusPostInitTableInfoHandler implements PostInitTableInfoHandler {
+
+ @Override
+ public void postTableInfo(TableInfo tableInfo, Configuration configuration) {
+ String flag = SpringUtils.getProperty("mybatis-plus.enableLogicDelete", "true");
+ ReflectUtils.setFieldValue(tableInfo, "withLogicDelete", Convert.toBool(flag));
+ }
+
+}
--
Gitblit v1.9.3