mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-08-23 13:06:48 +08:00
统一处理多对多表映射
This commit is contained in:
parent
92ead80909
commit
464f04bb32
771
DB.sql
771
DB.sql
@ -1,6 +1,6 @@
|
||||
/*==============================================================*/
|
||||
/* DBMS name: Microsoft SQL Server 2008 */
|
||||
/* Created on: 2015/11/19 21:52:04 */
|
||||
/* Created on: 2015/11/30 10:23:10 */
|
||||
/*==============================================================*/
|
||||
|
||||
|
||||
@ -27,16 +27,16 @@ go
|
||||
|
||||
if exists (select 1
|
||||
from sysobjects
|
||||
where id = object_id('ModuleRole')
|
||||
where id = object_id('Org')
|
||||
and type = 'U')
|
||||
drop table ModuleRole
|
||||
drop table Org
|
||||
go
|
||||
|
||||
if exists (select 1
|
||||
from sysobjects
|
||||
where id = object_id('Org')
|
||||
where id = object_id('Relevance')
|
||||
and type = 'U')
|
||||
drop table Org
|
||||
drop table Relevance
|
||||
go
|
||||
|
||||
if exists (select 1
|
||||
@ -67,27 +67,6 @@ if exists (select 1
|
||||
drop table UserExt
|
||||
go
|
||||
|
||||
if exists (select 1
|
||||
from sysobjects
|
||||
where id = object_id('UserModule')
|
||||
and type = 'U')
|
||||
drop table UserModule
|
||||
go
|
||||
|
||||
if exists (select 1
|
||||
from sysobjects
|
||||
where id = object_id('UserOrg')
|
||||
and type = 'U')
|
||||
drop table UserOrg
|
||||
go
|
||||
|
||||
if exists (select 1
|
||||
from sysobjects
|
||||
where id = object_id('UserRole')
|
||||
and type = 'U')
|
||||
drop table UserRole
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: Module */
|
||||
/*==============================================================*/
|
||||
@ -652,154 +631,6 @@ alter table ModuleElementGrant
|
||||
add constraint PK_MODULEELEMENTGRANT primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: ModuleRole */
|
||||
/*==============================================================*/
|
||||
create table ModuleRole (
|
||||
Id int identity,
|
||||
RoleId int not null default 0,
|
||||
ModuleId int not null default 0,
|
||||
Type int not null default 0,
|
||||
OperateTime datetime not null default getdate(),
|
||||
OperatorId int not null default 0
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select 1 from sys.extended_properties
|
||||
where major_id = object_id('ModuleRole') and minor_id = 0)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'功能模块-角色关联表',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Id')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'Id'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'流水号',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'Id'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'RoleId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'RoleId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'角色流水号',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'RoleId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'ModuleId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'ModuleId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'功能模块流水号',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'ModuleId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Type')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'Type'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'权限类型',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'Type'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperateTime')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'OperateTime'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权时间',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'OperateTime'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('ModuleRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperatorId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'OperatorId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权人流水号',
|
||||
'user', @CurrentUser, 'table', 'ModuleRole', 'column', 'OperatorId'
|
||||
go
|
||||
|
||||
alter table ModuleRole
|
||||
add constraint PK_MODULEROLE primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: Org */
|
||||
/*==============================================================*/
|
||||
@ -1148,6 +979,194 @@ alter table Org
|
||||
add constraint PK_ORG primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: Relevance */
|
||||
/*==============================================================*/
|
||||
create table Relevance (
|
||||
Id int identity,
|
||||
FirstId int not null default 0,
|
||||
SecondId int not null default 0,
|
||||
Description nvarchar(100) not null default ' ',
|
||||
[Key] varchar(100) not null default ' ',
|
||||
Status int not null default 0,
|
||||
OperateTime datetime not null default getdate(),
|
||||
OperatorId int not null default 0
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select 1 from sys.extended_properties
|
||||
where major_id = object_id('Relevance') and minor_id = 0)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'多对多关系集中映射',
|
||||
'user', @CurrentUser, 'table', 'Relevance'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Id')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Id'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'流水号',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Id'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'FirstId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'FirstId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'第一个表主键ID',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'FirstId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'SecondId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'SecondId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'第二个表主键ID',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'SecondId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Description')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Description'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'描述',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Description'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = '[Key]')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', '[Key]'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'映射标识',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', '[Key]'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Status')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Status'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'状态',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'Status'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperateTime')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'OperateTime'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权时间',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'OperateTime'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('Relevance')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperatorId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'OperatorId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权人',
|
||||
'user', @CurrentUser, 'table', 'Relevance', 'column', 'OperatorId'
|
||||
go
|
||||
|
||||
alter table Relevance
|
||||
add constraint PK_RELEVANCE primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: Role */
|
||||
/*==============================================================*/
|
||||
@ -2060,407 +2079,3 @@ alter table UserExt
|
||||
add constraint PK_USEREXT primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: UserModule */
|
||||
/*==============================================================*/
|
||||
create table UserModule (
|
||||
Id int identity,
|
||||
UserId int not null default 0,
|
||||
ModuleId int not null default 0,
|
||||
Type int not null default 0,
|
||||
OperateTime datetime not null default getdate(),
|
||||
OperatorId int not null default 0
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select 1 from sys.extended_properties
|
||||
where major_id = object_id('UserModule') and minor_id = 0)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'功能模块-用户关联表',
|
||||
'user', @CurrentUser, 'table', 'UserModule'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Id')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'Id'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'流水号',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'Id'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'UserId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'UserId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'用户流水号',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'UserId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'ModuleId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'ModuleId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'功能模块流水号',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'ModuleId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Type')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'Type'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'权限类型',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'Type'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperateTime')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'OperateTime'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权时间',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'OperateTime'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserModule')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperatorId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'OperatorId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权人',
|
||||
'user', @CurrentUser, 'table', 'UserModule', 'column', 'OperatorId'
|
||||
go
|
||||
|
||||
alter table UserModule
|
||||
add constraint PK_USERMODULE primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: UserOrg */
|
||||
/*==============================================================*/
|
||||
create table UserOrg (
|
||||
Id int identity,
|
||||
OrgId int not null default 0,
|
||||
UserId int not null default 0,
|
||||
OperateTime datetime not null default getdate(),
|
||||
OperatorId int not null default 0
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select 1 from sys.extended_properties
|
||||
where major_id = object_id('UserOrg') and minor_id = 0)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'用户-部门关联表',
|
||||
'user', @CurrentUser, 'table', 'UserOrg'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserOrg')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Id')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'Id'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'流水号',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'Id'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserOrg')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OrgId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OrgId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'部门流水号',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OrgId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserOrg')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'UserId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'UserId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'用户流水号',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'UserId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserOrg')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperateTime')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OperateTime'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权时间',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OperateTime'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserOrg')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperatorId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OperatorId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权人流水号',
|
||||
'user', @CurrentUser, 'table', 'UserOrg', 'column', 'OperatorId'
|
||||
go
|
||||
|
||||
alter table UserOrg
|
||||
add constraint PK_USERORG primary key (Id)
|
||||
go
|
||||
|
||||
/*==============================================================*/
|
||||
/* Table: UserRole */
|
||||
/*==============================================================*/
|
||||
create table UserRole (
|
||||
Id int identity,
|
||||
RoleId int not null default 0,
|
||||
UserId int not null default 0,
|
||||
OperateTime datetime not null default getdate(),
|
||||
OperatorId int not null default 0
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select 1 from sys.extended_properties
|
||||
where major_id = object_id('UserRole') and minor_id = 0)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'用户-角色关联表',
|
||||
'user', @CurrentUser, 'table', 'UserRole'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'Id')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'Id'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'流水号',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'Id'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'RoleId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'RoleId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'角色ID',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'RoleId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'UserId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'UserId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'用户流水号',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'UserId'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperateTime')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'OperateTime'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权时间',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'OperateTime'
|
||||
go
|
||||
|
||||
if exists(select 1 from sys.extended_properties p where
|
||||
p.major_id = object_id('UserRole')
|
||||
and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'OperatorId')
|
||||
)
|
||||
begin
|
||||
declare @CurrentUser sysname
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_dropextendedproperty 'MS_Description',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'OperatorId'
|
||||
|
||||
end
|
||||
|
||||
|
||||
select @CurrentUser = user_name()
|
||||
execute sp_addextendedproperty 'MS_Description',
|
||||
'授权人流水号',
|
||||
'user', @CurrentUser, 'table', 'UserRole', 'column', 'OperatorId'
|
||||
go
|
||||
|
||||
alter table UserRole
|
||||
add constraint PK_USERROLE primary key (Id)
|
||||
go
|
||||
|
||||
|
@ -11,13 +11,13 @@ namespace OpenAuth.App
|
||||
public class ModuleManagerApp
|
||||
{
|
||||
private IModuleRepository _repository;
|
||||
private IUserModuleRepository _userModuleRepository;
|
||||
private IRelevanceRepository _relevanceRepository;
|
||||
|
||||
public ModuleManagerApp(IModuleRepository repository,
|
||||
IUserModuleRepository userModuleRepository)
|
||||
IRelevanceRepository relevanceRepository)
|
||||
{
|
||||
_repository = repository;
|
||||
_userModuleRepository = userModuleRepository;
|
||||
_relevanceRepository = relevanceRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -55,7 +55,7 @@ namespace OpenAuth.App
|
||||
}
|
||||
public List<Module> LoadForUser(int userId)
|
||||
{
|
||||
var moduleIds = _userModuleRepository.Find(u => u.UserId == userId).Select(u => u.ModuleId).ToList();
|
||||
var moduleIds = _relevanceRepository.Find(u => u.FirstId == userId).Select(u => u.SecondId).ToList();
|
||||
if(!moduleIds.Any()) return null;
|
||||
return _repository.Find(u => moduleIds.Contains(u.Id)).ToList();
|
||||
}
|
||||
@ -116,8 +116,8 @@ namespace OpenAuth.App
|
||||
|
||||
public void AccessModules(int userId, int[] ids)
|
||||
{
|
||||
_userModuleRepository.DeleteByUser(userId);
|
||||
_userModuleRepository.AddUserModule(userId, ids);
|
||||
_relevanceRepository.DeleteBy("UserModule",userId);
|
||||
_relevanceRepository.AddRelevance("UserModule",ids.ToDictionary(u =>userId));
|
||||
}
|
||||
|
||||
#region 私有方法
|
||||
|
@ -12,15 +12,15 @@ namespace OpenAuth.App
|
||||
{
|
||||
private IRoleRepository _repository;
|
||||
private IOrgRepository _orgRepository;
|
||||
private IUserRoleRepository _userRoleRepository;
|
||||
private IRelevanceRepository _relevanceRepository;
|
||||
|
||||
public RoleManagerApp(IRoleRepository repository,
|
||||
IOrgRepository orgRepository,
|
||||
IUserRoleRepository userRoleRepository)
|
||||
IRelevanceRepository relevanceRepository)
|
||||
{
|
||||
_repository = repository;
|
||||
_orgRepository = orgRepository;
|
||||
_userRoleRepository = userRoleRepository;
|
||||
_relevanceRepository = relevanceRepository;
|
||||
}
|
||||
|
||||
public int GetRoleCntInOrg(int orgId)
|
||||
@ -107,8 +107,10 @@ namespace OpenAuth.App
|
||||
foreach (var role in roleIds)
|
||||
{
|
||||
RoleVM rolevm = role;
|
||||
rolevm.IsBelongUser = (_userRoleRepository.FindSingle(u => u.RoleId == role.Id && u.UserId == userId) !=
|
||||
null);
|
||||
rolevm.IsBelongUser = (_relevanceRepository.FindSingle(u => u.SecondId == role.Id
|
||||
&& u.FirstId == userId
|
||||
&& u.Key =="UserRole")
|
||||
!=null);
|
||||
rolevms.Add(rolevm);
|
||||
}
|
||||
return rolevms;
|
||||
@ -116,8 +118,9 @@ namespace OpenAuth.App
|
||||
|
||||
public void AccessRole(int userId, int[] roleIds)
|
||||
{
|
||||
_userRoleRepository.DeleteByUser(userId);
|
||||
_userRoleRepository.AddUserRole(userId, roleIds);
|
||||
_relevanceRepository.DeleteBy("UserRole", userId);
|
||||
|
||||
_relevanceRepository.AddRelevance("UserRole",roleIds.ToDictionary(roleId => userId));
|
||||
}
|
||||
}
|
||||
}
|
@ -11,12 +11,15 @@ namespace OpenAuth.App
|
||||
{
|
||||
private IUserRepository _repository;
|
||||
private IOrgRepository _orgRepository;
|
||||
private IRelevanceRepository _relevanceRepository;
|
||||
|
||||
public UserManagerApp(IUserRepository repository,
|
||||
IOrgRepository orgRepository)
|
||||
IOrgRepository orgRepository,
|
||||
IRelevanceRepository relevanceRepository)
|
||||
{
|
||||
_repository = repository;
|
||||
_orgRepository = orgRepository;
|
||||
_relevanceRepository = relevanceRepository;
|
||||
}
|
||||
|
||||
public int GetUserCntInOrg(int orgId)
|
||||
@ -92,7 +95,10 @@ namespace OpenAuth.App
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
_repository.Delete(id);
|
||||
_repository.Delete(u =>u.Id == id);
|
||||
_relevanceRepository.DeleteBy("UserOrg", id);
|
||||
_relevanceRepository.DeleteBy("UserModule", id);
|
||||
_relevanceRepository.DeleteBy("UserRole");
|
||||
}
|
||||
|
||||
public void AddOrUpdate(UserView view)
|
||||
@ -109,7 +115,8 @@ namespace OpenAuth.App
|
||||
}
|
||||
int[] orgIds = view.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray();
|
||||
|
||||
_repository.SetOrg(user.Id, orgIds);
|
||||
_relevanceRepository.DeleteBy("UserOrg", user.Id);
|
||||
_relevanceRepository.AddRelevance("UserOrg", orgIds.ToDictionary(u =>user.Id));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.Domain.Interface
|
||||
{
|
||||
public interface IUserModuleRepository : IRepository<UserModule>
|
||||
{
|
||||
void DeleteByUser(params int[] userIds);
|
||||
void AddUserModule(int userId, params int[] moduleIds);
|
||||
}
|
||||
}
|
@ -11,12 +11,5 @@ namespace OpenAuth.Domain.Interface
|
||||
int GetUserCntInOrgs(params int[] orgIds);
|
||||
IEnumerable<User> LoadInOrgs(int pageindex, int pagesize, params int[] orgIds);
|
||||
|
||||
void SetOrg(int userId, params int[] orgIds);
|
||||
|
||||
/// <summary>
|
||||
/// 删除用户及与该用户相关的信息
|
||||
/// </summary>
|
||||
void Delete(int id);
|
||||
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.Domain.Interface
|
||||
{
|
||||
public interface IUserRoleRepository : IRepository<UserRole>
|
||||
{
|
||||
void DeleteByUser(params int[] userIds);
|
||||
void AddUserRole(int userId, params int[] roleIds);
|
||||
}
|
||||
}
|
@ -65,7 +65,7 @@ namespace OpenAuth.Domain
|
||||
public string IconName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前状态
|
||||
/// 状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Status { get; set; }
|
||||
|
@ -35,7 +35,7 @@ namespace OpenAuth.Domain
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属功能模块流水号
|
||||
/// 功能模块Id
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int ModuleId { get; set; }
|
||||
|
@ -17,7 +17,7 @@ namespace OpenAuth.Domain
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 页面元素流水号
|
||||
/// 元素流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int ElementId { get; set; }
|
||||
|
@ -46,22 +46,18 @@
|
||||
<Compile Include="Interface\IOrgRepository.cs" />
|
||||
<Compile Include="Interface\IRepository.cs" />
|
||||
<Compile Include="Interface\IRoleRepository.cs" />
|
||||
<Compile Include="Interface\IUserRoleRepository.cs" />
|
||||
<Compile Include="Interface\IUserModuleRepository.cs" />
|
||||
<Compile Include="Interface\IRelevanceRepository.cs" />
|
||||
<Compile Include="Interface\IUserRepository.cs" />
|
||||
<Compile Include="Module.cs" />
|
||||
<Compile Include="ModuleElement.cs" />
|
||||
<Compile Include="ModuleElementGrant.cs" />
|
||||
<Compile Include="ModuleRole.cs" />
|
||||
<Compile Include="Org.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Relevance.cs" />
|
||||
<Compile Include="Role.cs" />
|
||||
<Compile Include="User.cs" />
|
||||
<Compile Include="UserCfg.cs" />
|
||||
<Compile Include="UserExt.cs" />
|
||||
<Compile Include="UserModule.cs" />
|
||||
<Compile Include="UserOrg.cs" />
|
||||
<Compile Include="UserRole.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
@ -65,7 +65,7 @@ namespace OpenAuth.Domain
|
||||
public string IconName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前状态
|
||||
/// 状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Status { get; set; }
|
||||
|
@ -8,7 +8,7 @@ namespace OpenAuth.Domain
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
public partial class ModuleRole
|
||||
public partial class Relevance
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
@ -17,22 +17,34 @@ namespace OpenAuth.Domain
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 角色流水号
|
||||
/// 第一个表主键ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int RoleId { get; set; }
|
||||
public int FirstId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属功能模块流水号
|
||||
/// 第二个表主键ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int ModuleId { get; set; }
|
||||
public int SecondId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组织类型
|
||||
/// 描述
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Type { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string Key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权时间
|
||||
@ -41,18 +53,20 @@ namespace OpenAuth.Domain
|
||||
public System.DateTime OperateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权人流水号
|
||||
/// 授权人
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int OperatorId { get; set; }
|
||||
|
||||
|
||||
public ModuleRole()
|
||||
public Relevance()
|
||||
{
|
||||
this.Id= 0;
|
||||
this.RoleId= 0;
|
||||
this.ModuleId= 0;
|
||||
this.Type= 0;
|
||||
this.FirstId= 0;
|
||||
this.SecondId= 0;
|
||||
this.Description= string.Empty;
|
||||
this.Key= string.Empty;
|
||||
this.Status= 0;
|
||||
this.OperateTime= DateTime.Now;
|
||||
this.OperatorId= 0;
|
||||
}
|
@ -17,13 +17,13 @@ namespace OpenAuth.Domain
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// 组织名称
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前状态
|
||||
/// 状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Status { get; set; }
|
||||
|
@ -41,7 +41,7 @@ namespace OpenAuth.Domain
|
||||
public int Sex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前状态
|
||||
/// 状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Status { get; set; }
|
||||
|
@ -1,63 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
public partial class UserModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属功能模块流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int ModuleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组织类型
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权时间
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public System.DateTime OperateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权人流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int OperatorId { get; set; }
|
||||
|
||||
|
||||
public UserModule()
|
||||
{
|
||||
this.Id= 0;
|
||||
this.UserId= 0;
|
||||
this.ModuleId= 0;
|
||||
this.Type= 0;
|
||||
this.OperateTime= DateTime.Now;
|
||||
this.OperatorId= 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
public partial class UserOrg
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权时间
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public System.DateTime OperateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权人流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int OperatorId { get; set; }
|
||||
|
||||
|
||||
public UserOrg()
|
||||
{
|
||||
this.Id= 0;
|
||||
this.OrgId= 0;
|
||||
this.UserId= 0;
|
||||
this.OperateTime= DateTime.Now;
|
||||
this.OperatorId= 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
public partial class UserRole
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 角色流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int RoleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权时间
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public System.DateTime OperateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 授权人流水号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int OperatorId { get; set; }
|
||||
|
||||
|
||||
public UserRole()
|
||||
{
|
||||
this.Id= 0;
|
||||
this.RoleId= 0;
|
||||
this.UserId= 0;
|
||||
this.OperateTime= DateTime.Now;
|
||||
this.OperatorId= 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -46,8 +46,7 @@
|
||||
<component type=" OpenAuth.Repository.RoleRepository"
|
||||
service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" />
|
||||
<component type=" OpenAuth.Repository.ModuleRepository" service="OpenAuth.Domain.Interface.IModuleRepository,OpenAuth.Domain" />
|
||||
<component type=" OpenAuth.Repository.UserModuleRepository" service="OpenAuth.Domain.Interface.IUserModuleRepository,OpenAuth.Domain" />
|
||||
<component type=" OpenAuth.Repository.UserRoleRepository" service="OpenAuth.Domain.Interface.IUserRoleRepository,OpenAuth.Domain" />
|
||||
<component type=" OpenAuth.Repository.RelevanceRepository" service="OpenAuth.Domain.Interface.IRelevanceRepository,OpenAuth.Domain" />
|
||||
</components>
|
||||
</autofac>
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Repository.Models.Mapping
|
||||
{
|
||||
public class ModuleRoleMap : EntityTypeConfiguration<ModuleRole>
|
||||
{
|
||||
public ModuleRoleMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
// Table & Column Mappings
|
||||
this.ToTable("ModuleRole");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.ModuleId).HasColumnName("ModuleId");
|
||||
this.Property(t => t.Type).HasColumnName("Type");
|
||||
this.Property(t => t.OperateTime).HasColumnName("OperateTime");
|
||||
this.Property(t => t.OperatorId).HasColumnName("OperatorId");
|
||||
}
|
||||
}
|
||||
}
|
35
OpenAuth.Repository/Models/Mapping/RelevanceMap.cs
Normal file
35
OpenAuth.Repository/Models/Mapping/RelevanceMap.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Repository.Models.Mapping
|
||||
{
|
||||
public class RelevanceMap : EntityTypeConfiguration<Relevance>
|
||||
{
|
||||
public RelevanceMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.Description)
|
||||
.IsRequired()
|
||||
.HasMaxLength(100);
|
||||
|
||||
this.Property(t => t.Key)
|
||||
.IsRequired()
|
||||
.HasMaxLength(100);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("Relevance");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.FirstId).HasColumnName("FirstId");
|
||||
this.Property(t => t.SecondId).HasColumnName("SecondId");
|
||||
this.Property(t => t.Description).HasColumnName("Description");
|
||||
this.Property(t => t.Key).HasColumnName("Key");
|
||||
this.Property(t => t.Status).HasColumnName("Status");
|
||||
this.Property(t => t.OperateTime).HasColumnName("OperateTime");
|
||||
this.Property(t => t.OperatorId).HasColumnName("OperatorId");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Repository.Models.Mapping
|
||||
{
|
||||
public class UserModuleMap : EntityTypeConfiguration<UserModule>
|
||||
{
|
||||
public UserModuleMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
// Table & Column Mappings
|
||||
this.ToTable("UserModule");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.UserId).HasColumnName("UserId");
|
||||
this.Property(t => t.ModuleId).HasColumnName("ModuleId");
|
||||
this.Property(t => t.Type).HasColumnName("Type");
|
||||
this.Property(t => t.OperateTime).HasColumnName("OperateTime");
|
||||
this.Property(t => t.OperatorId).HasColumnName("OperatorId");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Repository.Models.Mapping
|
||||
{
|
||||
public class UserOrgMap : EntityTypeConfiguration<UserOrg>
|
||||
{
|
||||
public UserOrgMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
// Table & Column Mappings
|
||||
this.ToTable("UserOrg");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.OrgId).HasColumnName("OrgId");
|
||||
this.Property(t => t.UserId).HasColumnName("UserId");
|
||||
this.Property(t => t.OperateTime).HasColumnName("OperateTime");
|
||||
this.Property(t => t.OperatorId).HasColumnName("OperatorId");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Repository.Models.Mapping
|
||||
{
|
||||
public class UserRoleMap : EntityTypeConfiguration<UserRole>
|
||||
{
|
||||
public UserRoleMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
// Table & Column Mappings
|
||||
this.ToTable("UserRole");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.UserId).HasColumnName("UserId");
|
||||
this.Property(t => t.OperateTime).HasColumnName("OperateTime");
|
||||
this.Property(t => t.OperatorId).HasColumnName("OperatorId");
|
||||
}
|
||||
}
|
||||
}
|
@ -20,30 +20,24 @@ namespace OpenAuth.Repository.Models
|
||||
public DbSet<Module> Modules { get; set; }
|
||||
public DbSet<ModuleElement> ModuleElements { get; set; }
|
||||
public DbSet<ModuleElementGrant> ModuleElementGrants { get; set; }
|
||||
public DbSet<ModuleRole> ModuleRoles { get; set; }
|
||||
public DbSet<Org> Orgs { get; set; }
|
||||
public DbSet<Relevance> Relevances { get; set; }
|
||||
public DbSet<Role> Roles { get; set; }
|
||||
public DbSet<User> Users { get; set; }
|
||||
public DbSet<UserCfg> UserCfgs { get; set; }
|
||||
public DbSet<UserExt> UserExts { get; set; }
|
||||
public DbSet<UserModule> UserModules { get; set; }
|
||||
public DbSet<UserOrg> UserOrgs { get; set; }
|
||||
public DbSet<UserRole> UserRoles { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Configurations.Add(new ModuleMap());
|
||||
modelBuilder.Configurations.Add(new ModuleElementMap());
|
||||
modelBuilder.Configurations.Add(new ModuleElementGrantMap());
|
||||
modelBuilder.Configurations.Add(new ModuleRoleMap());
|
||||
modelBuilder.Configurations.Add(new OrgMap());
|
||||
modelBuilder.Configurations.Add(new RelevanceMap());
|
||||
modelBuilder.Configurations.Add(new RoleMap());
|
||||
modelBuilder.Configurations.Add(new UserMap());
|
||||
modelBuilder.Configurations.Add(new UserCfgMap());
|
||||
modelBuilder.Configurations.Add(new UserExtMap());
|
||||
modelBuilder.Configurations.Add(new UserModuleMap());
|
||||
modelBuilder.Configurations.Add(new UserOrgMap());
|
||||
modelBuilder.Configurations.Add(new UserRoleMap());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -57,23 +57,19 @@
|
||||
<Compile Include="Models\Mapping\ModuleElementGrantMap.cs" />
|
||||
<Compile Include="Models\Mapping\ModuleElementMap.cs" />
|
||||
<Compile Include="Models\Mapping\ModuleMap.cs" />
|
||||
<Compile Include="Models\Mapping\ModuleRoleMap.cs" />
|
||||
<Compile Include="Models\Mapping\OrgMap.cs" />
|
||||
<Compile Include="Models\Mapping\RelevanceMap.cs" />
|
||||
<Compile Include="Models\Mapping\RoleMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserCfgMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserExtMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserModuleMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserOrgMap.cs" />
|
||||
<Compile Include="Models\Mapping\UserRoleMap.cs" />
|
||||
<Compile Include="Models\OpenAuthDBContext.cs" />
|
||||
<Compile Include="OrgRepository.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ModuleRepository.cs" />
|
||||
<Compile Include="RoleRepository.cs" />
|
||||
<Compile Include="UserModuleRepository.cs" />
|
||||
<Compile Include="UserRepository.cs" />
|
||||
<Compile Include="UserRoleRepository.cs" />
|
||||
<Compile Include="RelevanceRepository.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj">
|
||||
|
@ -17,9 +17,9 @@ namespace OpenAuth.Repository
|
||||
|
||||
public IEnumerable<Org> LoadByUser(int userId)
|
||||
{
|
||||
var result = from userorg in Context.UserOrgs
|
||||
join org in Context.Orgs on userorg.OrgId equals org.Id
|
||||
where userorg.UserId == userId
|
||||
var result = from userorg in Context.Relevances
|
||||
join org in Context.Orgs on userorg.SecondId equals org.Id
|
||||
where userorg.FirstId == userId && userorg.Key =="UserOrg"
|
||||
select org;
|
||||
return result;
|
||||
|
||||
|
34
OpenAuth.Repository/RelevanceRepository.cs
Normal file
34
OpenAuth.Repository/RelevanceRepository.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Domain.Interface;
|
||||
|
||||
namespace OpenAuth.Repository
|
||||
{
|
||||
public class RelevanceRepository :BaseRepository<Relevance>, IRelevanceRepository
|
||||
{
|
||||
|
||||
public void DeleteBy(string key,params int[] firstIds)
|
||||
{
|
||||
Delete(u => firstIds.Contains(u.FirstId) && u.Key == key);
|
||||
}
|
||||
|
||||
public void AddRelevance(string key, Dictionary<int, int> ids)
|
||||
{
|
||||
foreach (var roleid in ids)
|
||||
{
|
||||
Add(new Relevance
|
||||
{
|
||||
Key = key,
|
||||
FirstId = roleid.Key,
|
||||
SecondId = roleid.Value,
|
||||
OperateTime = DateTime.Now
|
||||
});
|
||||
}
|
||||
Save();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
// ***********************************************************************
|
||||
// Assembly : OpenAuth.Repository
|
||||
// Author : yubaolee
|
||||
// Created : 11-26-2015
|
||||
//
|
||||
// Last Modified By : yubaolee
|
||||
// Last Modified On : 11-26-2015
|
||||
// ***********************************************************************
|
||||
// <copyright file="UserModuleRepository.cs" company="www.cnblogs.com/yubaolee">
|
||||
// Copyright (c) www.cnblogs.com/yubaolee. All rights reserved.
|
||||
// </copyright>
|
||||
// <summary>用户菜单分配操作</summary>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Domain.Interface;
|
||||
|
||||
namespace OpenAuth.Repository
|
||||
{
|
||||
public class UserModuleRepository : BaseRepository<UserModule>, IUserModuleRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// 删除指定用户关联的模块
|
||||
/// </summary>
|
||||
/// <param name="userIds">The user ids.</param>
|
||||
public void DeleteByUser(params int[] userIds)
|
||||
{
|
||||
Delete(u =>userIds.Contains(u.UserId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 为指定的用户分配模块
|
||||
/// </summary>
|
||||
public void AddUserModule(int userId, params int[] moduleIds)
|
||||
{
|
||||
foreach (var moduleId in moduleIds)
|
||||
{
|
||||
Add(new UserModule
|
||||
{
|
||||
UserId = userId,
|
||||
ModuleId = moduleId,
|
||||
OperateTime = DateTime.Now
|
||||
});
|
||||
}
|
||||
Save();
|
||||
}
|
||||
}
|
||||
}
|
@ -21,8 +21,8 @@ namespace OpenAuth.Repository
|
||||
{
|
||||
var result = from user in Context.Users
|
||||
where (
|
||||
Context.UserOrgs.Where(uo => orgId.Contains(uo.OrgId))
|
||||
.Select(u => u.UserId)
|
||||
Context.Relevances.Where(uo => orgId.Contains(uo.SecondId) && uo.Key =="UserOrg")
|
||||
.Select(u => u.FirstId)
|
||||
.Distinct()
|
||||
)
|
||||
.Contains(user.Id)
|
||||
@ -41,32 +41,5 @@ namespace OpenAuth.Repository
|
||||
return LoadInOrgs(orgIds).OrderBy(u =>u.Id).Skip((pageindex -1)*pagesize).Take(pagesize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置用户的机构
|
||||
/// </summary>
|
||||
public void SetOrg(int userId, params int[] orgIds)
|
||||
{
|
||||
using (TransactionScope ts = new TransactionScope())
|
||||
{
|
||||
Context.UserOrgs.Where(u => u.UserId == userId).Delete();
|
||||
|
||||
foreach (var orgId in orgIds)
|
||||
{
|
||||
Context.UserOrgs.Add(new UserOrg{OrgId = orgId,UserId = userId});
|
||||
}
|
||||
Save();
|
||||
ts.Complete();
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
using (TransactionScope ts = new TransactionScope())
|
||||
{
|
||||
Context.UserOrgs.Where(u => u.UserId == id).Delete();
|
||||
Delete(u =>u.Id == id);
|
||||
ts.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,34 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Domain.Interface;
|
||||
|
||||
namespace OpenAuth.Repository
|
||||
{
|
||||
public class UserRoleRepository :BaseRepository<UserRole>, IUserRoleRepository
|
||||
{
|
||||
public void DeleteByUser(params int[] userIds)
|
||||
{
|
||||
Delete(u =>userIds.Contains(u.UserId));
|
||||
}
|
||||
|
||||
public void AddUserRole(int userId, params int[] roleIds)
|
||||
{
|
||||
|
||||
foreach (var roleid in roleIds)
|
||||
{
|
||||
Add(new UserRole
|
||||
{
|
||||
UserId = userId,
|
||||
RoleId = roleid,
|
||||
OperateTime = DateTime.Now
|
||||
});
|
||||
}
|
||||
Save();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@ namespace OpenAuth.UnitTest
|
||||
|
||||
|
||||
private TestContext testContextInstance;
|
||||
private ModuleManagerApp _app = new ModuleManagerApp(new ModuleRepository(), new UserModuleRepository());
|
||||
private ModuleManagerApp _app = new ModuleManagerApp(new ModuleRepository(), new RelevanceRepository());
|
||||
private string _time = DateTime.Now.ToString("HH_mm_ss_ms");
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace OpenAuth.UnitTest
|
||||
|
||||
private RoleManagerApp _app = new RoleManagerApp(new RoleRepository(),
|
||||
new OrgRepository(),
|
||||
new UserRoleRepository());
|
||||
new RelevanceRepository());
|
||||
private string _time = DateTime.Now.ToString("HH_mm_ss_ms");
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace OpenAuth.UnitTest
|
||||
{
|
||||
|
||||
private UserManagerApp _app = new UserManagerApp(new UserRepository(),
|
||||
new OrgRepository());
|
||||
new OrgRepository(), new RelevanceRepository());
|
||||
private string _time = DateTime.Now.ToString("HH_mm_ss_ms");
|
||||
|
||||
|
||||
|
1422
数据库设计关系图/PDM_OA.pdb
1422
数据库设计关系图/PDM_OA.pdb
File diff suppressed because it is too large
Load Diff
1419
数据库设计关系图/PDM_OA.pdm
1419
数据库设计关系图/PDM_OA.pdm
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user