瀏覽代碼

fix 修复 集群雪花id重复问题 使用网卡信息绑定生成

疯狂的狮子li 3 年之前
父節點
當前提交
6875935d37
共有 1 個文件被更改,包括 21 次插入9 次删除
  1. 21 9
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java

+ 21 - 9
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java

@@ -1,6 +1,9 @@
 package com.ruoyi.framework.config;
 
+import cn.hutool.core.net.NetUtil;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
 import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
 import com.baomidou.mybatisplus.core.injector.ISqlInjector;
@@ -9,8 +12,8 @@ import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import com.ruoyi.common.core.mybatisplus.methods.InsertAll;
-import com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor;
 import com.ruoyi.framework.handler.CreateAndUpdateMetaObjectHandler;
+import com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -89,24 +92,33 @@ public class MybatisPlusConfig {
 		};
 	}
 
+    /**
+     * 使用网卡信息绑定雪花生成器
+     * 防止集群雪花ID重复
+     */
+    @Bean
+    public IdentifierGenerator idGenerator() {
+        return new DefaultIdentifierGenerator(NetUtil.getLocalhost());
+    }
+
 	/**
 	 * PaginationInnerInterceptor 分页插件,自动识别数据库类型
-	 * https://baomidou.com/guide/interceptor-pagination.html
+	 * https://baomidou.com/pages/97710a/
 	 * OptimisticLockerInnerInterceptor 乐观锁插件
-	 * https://baomidou.com/guide/interceptor-optimistic-locker.html
+	 * https://baomidou.com/pages/0d93c0/
 	 * MetaObjectHandler 元对象字段填充控制器
-	 * https://baomidou.com/guide/auto-fill-metainfo.html
+	 * https://baomidou.com/pages/4c6bcf/
 	 * ISqlInjector sql注入器
-	 * https://baomidou.com/guide/sql-injector.html
+	 * https://baomidou.com/pages/42ea4a/
 	 * BlockAttackInnerInterceptor 如果是对全表的删除或更新操作,就会终止该操作
-	 * https://baomidou.com/guide/interceptor-block-attack.html
+	 * https://baomidou.com/pages/f9a237/
 	 * IllegalSQLInnerInterceptor sql性能规范插件(垃圾SQL拦截)
 	 * IdentifierGenerator 自定义主键策略
-	 * https://baomidou.com/guide/id-generator.html
+	 * https://baomidou.com/pages/568eb2/
 	 * TenantLineInnerInterceptor 多租户插件
-	 * https://baomidou.com/guide/interceptor-tenant-line.html
+	 * https://baomidou.com/pages/aef2f2/
 	 * DynamicTableNameInnerInterceptor 动态表名插件
-	 * https://baomidou.com/guide/interceptor-dynamic-table-name.html
+	 * https://baomidou.com/pages/2a45ff/
 	 */
 
 }