Explorar el Código

fix: 😬修复租户菜单表种子数据存在破坏唯一索引的问题

喵你个旺呀 hace 1 año
padre
commit
9ef1e4de81

+ 7 - 2
Admin.NET/Admin.NET.Core/SeedData/SysTenantMenuSeedData.cs

@@ -18,7 +18,12 @@ public class SysTenantMenuSeedData : ISqlSugarEntitySeedData<SysTenantMenu>
     /// <returns></returns>
     public IEnumerable<SysTenantMenu> HasData()
     {
-        var id = 1300000000000;
-        return App.GetService<SysTenantService>().GetTenantDefaultMenuList().Select(u => new SysTenantMenu { Id=id+=100, TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.MenuId });
+        return App.GetService<SysTenantService>().GetTenantDefaultMenuList()
+            .Select(u => new SysTenantMenu
+            {
+                Id = u.MenuId + (SqlSugarConst.DefaultTenantId % 1300000000000),
+                TenantId = SqlSugarConst.DefaultTenantId,
+                MenuId = u.MenuId
+            });
     }
 }

+ 7 - 4
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -298,8 +298,6 @@ public class SysTenantService : IDynamicApiController, ITransient
     [NonAction]
     public IEnumerable<SysTenantMenu> GetTenantDefaultMenuList(bool ignoreHome = false)
     {
-        var id = 1300000000000;
-
         var menuList = new List<SysMenu>();
         var allMenuList = new SysMenuSeedData().HasData().ToList();
 
@@ -324,9 +322,14 @@ public class SysTenantService : IDynamicApiController, ITransient
         var flow = _sysTenantRep.Context.Queryable<SysMenu>().First(u => u.Type == MenuTypeEnum.Menu && u.Title == "审批流程");
         menuList.Add(allMenuList.First(u => u.Type == MenuTypeEnum.Dir && u.Title == "帮助文档"));
         menuList.Add(allMenuList.First(u => u.Type == MenuTypeEnum.Menu && u.Title == "关于项目"));
-        menuList.Add(flow);
+        if (flow != null) menuList.Add(flow);
 
-        return menuList.Select(u => new SysTenantMenu { Id=id+=100, TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.Id });
+        return menuList.Select(u => new SysTenantMenu
+        {
+            Id = u.Id + (SqlSugarConst.DefaultTenantId % 1300000000000),
+            TenantId = SqlSugarConst.DefaultTenantId,
+            MenuId = u.Id
+        });
     }
 
     /// <summary>

+ 1 - 2
Admin.NET/Plugins/Admin.NET.Plugin.ApprovalFlow/SeedData/SysTenantMenuSeedData.cs

@@ -18,7 +18,6 @@ public class SysTenantMenuSeedData : ISqlSugarEntitySeedData<SysTenantMenu>
     /// <returns></returns>
     public IEnumerable<SysTenantMenu> HasData()
     {
-        var id = 1309000000000;
-        return new SysMenuSeedData().HasData().Select(u => new SysTenantMenu { Id=id+=100, TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.Id });
+        return new SysMenuSeedData().HasData().Select(u => new SysTenantMenu { Id=u.Id + (SqlSugarConst.DefaultTenantId % 1300000000000), TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.Id });
     }
 }