From 3279ef8ab5587512b529e05bd2f02a43c09c7c6b Mon Sep 17 00:00:00 2001
From: XSWL1018 <824576966@qq.com>
Date: Tue, 10 Sep 2024 18:06:59 +0800
Subject: [PATCH] u
---
.../main/resources/mybatis/mybatis-config.xml | 6 +-
.../common/annotation/sql/DataSecurity.java | 20 ---
.../annotation/sql/MybatisHandlerOrder.java | 14 --
ruoyi-middleware/pom.xml | 7 +-
.../ruoyi-middleware-starter/pom.xml | 4 -
ruoyi-plugins/pom.xml | 9 +-
.../ruoyi-mybatis-interceptor}/pom.xml | 11 +-
.../annotation/DataSecurity.java | 4 +-
.../annotation/MybatisHandlerOrder.java | 2 +-
.../aspectj/DataSecurityAspect.java | 12 +-
.../dataSecurity/SqlContextHolder.java | 8 +-
.../context/page/PageContextHolder.java | 4 +-
.../context/page/model/PageInfo.java | 2 +-
.../context/page/model/RuoyiTableData.java | 2 +-
.../context/page/model/TableInfo.java | 2 +-
.../enums/DataSecurityStrategy.java | 2 +-
.../mybatisinterceptor}/enums/SqlType.java | 2 +-
.../mybatis/MybatisInterceptor.java | 129 ++++++++++++++++++
.../model/JoinTableModel.java | 2 +-
.../mybatisinterceptor}/model/WhereModel.java | 4 +-
.../mybatis/MybatisInterceptor.java | 8 +-
.../sql/MybatisAfterHandler.java | 2 +-
.../sql/MybatisPreHandler.java | 2 +-
.../dataSecurity/DataSecurityPreHandler.java | 14 +-
.../sql/page/PageAfterHandler.java | 11 +-
.../sql/page/PagePreHandler.java | 12 +-
.../util/DataSecurityUtil.java | 4 +-
.../mybatisinterceptor}/util/SqlUtil.java | 2 +-
ruoyi-plugins/ruoyi-plugins-starter/pom.xml | 5 +
29 files changed, 207 insertions(+), 99 deletions(-)
delete mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/DataSecurity.java
delete mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/MybatisHandlerOrder.java
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor => ruoyi-plugins/ruoyi-mybatis-interceptor}/pom.xml (71%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/annotation/DataSecurity.java (73%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/annotation/MybatisHandlerOrder.java (78%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/aspectj/DataSecurityAspect.java (91%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/context/dataSecurity/SqlContextHolder.java (85%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/context/page/PageContextHolder.java (90%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/context/page/model/PageInfo.java (96%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/context/page/model/RuoyiTableData.java (86%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/context/page/model/TableInfo.java (85%)
rename {ruoyi-common/src/main/java/com/ruoyi/common => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/enums/DataSecurityStrategy.java (71%)
rename {ruoyi-common/src/main/java/com/ruoyi/common => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/enums/SqlType.java (85%)
create mode 100644 ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java
rename {ruoyi-common/src/main/java/com/ruoyi/common => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/model/JoinTableModel.java (97%)
rename {ruoyi-common/src/main/java/com/ruoyi/common => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/model/WhereModel.java (96%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/interceptor => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/mybatis/MybatisInterceptor.java (95%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/sql/MybatisAfterHandler.java (70%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/sql/MybatisPreHandler.java (92%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/sql/dataSecurity/DataSecurityPreHandler.java (90%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/sql/page/PageAfterHandler.java (65%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/sql/page/PagePreHandler.java (95%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/util/DataSecurityUtil.java (64%)
rename {ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java => ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor}/util/SqlUtil.java (97%)
diff --git a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
index 4da6e21..57f87fc 100644
--- a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
+++ b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
@@ -16,5 +16,9 @@ PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
-
+
+
+
+
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/DataSecurity.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/DataSecurity.java
deleted file mode 100644
index 6d14bd1..0000000
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/DataSecurity.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.common.annotation.sql;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import com.ruoyi.common.enums.DataSecurityStrategy;
-
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface DataSecurity {
- public DataSecurityStrategy strategy() default DataSecurityStrategy.CREEATE_BY;
-
- public String table() default "";
-
- public String joinTableAlise() default "";
-}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/MybatisHandlerOrder.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/MybatisHandlerOrder.java
deleted file mode 100644
index 4c75c03..0000000
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/sql/MybatisHandlerOrder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.common.annotation.sql;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface MybatisHandlerOrder {
- public int value() default 0;
-}
diff --git a/ruoyi-middleware/pom.xml b/ruoyi-middleware/pom.xml
index 00adf91..c6895eb 100644
--- a/ruoyi-middleware/pom.xml
+++ b/ruoyi-middleware/pom.xml
@@ -45,11 +45,6 @@
${ruoyi.version}
-
- com.ruoyi
- ruoyi-midleware-mybatis-interceptor
- ${ruoyi.version}
-
@@ -58,7 +53,7 @@
ruoyi-middleware-minio
ruoyi-middleware-redis
ruoyi-middleware-starter
- ruoyi-midleware-mybatis-interceptor
+
pom
diff --git a/ruoyi-middleware/ruoyi-middleware-starter/pom.xml b/ruoyi-middleware/ruoyi-middleware-starter/pom.xml
index 626ca90..bb7eca4 100644
--- a/ruoyi-middleware/ruoyi-middleware-starter/pom.xml
+++ b/ruoyi-middleware/ruoyi-middleware-starter/pom.xml
@@ -32,10 +32,6 @@
ruoyi-middleware-redis
-
- com.ruoyi
- ruoyi-midleware-mybatis-interceptor
-
diff --git a/ruoyi-plugins/pom.xml b/ruoyi-plugins/pom.xml
index 837a95a..f956740 100644
--- a/ruoyi-plugins/pom.xml
+++ b/ruoyi-plugins/pom.xml
@@ -80,6 +80,12 @@
ruoyi-plugins-starter
${ruoyi.version}
+
+ com.ruoyi
+ ruoyi-mybatis-interceptor
+ ${ruoyi.version}
+
+
@@ -90,6 +96,7 @@
ruoyi-mybatis-plus
ruoyi-websocket
ruoyi-plugins-starter
+ ruoyi-mybatis-interceptor
pom
-
\ No newline at end of file
+
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/pom.xml b/ruoyi-plugins/ruoyi-mybatis-interceptor/pom.xml
similarity index 71%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/pom.xml
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/pom.xml
index 0f4a89d..5d13862 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/pom.xml
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/pom.xml
@@ -3,13 +3,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- ruoyi-middleware
+ ruoyi-plugins
com.ruoyi
3.8.8.3.1
4.0.0
- ruoyi-midleware-mybatis-interceptor
+ ruoyi-mybatis-interceptor
19
@@ -19,7 +19,12 @@
com.ruoyi
- ruoyi-framework
+ ruoyi-common
+
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/DataSecurity.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/DataSecurity.java
similarity index 73%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/DataSecurity.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/DataSecurity.java
index 8cf123b..ae9f8e3 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/DataSecurity.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/DataSecurity.java
@@ -1,6 +1,6 @@
-package annotation;
+package com.ruoyi.mybatisinterceptor.annotation;
-import com.ruoyi.common.enums.DataSecurityStrategy;
+import com.ruoyi.mybatisinterceptor.enums.DataSecurityStrategy;
import java.lang.annotation.*;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/MybatisHandlerOrder.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/MybatisHandlerOrder.java
similarity index 78%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/MybatisHandlerOrder.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/MybatisHandlerOrder.java
index 440c856..e897354 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/annotation/MybatisHandlerOrder.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/annotation/MybatisHandlerOrder.java
@@ -1,4 +1,4 @@
-package annotation;
+package com.ruoyi.mybatisinterceptor.annotation;
import java.lang.annotation.*;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/aspectj/DataSecurityAspect.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/aspectj/DataSecurityAspect.java
similarity index 91%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/aspectj/DataSecurityAspect.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/aspectj/DataSecurityAspect.java
index 137a38e..166b87f 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/aspectj/DataSecurityAspect.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/aspectj/DataSecurityAspect.java
@@ -1,19 +1,21 @@
-package aspectj;
+package com.ruoyi.mybatisinterceptor.aspectj;
-import context.dataSecurity.SqlContextHolder;
+import com.ruoyi.mybatisinterceptor.annotation.DataSecurity;
+import com.ruoyi.mybatisinterceptor.model.JoinTableModel;
+import com.ruoyi.mybatisinterceptor.model.WhereModel;
+import com.ruoyi.mybatisinterceptor.context.dataSecurity.SqlContextHolder;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
-import com.ruoyi.common.annotation.sql.DataSecurity;
-import com.ruoyi.common.model.JoinTableModel;
-import com.ruoyi.common.model.WhereModel;
+
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
+
@Aspect
@Component
public class DataSecurityAspect {
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/dataSecurity/SqlContextHolder.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/dataSecurity/SqlContextHolder.java
similarity index 85%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/dataSecurity/SqlContextHolder.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/dataSecurity/SqlContextHolder.java
index 0450064..54407a6 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/dataSecurity/SqlContextHolder.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/dataSecurity/SqlContextHolder.java
@@ -1,10 +1,10 @@
-package context.dataSecurity;
+package com.ruoyi.mybatisinterceptor.context.dataSecurity;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.common.enums.SqlType;
-import com.ruoyi.common.model.JoinTableModel;
-import com.ruoyi.common.model.WhereModel;
+import com.ruoyi.mybatisinterceptor.enums.SqlType;
+import com.ruoyi.mybatisinterceptor.model.JoinTableModel;
+import com.ruoyi.mybatisinterceptor.model.WhereModel;
public class SqlContextHolder {
private static final ThreadLocal SQL_CONTEXT_HOLDER = new ThreadLocal<>();
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/PageContextHolder.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/PageContextHolder.java
similarity index 90%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/PageContextHolder.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/PageContextHolder.java
index 3e06149..4eef686 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/PageContextHolder.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/PageContextHolder.java
@@ -1,7 +1,7 @@
-package context.page;
+package com.ruoyi.mybatisinterceptor.context.page;
import com.alibaba.fastjson2.JSONObject;
-import context.page.model.PageInfo;
+import com.ruoyi.mybatisinterceptor.context.page.model.PageInfo;
public class PageContextHolder {
private static final ThreadLocal PAGE_CONTEXT_HOLDER = new ThreadLocal<>();
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/PageInfo.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/PageInfo.java
similarity index 96%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/PageInfo.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/PageInfo.java
index 3996166..e0cd7a0 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/PageInfo.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/PageInfo.java
@@ -1,4 +1,4 @@
-package context.page.model;
+package com.ruoyi.mybatisinterceptor.context.page.model;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.ServletUtils;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/RuoyiTableData.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/RuoyiTableData.java
similarity index 86%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/RuoyiTableData.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/RuoyiTableData.java
index 346b17a..925c1fe 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/RuoyiTableData.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/RuoyiTableData.java
@@ -1,4 +1,4 @@
-package context.page.model;
+package com.ruoyi.mybatisinterceptor.context.page.model;
import java.util.List;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/TableInfo.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/TableInfo.java
similarity index 85%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/TableInfo.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/TableInfo.java
index dace74c..b055a58 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/context/page/model/TableInfo.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/context/page/model/TableInfo.java
@@ -1,4 +1,4 @@
-package context.page.model;
+package com.ruoyi.mybatisinterceptor.context.page.model;
import java.util.ArrayList;
import java.util.List;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSecurityStrategy.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/DataSecurityStrategy.java
similarity index 71%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSecurityStrategy.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/DataSecurityStrategy.java
index f3b0770..16358c1 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSecurityStrategy.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/DataSecurityStrategy.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.mybatisinterceptor.enums;
public enum DataSecurityStrategy {
JOINTABLE_CREATE_BY,
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SqlType.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/SqlType.java
similarity index 85%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/SqlType.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/SqlType.java
index b100ce7..52af7d4 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SqlType.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/enums/SqlType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.mybatisinterceptor.enums;
public enum SqlType {
WHERE("where"),
diff --git a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java
new file mode 100644
index 0000000..179e150
--- /dev/null
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java
@@ -0,0 +1,129 @@
+package com.ruoyi.mybatisinterceptor.interceptor.mybatis;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
+import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
+import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
+import org.apache.ibatis.cache.CacheKey;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.plugin.Intercepts;
+import org.apache.ibatis.plugin.Invocation;
+import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+
+import jakarta.annotation.PostConstruct;
+
+@Component
+@Intercepts({
+ @Signature(type = Executor.class, method = "query", args = { MappedStatement.class, Object.class,
+ RowBounds.class, ResultHandler.class, CacheKey.class, BoundSql.class }),
+ @Signature(type = Executor.class, method = "query", args = {
+ MappedStatement.class, Object.class, RowBounds.class,
+ ResultHandler.class })
+
+})
+public class MybatisInterceptor implements Interceptor {
+
+ @Autowired
+ private List preHandlerBeans;
+
+ @Autowired
+ private List afterHandlerBeans;
+
+ private static List preHandlersChain;
+
+ private static List afterHandlersChain;
+
+ @PostConstruct
+ public void init() {
+ List sortedPreHandlers = preHandlerBeans.stream().sorted((item1, item2) -> {
+ int a;
+ int b;
+ MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class);
+ MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class);
+ if (ann1 == null) {
+ a = 0;
+ } else {
+ a = ann1.value();
+ }
+ if (ann2 == null) {
+ b = 0;
+ } else {
+ b = ann2.value();
+ }
+ return a - b;
+ }).collect(Collectors.toList());
+ preHandlersChain = sortedPreHandlers;
+
+ List sortedAfterHandlers = afterHandlerBeans.stream().sorted((item1, item2) -> {
+ int a;
+ int b;
+ MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class);
+ MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class);
+ if (ann1 == null) {
+ a = 0;
+ } else {
+ a = ann1.value();
+ }
+ if (ann2 == null) {
+ b = 0;
+ } else {
+ b = ann2.value();
+ }
+ return a - b;
+ }).collect(Collectors.toList());
+ afterHandlersChain = sortedAfterHandlers;
+ }
+
+ @Override
+ public Object intercept(Invocation invocation) throws Throwable {
+ Executor targetExecutor = (Executor) invocation.getTarget();
+ Object[] args = invocation.getArgs();
+ if (args.length < 6) {
+ if (preHandlersChain != null && preHandlersChain.size() > 0) {
+ MappedStatement ms = (MappedStatement) args[0];
+ Object parameterObject = args[1];
+ RowBounds rowBounds = (RowBounds) args[2];
+ Executor executor = (Executor) invocation.getTarget();
+ BoundSql boundSql = ms.getBoundSql(parameterObject);
+ // 可以对参数做各种处理
+ CacheKey cacheKey = executor.createCacheKey(ms, parameterObject, rowBounds, boundSql);
+ for (MybatisPreHandler item : preHandlersChain) {
+ item.preHandle(targetExecutor, ms, args[1], (RowBounds) args[2],
+ (ResultHandler) args[3], cacheKey, boundSql);
+ }
+ }
+ Object result = invocation.proceed();
+ if (afterHandlersChain != null && afterHandlersChain.size() > 0) {
+ for (MybatisAfterHandler item : afterHandlersChain) {
+ item.handleObject(result);
+ }
+ }
+ return result;
+ }
+ if (preHandlersChain != null && preHandlersChain.size() > 0) {
+ for (MybatisPreHandler item : preHandlersChain) {
+ item.preHandle(targetExecutor, (MappedStatement) args[0], args[1], (RowBounds) args[2],
+ (ResultHandler) args[3], (CacheKey) args[4], (BoundSql) args[5]);
+ }
+ }
+ Object result = invocation.proceed();
+ if (afterHandlersChain != null && afterHandlersChain.size() > 0) {
+ for (MybatisAfterHandler item : afterHandlersChain) {
+ result = item.handleObject(result);
+ }
+ }
+ return result;
+ }
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/model/JoinTableModel.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/JoinTableModel.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/model/JoinTableModel.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/JoinTableModel.java
index 6a6cb75..50bd25d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/model/JoinTableModel.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/JoinTableModel.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.model;
+package com.ruoyi.mybatisinterceptor.model;
import com.ruoyi.common.utils.StringUtils;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/model/WhereModel.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/WhereModel.java
similarity index 96%
rename from ruoyi-common/src/main/java/com/ruoyi/common/model/WhereModel.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/WhereModel.java
index 406b1b5..6456fb5 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/model/WhereModel.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/model/WhereModel.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.model;
+package com.ruoyi.mybatisinterceptor.model;
import com.ruoyi.common.utils.StringUtils;
@@ -64,4 +64,4 @@ public class WhereModel {
public String getSqlString() {
return String.format(" %s %s %s %s ", this.getConnectType(), this.getFullTableColumn(), this.method, this.value);
}
-}
\ No newline at end of file
+}
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/interceptor/mybatis/MybatisInterceptor.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/mybatis/MybatisInterceptor.java
similarity index 95%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/interceptor/mybatis/MybatisInterceptor.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/mybatis/MybatisInterceptor.java
index 0d9d8d0..ae7d0a3 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/interceptor/mybatis/MybatisInterceptor.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/mybatis/MybatisInterceptor.java
@@ -1,8 +1,11 @@
-package interceptor.mybatis;
+package com.ruoyi.mybatisinterceptor.mybatis;
import java.util.List;
import java.util.stream.Collectors;
+import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
+import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
+import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
@@ -16,12 +19,9 @@ import org.apache.ibatis.session.RowBounds;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import com.ruoyi.common.annotation.sql.MybatisHandlerOrder;
import jakarta.annotation.PostConstruct;
-import sql.MybatisAfterHandler;
-import sql.MybatisPreHandler;
@Component
@Intercepts({
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisAfterHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisAfterHandler.java
similarity index 70%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisAfterHandler.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisAfterHandler.java
index a476dff..133f111 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisAfterHandler.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisAfterHandler.java
@@ -1,4 +1,4 @@
-package sql;
+package com.ruoyi.mybatisinterceptor.sql;
public interface MybatisAfterHandler {
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisPreHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisPreHandler.java
similarity index 92%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisPreHandler.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisPreHandler.java
index dc5f96e..5e9e2eb 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/MybatisPreHandler.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/MybatisPreHandler.java
@@ -1,4 +1,4 @@
-package sql;
+package com.ruoyi.mybatisinterceptor.sql;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/dataSecurity/DataSecurityPreHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java
similarity index 90%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/dataSecurity/DataSecurityPreHandler.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java
index 5bd69e3..01a5766 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/dataSecurity/DataSecurityPreHandler.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java
@@ -1,8 +1,13 @@
-package sql.dataSecurity;
+package com.ruoyi.mybatisinterceptor.sql.dataSecurity;
import java.lang.reflect.Field;
import java.util.List;
+import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
+import com.ruoyi.mybatisinterceptor.context.dataSecurity.SqlContextHolder;
+import com.ruoyi.mybatisinterceptor.model.JoinTableModel;
+import com.ruoyi.mybatisinterceptor.model.WhereModel;
+import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
@@ -11,15 +16,8 @@ import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
-
-import com.ruoyi.common.annotation.sql.MybatisHandlerOrder;
-import context.dataSecurity.SqlContextHolder;
-import sql.MybatisPreHandler;
-import com.ruoyi.common.model.JoinTableModel;
-import com.ruoyi.common.model.WhereModel;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sql.SqlUtil;
-
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.expression.Expression;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PageAfterHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java
similarity index 65%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PageAfterHandler.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java
index 398b209..76d0776 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PageAfterHandler.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java
@@ -1,13 +1,14 @@
-package sql.page;
+package com.ruoyi.mybatisinterceptor.sql.page;
import java.util.List;
+import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
+import com.ruoyi.mybatisinterceptor.context.page.PageContextHolder;
+import com.ruoyi.mybatisinterceptor.context.page.model.TableInfo;
+import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
import org.springframework.stereotype.Component;
-import com.ruoyi.common.annotation.sql.MybatisHandlerOrder;
-import context.page.PageContextHolder;
-import context.page.model.TableInfo;
-import sql.MybatisAfterHandler;
+
@MybatisHandlerOrder(1)
@Component
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PagePreHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PagePreHandler.java
similarity index 95%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PagePreHandler.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PagePreHandler.java
index f0a0d92..f7f771a 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/sql/page/PagePreHandler.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PagePreHandler.java
@@ -1,10 +1,15 @@
-package sql.page;
+package com.ruoyi.mybatisinterceptor.sql.page;
import java.lang.reflect.Field;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+
+import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
+import com.ruoyi.mybatisinterceptor.context.page.PageContextHolder;
+import com.ruoyi.mybatisinterceptor.context.page.model.PageInfo;
+import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
@@ -15,11 +20,6 @@ import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
-
-import com.ruoyi.common.annotation.sql.MybatisHandlerOrder;
-import context.page.PageContextHolder;
-import context.page.model.PageInfo;
-import sql.MybatisPreHandler;
import com.ruoyi.common.utils.sql.SqlUtil;
import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.statement.Statement;
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/DataSecurityUtil.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/DataSecurityUtil.java
similarity index 64%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/DataSecurityUtil.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/DataSecurityUtil.java
index b3016f0..cb360d5 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/DataSecurityUtil.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/DataSecurityUtil.java
@@ -1,7 +1,7 @@
-package util;
+package com.ruoyi.mybatisinterceptor.util;
-import context.dataSecurity.SqlContextHolder;
+import com.ruoyi.mybatisinterceptor.context.dataSecurity.SqlContextHolder;
public class DataSecurityUtil {
diff --git a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/SqlUtil.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/SqlUtil.java
similarity index 97%
rename from ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/SqlUtil.java
rename to ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/SqlUtil.java
index 277e4b1..98e1f54 100644
--- a/ruoyi-middleware/ruoyi-midleware-mybatis-interceptor/src/main/java/util/SqlUtil.java
+++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/SqlUtil.java
@@ -1,4 +1,4 @@
-package util;
+package com.ruoyi.mybatisinterceptor.util;
import com.ruoyi.common.exception.UtilException;
import com.ruoyi.common.utils.StringUtils;
diff --git a/ruoyi-plugins/ruoyi-plugins-starter/pom.xml b/ruoyi-plugins/ruoyi-plugins-starter/pom.xml
index 0b4107f..183d4cd 100644
--- a/ruoyi-plugins/ruoyi-plugins-starter/pom.xml
+++ b/ruoyi-plugins/ruoyi-plugins-starter/pom.xml
@@ -45,6 +45,11 @@
com.ruoyi
ruoyi-mybatis-plus
+
+
+ com.ruoyi
+ ruoyi-mybatis-interceptor
+