Procházet zdrojové kódy

🤓增加自定义SqlSugar雪花ID算法

zuohuaijun před 3 roky
rodič
revize
550f921a12

+ 1 - 1
Admin.NET/Admin.NET.Application/Configuration/App.json

@@ -34,7 +34,7 @@
     "SnowId": {
         "WorkerId": 1, // 机器码 全局唯一
         "WorkerIdBitLength": 1, // 机器码位长 默认值6,取值范围 [1, 19]
-        "SeqBitLength": 6 // 序列数位长 默认值6,取值范围 [3, 21](建议不小于4)
+        "SeqBitLength": 6 // 序列数位长 默认值6,取值范围 [3, 21](建议不小于4,值越大性能越高、Id位数也更长
     },
     "Cryptogram": {
         "CryptoType": "SM2", // 密码加密算法:MD5、SM2、SM4

+ 7 - 0
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -8,6 +8,13 @@ public static class SqlSugarSetup
     /// <param name="services"></param>
     public static void AddSqlSugar(this IServiceCollection services)
     {
+        // 自定义 SqlSugar 雪花ID算法
+        SnowFlakeSingle.WorkId = App.GetOptions<SnowIdOptions>().WorkerId;
+        StaticConfig.CustomSnowFlakeFunc = () =>
+        {
+            return YitIdHelper.NextId();
+        };
+
         var dbOptions = App.GetOptions<DbConnectionOptions>();
         dbOptions.ConnectionConfigs.ForEach(SetDbConfig);