From f3ad93aabd69da262c6ac36b36ac726a7999391a Mon Sep 17 00:00:00 2001
From: zhangqi <2794379662@qq.com>
Date: Tue, 27 Apr 2021 10:42:21 +0800
Subject: [PATCH] =?UTF-8?q?feature:=E5=8C=BA=E5=9F=9F=E8=A1=A8=E6=89=8B?=
=?UTF-8?q?=E5=8A=A8=E6=8C=87=E5=AE=9A=E5=A4=9A=E5=AF=B9=E5=A4=9A=E5=85=B3?=
=?UTF-8?q?=E7=B3=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Api/Ewide.Core/Entity/AreaNumber.cs | 23 +++++++++++++++++++++++
Api/Ewide.Core/Entity/SysRole.cs | 17 +++++++++++++++--
Api/Ewide.Core/Entity/SysUser.cs | 15 ++++++++++++++-
3 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/Api/Ewide.Core/Entity/AreaNumber.cs b/Api/Ewide.Core/Entity/AreaNumber.cs
index 4090445..46cd35e 100644
--- a/Api/Ewide.Core/Entity/AreaNumber.cs
+++ b/Api/Ewide.Core/Entity/AreaNumber.cs
@@ -40,5 +40,28 @@ namespace Ewide.Core.Entity
[Comment("排序")]
public int Sort { get; set; }
+
+ ///
+ /// 多个区域有多个用户绑定自定义数据
+ ///
+ public ICollection SysUsers { get; set; }
+ ///
+ /// 中间表
+ ///
+ public List SysUserAreas { get; set; }
+
+ ///
+ /// 多个区域有多个角色绑定权限数据
+ ///
+ public ICollection SysRoles { get; set; }
+ ///
+ /// 中间表
+ ///
+ public List SysRoleAreas { get; set; }
+ ///
+ /// 一个区域有多个组织
+ ///
+ public ICollection SysOrgs { get; set; }
+
}
}
diff --git a/Api/Ewide.Core/Entity/SysRole.cs b/Api/Ewide.Core/Entity/SysRole.cs
index 38b7854..f1ce913 100644
--- a/Api/Ewide.Core/Entity/SysRole.cs
+++ b/Api/Ewide.Core/Entity/SysRole.cs
@@ -1,4 +1,5 @@
-using Furion.DatabaseAccessor;
+using Ewide.Core.Entity;
+using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
@@ -70,6 +71,10 @@ namespace Ewide.Core
///
public List SysRoleDataScopes { get; set; }
+ public ICollection AreaNumbers { get; set; }
+
+ public List SysRoleAreas { get; set; }
+
///
/// 多对多(菜单)
///
@@ -97,7 +102,15 @@ namespace Ewide.Core
{
u.HasKey(c => new { c.SysRoleId, c.SysOrgId });
});
-
+ entityBuilder.HasMany(p => p.AreaNumbers)
+ .WithMany(p => p.SysRoles)
+ .UsingEntity(
+ u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaNumberCode),
+ u => u.HasOne(c => c.SysRole).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.SysRoleId),
+ u =>
+ {
+ u.HasKey(c => new { c.SysRoleId, c.AreaNumberCode });
+ });
entityBuilder.HasMany(p => p.SysMenus)
.WithMany(p => p.SysRoles)
.UsingEntity(
diff --git a/Api/Ewide.Core/Entity/SysUser.cs b/Api/Ewide.Core/Entity/SysUser.cs
index 21d4f40..8bc6dca 100644
--- a/Api/Ewide.Core/Entity/SysUser.cs
+++ b/Api/Ewide.Core/Entity/SysUser.cs
@@ -1,4 +1,5 @@
-using Furion.DatabaseAccessor;
+using Ewide.Core.Entity;
+using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
@@ -127,6 +128,11 @@ namespace Ewide.Core
///
public List SysUserDataScopes { get; set; }
+ public ICollection AreaNumbers { get; set; }
+ ///
+ /// 多对多中间表(用户-区域 数据范围)
+ ///
+ public List SysUserAreas { get; set; }
///
/// 配置多对多关系
///
@@ -150,6 +156,13 @@ namespace Ewide.Core
{
u.HasKey(c => new { c.SysUserId, c.SysOrgId });
});
+ entityBuilder.HasMany(p => p.AreaNumbers).WithMany(p => p.SysUsers).UsingEntity(
+ u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaNumberCode),
+ u => u.HasOne(c => c.SysUser).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.SysUserId),
+ u =>
+ {
+ u.HasKey(c => new { c.SysUserId, c.AreaNumberCode });
+ });
}
}
}