zuohuaijun před 3 roky
rodič
revize
2bafaf2cfc

+ 1 - 9
Admin.NET/Admin.NET.Application/AppConfig.json

@@ -3,21 +3,13 @@
     "DefaultConnection": "DataSource=C:\\db\\Admin.NET.db",
     "DefaultDbType": "Sqlite", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access
     "EnableInitTable": true, // 启用初始化库表
-    "EnableSeedData": true, // 启用种子数据
     "EnableDiffLog": false, // 启用库表差异日志
     "DbConfigs": [
       {
         "DbConfigId": "Test",
         "DbType": "Sqlite",
-        "DbConnection": "DataSource=C:\\db\\Test.db",
-        "EnableInitTable": true
+        "DbConnection": "DataSource=C:\\db\\Test.db"
       }
-      //{
-      //  "DbConfigId": "Test1",
-      //  "DbType": "Sqlite",
-      //  "DbConnection": "DataSource=C:\\db\\Test1.db",
-      //  "EnableInitTable": false
-      //}
     ]
   },
   "Wechat": {

+ 0 - 10
Admin.NET/Admin.NET.Core/Option/ConnectionStringsOptions.cs

@@ -26,11 +26,6 @@ public class ConnectionStringsOptions : IConfigurableOptions
     /// </summary>
     public bool EnableInitTable { get; set; }
 
-    /// <summary>
-    /// 启用种子数据
-    /// </summary>
-    public bool EnableSeedData { get; set; }
-
     /// <summary>
     /// 启用库表差异日志
     /// </summary>
@@ -66,9 +61,4 @@ public class DbConfig
     /// 启用初始化库表
     /// </summary>
     public bool EnableInitTable { get; set; }
-
-    /// <summary>
-    /// 启用种子数据
-    /// </summary>
-    public bool EnableSeedData { get; set; }
 }

+ 3 - 4
Admin.NET/Admin.NET.Core/SeedData/SysMenuSeedData.cs

@@ -11,12 +11,11 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
     /// <returns></returns>
     public IEnumerable<SysMenu> HasData()
     {
-        //return null;
         return new[]
         {
-                new SysMenu{ Id=252885263003710, Pid=0, Title="数据面板", Path="/dashboard", Name="Dashboard", Component="LAYOUT", Redirect="/dashboard/analysis", Icon="ant-design:home-outlined", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
-                new SysMenu{ Id=252885263003711, Pid=252885263003710, Title="分析页", Path="analysis", Name="Analysis", Component="/dashboard/analysis/index", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
-                new SysMenu{ Id=252885263003712, Pid=252885263003710, Title="工作台", Path="workbench", Name="Workbench", Component="/dashboard/workbench/index", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysMenu{ Id=252885263003710, Pid=0, Title="数据面板", Path="/dashboard", Name="Dashboard", Component="LAYOUT", Redirect="/dashboard/analysis", Icon="ant-design:home-outlined", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysMenu{ Id=252885263003711, Pid=252885263003710, Title="分析页", Path="analysis", Name="Analysis", Component="/dashboard/analysis/index", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysMenu{ Id=252885263003712, Pid=252885263003710, Title="工作台", Path="workbench", Name="Workbench", Component="/dashboard/workbench/index", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
 
             new SysMenu{ Id=252885263003720, Pid=0, Title="系统管理", Path="/sys", Name="sys", Component="LAYOUT", Redirect="", Icon="ant-design:setting-outlined", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
             new SysMenu{ Id=252885263003730, Pid=252885263003720, Title="账号管理", Path="user", Name="UserManagement", Component="/sys/admin/user/index", Icon="ant-design:user-outlined", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/DataResources/SysDataResourceService.cs

@@ -3,7 +3,7 @@
 /// <summary>
 /// 系统数据资源服务
 /// </summary>
-[ApiDescriptionSettings(Name = "系统数据资源", Order = 201)]
+[ApiDescriptionSettings(Name = "系统数据资源", Order = 189)]
 public class SysDataResourceService : IDynamicApiController, ITransient
 {
     private readonly SqlSugarRepository<SysDataResource> _sysDataResourceRep;

+ 6 - 10
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -155,8 +155,6 @@ public static class SqlSugarSetup
             // 初始化数据库结构及种子数据
             if (dbOptions.EnableInitTable)
                 InitDataBase(sqlSugar, dbOptions);
-            if (dbOptions.EnableSeedData)
-                InitSeedData(sqlSugar);
             return sqlSugar;
         });
         services.AddScoped(typeof(SqlSugarRepository<>)); // 注册仓储
@@ -187,13 +185,7 @@ public static class SqlSugarSetup
             db.ChangeDatabase(dbConfigId);
             db.CodeFirst.InitTables(entityType);
         }
-    }
 
-    /// <summary>
-    /// 初始化种子数据
-    /// </summary>
-    public static void InitSeedData(SqlSugarScope db)
-    {
         // 获取所有实体种子数据
         var seedDataTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
             && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(ISqlSugarEntitySeedData<>))));
@@ -215,13 +207,13 @@ public static class SqlSugarSetup
             if (seedDataTable.Columns.Contains(SqlSugarConst.PrimaryKey))
             {
                 var storage = db.Storageable(seedDataTable).WhereColumns(SqlSugarConst.PrimaryKey).ToStorage();
-                storage.AsInsertable.ExecuteCommand();
+                storage.AsInsertable.IgnoreColumns(true).ExecuteCommand();
                 storage.AsUpdateable.ExecuteCommand();
             }
             else //没有主键或者不是预定义的主键(没主键有重复的可能)
             {
                 var storage = db.Storageable(seedDataTable).ToStorage();
-                storage.AsInsertable.ExecuteCommand();
+                storage.AsInsertable.IgnoreColumns(true).ExecuteCommand();
             }
         }
     }
@@ -272,6 +264,10 @@ public static class SqlSugarSetup
     /// </summary>
     public static void SetCustomEntityFilter(SqlSugarProvider db)
     {
+        // 排除超管过滤
+        if (App.User?.FindFirst(ClaimConst.SuperAdmin)?.Value == ((int)UserTypeEnum.SuperAdmin).ToString())
+            return;
+
         // 获取继承自定义实体过滤器接口的类集合
         var entityFilterTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
             && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(IEntityFilter))));