From 63ba4c56009ea521cafc47828d4a0c46cb7a835c Mon Sep 17 00:00:00 2001
From: memorylkf <312904636@qq.com>
Date: Mon, 22 Dec 2025 14:03:15 +0800
Subject: [PATCH] =?UTF-8?q?fix:[=E5=9F=BA=E7=A1=80=E9=85=8D=E7=BD=AE]=20?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=BB=98=E8=AE=A4=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hxhq-common/hxhq-common-core/pom.xml | 6 --
.../hxhq/common/core/config/MyBatisPlusConfig.java | 66 -------------------
...rk.boot.autoconfigure.AutoConfiguration.imports | 3 +-
hxhq-common/hxhq-common-security/pom.xml | 5 ++
.../security/config/BaseMetaObjectHandler.java | 73 ++++++++++++++++++++++
.../common/security/config/MyBatisPlusConfig.java | 66 +++++++++++++++++++
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
7 files changed, 146 insertions(+), 74 deletions(-)
delete mode 100644 hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/config/MyBatisPlusConfig.java
create mode 100644 hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/BaseMetaObjectHandler.java
create mode 100644 hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/MyBatisPlusConfig.java
diff --git a/hxhq-common/hxhq-common-core/pom.xml b/hxhq-common/hxhq-common-core/pom.xml
index de321a9..69d0b65 100644
--- a/hxhq-common/hxhq-common-core/pom.xml
+++ b/hxhq-common/hxhq-common-core/pom.xml
@@ -112,12 +112,6 @@
mybatis-plus-boot-starter
-
-
- com.hxhq
- hxhq-common-security
-
-
diff --git a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/config/MyBatisPlusConfig.java b/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/config/MyBatisPlusConfig.java
deleted file mode 100644
index 4c050e7..0000000
--- a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/config/MyBatisPlusConfig.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.hxhq.common.core.config;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * @author memory
- */
-@Configuration
-@EnableTransactionManagement(proxyTargetClass = true)
-public class MyBatisPlusConfig {
-
- @Bean
- public MybatisPlusInterceptor mybatisPlusInterceptor()
- {
- MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- // 分页插件
- interceptor.addInnerInterceptor(paginationInnerInterceptor());
- // 乐观锁插件
- interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
- // 阻断插件
- interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
- return interceptor;
- }
-
- /**
- * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
- */
- public PaginationInnerInterceptor paginationInnerInterceptor()
- {
- PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
- // 设置数据库类型为mysql
- paginationInnerInterceptor.setDbType(DbType.MYSQL);
- // 设置最大单页限制数量,默认 500 条,-1 不受限制
- paginationInnerInterceptor.setMaxLimit(-1L);
- return paginationInnerInterceptor;
- }
-
- /**
- * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
- */
- public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
- {
- return new OptimisticLockerInnerInterceptor();
- }
-
- /**
- * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
- */
- public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
- {
- return new BlockAttackInnerInterceptor();
- }
-
- @Bean
- public MetaObjectHandler metaObjectHandler(){
- return new BaseMetaObjectHandler();
- }
-}
diff --git a/hxhq-common/hxhq-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hxhq-common/hxhq-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index e0a51ca..e341c46 100644
--- a/hxhq-common/hxhq-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/hxhq-common/hxhq-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1 @@
-com.hxhq.common.core.utils.SpringUtils
-com.hxhq.common.core.config.MyBatisPlusConfig
\ No newline at end of file
+com.hxhq.common.core.utils.SpringUtils
\ No newline at end of file
diff --git a/hxhq-common/hxhq-common-security/pom.xml b/hxhq-common/hxhq-common-security/pom.xml
index 2ed3959..a5dd55c 100644
--- a/hxhq-common/hxhq-common-security/pom.xml
+++ b/hxhq-common/hxhq-common-security/pom.xml
@@ -34,6 +34,11 @@
hxhq-common-redis
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
diff --git a/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/BaseMetaObjectHandler.java b/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/BaseMetaObjectHandler.java
new file mode 100644
index 0000000..51e7414
--- /dev/null
+++ b/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/BaseMetaObjectHandler.java
@@ -0,0 +1,73 @@
+package com.hxhq.common.security.config;
+
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.hxhq.common.security.utils.SecurityUtils;
+import org.apache.ibatis.reflection.MetaObject;
+
+import java.util.Date;
+
+/**
+ *
+ * @author memory
+ */
+public class BaseMetaObjectHandler implements MetaObjectHandler {
+ /**
+ * 删除标记
+ */
+ public static final String DEL_FLAG = "delFlag";
+ /**
+ * 创建时间
+ */
+ public static final String CREATE_BY = "createBy";
+ /**
+ * 创建时间
+ */
+ public static final String CREATE_DATE = "createTime";
+ /**
+ * 创建时间
+ */
+ public static final String UPDATE_BY = "updateBy";
+ /**
+ * 更新时间
+ */
+ public static final String UPDATE_DATE = "updateTime";
+
+ /**
+ * 新增
+ */
+ @Override
+ public void insertFill(MetaObject metaObject) {
+ // 创建用户
+ Object createBy = getFieldValByName(CREATE_BY, metaObject);
+ if (createBy == null || createBy.equals("")) {
+ setFieldValByName(CREATE_BY, SecurityUtils.getLoginUserOfEmpty().getUserid()==null?"": SecurityUtils.getLoginUserOfEmpty().getUserid().toString(), metaObject);
+ }
+
+ // 创建时间
+ Object createDate = getFieldValByName(CREATE_DATE, metaObject);
+ if (createDate == null) {
+ setFieldValByName(CREATE_DATE, new Date(), metaObject);
+ }
+
+ // 删除标记
+ Object delFlag = getFieldValByName(DEL_FLAG, metaObject);
+ if (delFlag == null) {
+ setFieldValByName(DEL_FLAG, "0", metaObject);
+ }
+ }
+
+ @Override
+ public void updateFill(MetaObject metaObject) {
+// Object updateBy = getFieldValByName(UPDATE_BY, metaObject);
+// if (updateBy == null || updateBy.equals("")) {
+ setFieldValByName(UPDATE_BY, SecurityUtils.getLoginUserOfEmpty().getUserid()==null?"": SecurityUtils.getLoginUserOfEmpty().getUserid().toString(), metaObject);
+// }
+
+ // 更新用户
+// Object updateDate = getFieldValByName(UPDATE_DATE, metaObject);
+// if (updateDate == null) {
+ setFieldValByName(UPDATE_DATE, new Date(), metaObject);
+// }
+ }
+}
\ No newline at end of file
diff --git a/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/MyBatisPlusConfig.java b/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/MyBatisPlusConfig.java
new file mode 100644
index 0000000..26357b1
--- /dev/null
+++ b/hxhq-common/hxhq-common-security/src/main/java/com/hxhq/common/security/config/MyBatisPlusConfig.java
@@ -0,0 +1,66 @@
+package com.hxhq.common.security.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * @author memory
+ */
+@Configuration
+@EnableTransactionManagement(proxyTargetClass = true)
+public class MyBatisPlusConfig {
+
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor()
+ {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ // 分页插件
+ interceptor.addInnerInterceptor(paginationInnerInterceptor());
+ // 乐观锁插件
+ interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+ // 阻断插件
+ interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+ return interceptor;
+ }
+
+ /**
+ * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
+ */
+ public PaginationInnerInterceptor paginationInnerInterceptor()
+ {
+ PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+ // 设置数据库类型为mysql
+ paginationInnerInterceptor.setDbType(DbType.MYSQL);
+ // 设置最大单页限制数量,默认 500 条,-1 不受限制
+ paginationInnerInterceptor.setMaxLimit(-1L);
+ return paginationInnerInterceptor;
+ }
+
+ /**
+ * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
+ */
+ public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
+ {
+ return new OptimisticLockerInnerInterceptor();
+ }
+
+ /**
+ * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
+ */
+ public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
+ {
+ return new BlockAttackInnerInterceptor();
+ }
+
+ @Bean
+ public MetaObjectHandler metaObjectHandler(){
+ return new BaseMetaObjectHandler();
+ }
+}
diff --git a/hxhq-common/hxhq-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hxhq-common/hxhq-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index b091e33..b57002a 100644
--- a/hxhq-common/hxhq-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/hxhq-common/hxhq-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -3,3 +3,4 @@ com.hxhq.common.security.service.TokenService
com.hxhq.common.security.aspect.PreAuthorizeAspect
com.hxhq.common.security.aspect.InnerAuthAspect
com.hxhq.common.security.handler.GlobalExceptionHandler
+com.hxhq.common.security.config.MyBatisPlusConfig
\ No newline at end of file