统一处理多对多表映射

This commit is contained in:
yubaolee 2015-11-30 11:58:18 +08:00
parent 92ead80909
commit 464f04bb32
36 changed files with 968 additions and 3372 deletions

771
DB.sql
View File

@ -1,6 +1,6 @@
/*==============================================================*/ /*==============================================================*/
/* DBMS name: Microsoft SQL Server 2008 */ /* 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 if exists (select 1
from sysobjects from sysobjects
where id = object_id('ModuleRole') where id = object_id('Org')
and type = 'U') and type = 'U')
drop table ModuleRole drop table Org
go go
if exists (select 1 if exists (select 1
from sysobjects from sysobjects
where id = object_id('Org') where id = object_id('Relevance')
and type = 'U') and type = 'U')
drop table Org drop table Relevance
go go
if exists (select 1 if exists (select 1
@ -67,27 +67,6 @@ if exists (select 1
drop table UserExt drop table UserExt
go 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 */ /* Table: Module */
/*==============================================================*/ /*==============================================================*/
@ -652,154 +631,6 @@ alter table ModuleElementGrant
add constraint PK_MODULEELEMENTGRANT primary key (Id) add constraint PK_MODULEELEMENTGRANT primary key (Id)
go 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 */ /* Table: Org */
/*==============================================================*/ /*==============================================================*/
@ -1148,6 +979,194 @@ alter table Org
add constraint PK_ORG primary key (Id) add constraint PK_ORG primary key (Id)
go 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 */ /* Table: Role */
/*==============================================================*/ /*==============================================================*/
@ -2060,407 +2079,3 @@ alter table UserExt
add constraint PK_USEREXT primary key (Id) add constraint PK_USEREXT primary key (Id)
go 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

View File

@ -11,13 +11,13 @@ namespace OpenAuth.App
public class ModuleManagerApp public class ModuleManagerApp
{ {
private IModuleRepository _repository; private IModuleRepository _repository;
private IUserModuleRepository _userModuleRepository; private IRelevanceRepository _relevanceRepository;
public ModuleManagerApp(IModuleRepository repository, public ModuleManagerApp(IModuleRepository repository,
IUserModuleRepository userModuleRepository) IRelevanceRepository relevanceRepository)
{ {
_repository = repository; _repository = repository;
_userModuleRepository = userModuleRepository; _relevanceRepository = relevanceRepository;
} }
/// <summary> /// <summary>
@ -55,7 +55,7 @@ namespace OpenAuth.App
} }
public List<Module> LoadForUser(int userId) 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; if(!moduleIds.Any()) return null;
return _repository.Find(u => moduleIds.Contains(u.Id)).ToList(); return _repository.Find(u => moduleIds.Contains(u.Id)).ToList();
} }
@ -116,8 +116,8 @@ namespace OpenAuth.App
public void AccessModules(int userId, int[] ids) public void AccessModules(int userId, int[] ids)
{ {
_userModuleRepository.DeleteByUser(userId); _relevanceRepository.DeleteBy("UserModule",userId);
_userModuleRepository.AddUserModule(userId, ids); _relevanceRepository.AddRelevance("UserModule",ids.ToDictionary(u =>userId));
} }
#region #region

View File

@ -12,15 +12,15 @@ namespace OpenAuth.App
{ {
private IRoleRepository _repository; private IRoleRepository _repository;
private IOrgRepository _orgRepository; private IOrgRepository _orgRepository;
private IUserRoleRepository _userRoleRepository; private IRelevanceRepository _relevanceRepository;
public RoleManagerApp(IRoleRepository repository, public RoleManagerApp(IRoleRepository repository,
IOrgRepository orgRepository, IOrgRepository orgRepository,
IUserRoleRepository userRoleRepository) IRelevanceRepository relevanceRepository)
{ {
_repository = repository; _repository = repository;
_orgRepository = orgRepository; _orgRepository = orgRepository;
_userRoleRepository = userRoleRepository; _relevanceRepository = relevanceRepository;
} }
public int GetRoleCntInOrg(int orgId) public int GetRoleCntInOrg(int orgId)
@ -107,8 +107,10 @@ namespace OpenAuth.App
foreach (var role in roleIds) foreach (var role in roleIds)
{ {
RoleVM rolevm = role; RoleVM rolevm = role;
rolevm.IsBelongUser = (_userRoleRepository.FindSingle(u => u.RoleId == role.Id && u.UserId == userId) != rolevm.IsBelongUser = (_relevanceRepository.FindSingle(u => u.SecondId == role.Id
null); && u.FirstId == userId
&& u.Key =="UserRole")
!=null);
rolevms.Add(rolevm); rolevms.Add(rolevm);
} }
return rolevms; return rolevms;
@ -116,8 +118,9 @@ namespace OpenAuth.App
public void AccessRole(int userId, int[] roleIds) public void AccessRole(int userId, int[] roleIds)
{ {
_userRoleRepository.DeleteByUser(userId); _relevanceRepository.DeleteBy("UserRole", userId);
_userRoleRepository.AddUserRole(userId, roleIds);
_relevanceRepository.AddRelevance("UserRole",roleIds.ToDictionary(roleId => userId));
} }
} }
} }

View File

@ -11,12 +11,15 @@ namespace OpenAuth.App
{ {
private IUserRepository _repository; private IUserRepository _repository;
private IOrgRepository _orgRepository; private IOrgRepository _orgRepository;
private IRelevanceRepository _relevanceRepository;
public UserManagerApp(IUserRepository repository, public UserManagerApp(IUserRepository repository,
IOrgRepository orgRepository) IOrgRepository orgRepository,
IRelevanceRepository relevanceRepository)
{ {
_repository = repository; _repository = repository;
_orgRepository = orgRepository; _orgRepository = orgRepository;
_relevanceRepository = relevanceRepository;
} }
public int GetUserCntInOrg(int orgId) public int GetUserCntInOrg(int orgId)
@ -92,7 +95,10 @@ namespace OpenAuth.App
public void Delete(int id) 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) public void AddOrUpdate(UserView view)
@ -109,7 +115,8 @@ namespace OpenAuth.App
} }
int[] orgIds = view.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray(); 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));
} }
} }

View File

@ -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);
}
}

View File

@ -11,12 +11,5 @@ namespace OpenAuth.Domain.Interface
int GetUserCntInOrgs(params int[] orgIds); int GetUserCntInOrgs(params int[] orgIds);
IEnumerable<User> LoadInOrgs(int pageindex, int pagesize, 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);
} }
} }

View File

@ -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);
}
}

View File

@ -65,7 +65,7 @@ namespace OpenAuth.Domain
public string IconName { get; set; } public string IconName { get; set; }
/// <summary> /// <summary>
/// 当前状态 /// 状态
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int Status { get; set; } public int Status { get; set; }

View File

@ -35,7 +35,7 @@ namespace OpenAuth.Domain
public int Type { get; set; } public int Type { get; set; }
/// <summary> /// <summary>
/// 所属功能模块流水号 /// 功能模块Id
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int ModuleId { get; set; } public int ModuleId { get; set; }

View File

@ -17,7 +17,7 @@ namespace OpenAuth.Domain
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 页面元素流水号 /// 元素流水号
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int ElementId { get; set; } public int ElementId { get; set; }

View File

@ -46,22 +46,18 @@
<Compile Include="Interface\IOrgRepository.cs" /> <Compile Include="Interface\IOrgRepository.cs" />
<Compile Include="Interface\IRepository.cs" /> <Compile Include="Interface\IRepository.cs" />
<Compile Include="Interface\IRoleRepository.cs" /> <Compile Include="Interface\IRoleRepository.cs" />
<Compile Include="Interface\IUserRoleRepository.cs" /> <Compile Include="Interface\IRelevanceRepository.cs" />
<Compile Include="Interface\IUserModuleRepository.cs" />
<Compile Include="Interface\IUserRepository.cs" /> <Compile Include="Interface\IUserRepository.cs" />
<Compile Include="Module.cs" /> <Compile Include="Module.cs" />
<Compile Include="ModuleElement.cs" /> <Compile Include="ModuleElement.cs" />
<Compile Include="ModuleElementGrant.cs" /> <Compile Include="ModuleElementGrant.cs" />
<Compile Include="ModuleRole.cs" />
<Compile Include="Org.cs" /> <Compile Include="Org.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Relevance.cs" />
<Compile Include="Role.cs" /> <Compile Include="Role.cs" />
<Compile Include="User.cs" /> <Compile Include="User.cs" />
<Compile Include="UserCfg.cs" /> <Compile Include="UserCfg.cs" />
<Compile Include="UserExt.cs" /> <Compile Include="UserExt.cs" />
<Compile Include="UserModule.cs" />
<Compile Include="UserOrg.cs" />
<Compile Include="UserRole.cs" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -65,7 +65,7 @@ namespace OpenAuth.Domain
public string IconName { get; set; } public string IconName { get; set; }
/// <summary> /// <summary>
/// 当前状态 /// 状态
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int Status { get; set; } public int Status { get; set; }

View File

@ -8,7 +8,7 @@ namespace OpenAuth.Domain
/// <summary> /// <summary>
/// 用户ID /// 用户ID
/// </summary> /// </summary>
public partial class ModuleRole public partial class Relevance
{ {
/// <summary> /// <summary>
/// 用户ID /// 用户ID
@ -17,22 +17,34 @@ namespace OpenAuth.Domain
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 角色流水号 /// 第一个表主键ID
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int RoleId { get; set; } public int FirstId { get; set; }
/// <summary> /// <summary>
/// 所属功能模块流水号 /// 第二个表主键ID
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int ModuleId { get; set; } public int SecondId { get; set; }
/// <summary> /// <summary>
/// 组织类型 /// 描述
/// </summary> /// </summary>
/// <returns></returns> /// <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> /// <summary>
/// 授权时间 /// 授权时间
@ -41,18 +53,20 @@ namespace OpenAuth.Domain
public System.DateTime OperateTime { get; set; } public System.DateTime OperateTime { get; set; }
/// <summary> /// <summary>
/// 授权人流水号 /// 授权人
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int OperatorId { get; set; } public int OperatorId { get; set; }
public ModuleRole() public Relevance()
{ {
this.Id= 0; this.Id= 0;
this.RoleId= 0; this.FirstId= 0;
this.ModuleId= 0; this.SecondId= 0;
this.Type= 0; this.Description= string.Empty;
this.Key= string.Empty;
this.Status= 0;
this.OperateTime= DateTime.Now; this.OperateTime= DateTime.Now;
this.OperatorId= 0; this.OperatorId= 0;
} }

View File

@ -17,13 +17,13 @@ namespace OpenAuth.Domain
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 名称 /// 组织名称
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 当前状态 /// 状态
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int Status { get; set; } public int Status { get; set; }

View File

@ -41,7 +41,7 @@ namespace OpenAuth.Domain
public int Sex { get; set; } public int Sex { get; set; }
/// <summary> /// <summary>
/// 当前状态 /// 状态
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public int Status { get; set; } public int Status { get; set; }

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -46,8 +46,7 @@
<component type=" OpenAuth.Repository.RoleRepository" <component type=" OpenAuth.Repository.RoleRepository"
service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" /> service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ModuleRepository" service="OpenAuth.Domain.Interface.IModuleRepository,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.RelevanceRepository" service="OpenAuth.Domain.Interface.IRelevanceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.UserRoleRepository" service="OpenAuth.Domain.Interface.IUserRoleRepository,OpenAuth.Domain" />
</components> </components>
</autofac> </autofac>

View File

@ -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");
}
}
}

View 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");
}
}
}

View File

@ -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");
}
}
}

View File

@ -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");
}
}
}

View File

@ -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");
}
}
}

View File

@ -20,30 +20,24 @@ namespace OpenAuth.Repository.Models
public DbSet<Module> Modules { get; set; } public DbSet<Module> Modules { get; set; }
public DbSet<ModuleElement> ModuleElements { get; set; } public DbSet<ModuleElement> ModuleElements { get; set; }
public DbSet<ModuleElementGrant> ModuleElementGrants { get; set; } public DbSet<ModuleElementGrant> ModuleElementGrants { get; set; }
public DbSet<ModuleRole> ModuleRoles { get; set; }
public DbSet<Org> Orgs { get; set; } public DbSet<Org> Orgs { get; set; }
public DbSet<Relevance> Relevances { get; set; }
public DbSet<Role> Roles { get; set; } public DbSet<Role> Roles { get; set; }
public DbSet<User> Users { get; set; } public DbSet<User> Users { get; set; }
public DbSet<UserCfg> UserCfgs { get; set; } public DbSet<UserCfg> UserCfgs { get; set; }
public DbSet<UserExt> UserExts { 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) protected override void OnModelCreating(DbModelBuilder modelBuilder)
{ {
modelBuilder.Configurations.Add(new ModuleMap()); modelBuilder.Configurations.Add(new ModuleMap());
modelBuilder.Configurations.Add(new ModuleElementMap()); modelBuilder.Configurations.Add(new ModuleElementMap());
modelBuilder.Configurations.Add(new ModuleElementGrantMap()); modelBuilder.Configurations.Add(new ModuleElementGrantMap());
modelBuilder.Configurations.Add(new ModuleRoleMap());
modelBuilder.Configurations.Add(new OrgMap()); modelBuilder.Configurations.Add(new OrgMap());
modelBuilder.Configurations.Add(new RelevanceMap());
modelBuilder.Configurations.Add(new RoleMap()); modelBuilder.Configurations.Add(new RoleMap());
modelBuilder.Configurations.Add(new UserMap()); modelBuilder.Configurations.Add(new UserMap());
modelBuilder.Configurations.Add(new UserCfgMap()); modelBuilder.Configurations.Add(new UserCfgMap());
modelBuilder.Configurations.Add(new UserExtMap()); modelBuilder.Configurations.Add(new UserExtMap());
modelBuilder.Configurations.Add(new UserModuleMap());
modelBuilder.Configurations.Add(new UserOrgMap());
modelBuilder.Configurations.Add(new UserRoleMap());
} }
} }
} }

View File

@ -57,23 +57,19 @@
<Compile Include="Models\Mapping\ModuleElementGrantMap.cs" /> <Compile Include="Models\Mapping\ModuleElementGrantMap.cs" />
<Compile Include="Models\Mapping\ModuleElementMap.cs" /> <Compile Include="Models\Mapping\ModuleElementMap.cs" />
<Compile Include="Models\Mapping\ModuleMap.cs" /> <Compile Include="Models\Mapping\ModuleMap.cs" />
<Compile Include="Models\Mapping\ModuleRoleMap.cs" />
<Compile Include="Models\Mapping\OrgMap.cs" /> <Compile Include="Models\Mapping\OrgMap.cs" />
<Compile Include="Models\Mapping\RelevanceMap.cs" />
<Compile Include="Models\Mapping\RoleMap.cs" /> <Compile Include="Models\Mapping\RoleMap.cs" />
<Compile Include="Models\Mapping\UserCfgMap.cs" /> <Compile Include="Models\Mapping\UserCfgMap.cs" />
<Compile Include="Models\Mapping\UserExtMap.cs" /> <Compile Include="Models\Mapping\UserExtMap.cs" />
<Compile Include="Models\Mapping\UserMap.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="Models\OpenAuthDBContext.cs" />
<Compile Include="OrgRepository.cs" /> <Compile Include="OrgRepository.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ModuleRepository.cs" /> <Compile Include="ModuleRepository.cs" />
<Compile Include="RoleRepository.cs" /> <Compile Include="RoleRepository.cs" />
<Compile Include="UserModuleRepository.cs" />
<Compile Include="UserRepository.cs" /> <Compile Include="UserRepository.cs" />
<Compile Include="UserRoleRepository.cs" /> <Compile Include="RelevanceRepository.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj"> <ProjectReference Include="..\Infrastructure\Infrastructure.csproj">

View File

@ -17,9 +17,9 @@ namespace OpenAuth.Repository
public IEnumerable<Org> LoadByUser(int userId) public IEnumerable<Org> LoadByUser(int userId)
{ {
var result = from userorg in Context.UserOrgs var result = from userorg in Context.Relevances
join org in Context.Orgs on userorg.OrgId equals org.Id join org in Context.Orgs on userorg.SecondId equals org.Id
where userorg.UserId == userId where userorg.FirstId == userId && userorg.Key =="UserOrg"
select org; select org;
return result; return result;

View 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();
}
}
}

View File

@ -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();
}
}
}

View File

@ -21,8 +21,8 @@ namespace OpenAuth.Repository
{ {
var result = from user in Context.Users var result = from user in Context.Users
where ( where (
Context.UserOrgs.Where(uo => orgId.Contains(uo.OrgId)) Context.Relevances.Where(uo => orgId.Contains(uo.SecondId) && uo.Key =="UserOrg")
.Select(u => u.UserId) .Select(u => u.FirstId)
.Distinct() .Distinct()
) )
.Contains(user.Id) .Contains(user.Id)
@ -41,32 +41,5 @@ namespace OpenAuth.Repository
return LoadInOrgs(orgIds).OrderBy(u =>u.Id).Skip((pageindex -1)*pagesize).Take(pagesize); 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();
}
}
} }
} }

View File

@ -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();
}
}
}

View File

@ -17,7 +17,7 @@ namespace OpenAuth.UnitTest
private TestContext testContextInstance; 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"); private string _time = DateTime.Now.ToString("HH_mm_ss_ms");

View File

@ -18,7 +18,7 @@ namespace OpenAuth.UnitTest
private RoleManagerApp _app = new RoleManagerApp(new RoleRepository(), private RoleManagerApp _app = new RoleManagerApp(new RoleRepository(),
new OrgRepository(), new OrgRepository(),
new UserRoleRepository()); new RelevanceRepository());
private string _time = DateTime.Now.ToString("HH_mm_ss_ms"); private string _time = DateTime.Now.ToString("HH_mm_ss_ms");

View File

@ -17,7 +17,7 @@ namespace OpenAuth.UnitTest
{ {
private UserManagerApp _app = new UserManagerApp(new UserRepository(), private UserManagerApp _app = new UserManagerApp(new UserRepository(),
new OrgRepository()); new OrgRepository(), new RelevanceRepository());
private string _time = DateTime.Now.ToString("HH_mm_ss_ms"); private string _time = DateTime.Now.ToString("HH_mm_ss_ms");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff