|
@@ -520,6 +520,9 @@ public class SysTenantService : IDynamicApiController, ITransient
|
|
|
if (menuList.Where(u => !string.IsNullOrWhiteSpace(u.Name)).GroupBy(u => u.Name).Any(u => u.Count() > 1))
|
|
if (menuList.Where(u => !string.IsNullOrWhiteSpace(u.Name)).GroupBy(u => u.Name).Any(u => u.Count() > 1))
|
|
|
throw Oops.Oh(ErrorCodeEnum.D4009);
|
|
throw Oops.Oh(ErrorCodeEnum.D4009);
|
|
|
|
|
|
|
|
|
|
+ //获取旧记录数据 原ID不能改变 种子初始化后 数据重复
|
|
|
|
|
+ var tenantMenuList = await _sysTenantMenuRep.AsQueryable().Where(u => u.TenantId == input.Id).ToListAsync();
|
|
|
|
|
+
|
|
|
// 删除旧记录
|
|
// 删除旧记录
|
|
|
await _sysTenantMenuRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
|
|
await _sysTenantMenuRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
|
|
|
|
|
|
|
@@ -530,6 +533,14 @@ public class SysTenantService : IDynamicApiController, ITransient
|
|
|
|
|
|
|
|
// 保存租户菜单
|
|
// 保存租户菜单
|
|
|
var sysTenantMenuList = input.MenuIdList.Select(menuId => new SysTenantMenu { TenantId = input.Id, MenuId = menuId }).ToList();
|
|
var sysTenantMenuList = input.MenuIdList.Select(menuId => new SysTenantMenu { TenantId = input.Id, MenuId = menuId }).ToList();
|
|
|
|
|
+
|
|
|
|
|
+ //原ID不变
|
|
|
|
|
+ foreach (var item in sysTenantMenuList)
|
|
|
|
|
+ {
|
|
|
|
|
+ var tenantMenu = tenantMenuList.FirstOrDefault(u => u.TenantId == item.TenantId && u.MenuId == item.MenuId);
|
|
|
|
|
+ if (tenantMenu != null) item.Id = tenantMenu.Id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
await _sysTenantMenuRep.InsertRangeAsync(sysTenantMenuList);
|
|
await _sysTenantMenuRep.InsertRangeAsync(sysTenantMenuList);
|
|
|
|
|
|
|
|
// 清除菜单权限缓存
|
|
// 清除菜单权限缓存
|