mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-07-17 10:42:08 +08:00
refactor: Relevance替换key为relkey
This commit is contained in:
parent
965a8ae2e8
commit
ca9835a039
@ -43,7 +43,7 @@ namespace OpenAuth.App
|
|||||||
get {
|
get {
|
||||||
var moduleIds = SugarClient.Queryable<Relevance>().Where(
|
var moduleIds = SugarClient.Queryable<Relevance>().Where(
|
||||||
u =>
|
u =>
|
||||||
u.Key == Define.ROLEMODULE && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
u.RelKey == Define.ROLEMODULE && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
||||||
var elementIds = GetElementIds();
|
var elementIds = GetElementIds();
|
||||||
|
|
||||||
return SugarClient.Queryable<ModuleView>().Where(m =>moduleIds.Contains(m.Id))
|
return SugarClient.Queryable<ModuleView>().Where(m =>moduleIds.Contains(m.Id))
|
||||||
@ -70,7 +70,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
var elementIds = SugarClient.Queryable<Relevance>().Where(
|
var elementIds = SugarClient.Queryable<Relevance>().Where(
|
||||||
u =>
|
u =>
|
||||||
u.Key == Define.ROLEELEMENT && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
u.RelKey == Define.ROLEELEMENT && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
||||||
return elementIds;
|
return elementIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
var resourceIds = SugarClient.Queryable<Relevance>().Where(
|
var resourceIds = SugarClient.Queryable<Relevance>().Where(
|
||||||
u =>
|
u =>
|
||||||
u.Key == Define.ROLERESOURCE && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
u.RelKey == Define.ROLERESOURCE && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
||||||
return SugarClient.Queryable<SysResource>().Where(u => resourceIds.Contains(u.Id)).ToList();
|
return SugarClient.Queryable<SysResource>().Where(u => resourceIds.Contains(u.Id)).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,7 +95,7 @@ namespace OpenAuth.App
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
var orgids = SugarClient.Queryable<Relevance>().Where(
|
var orgids = SugarClient.Queryable<Relevance>().Where(
|
||||||
u =>u.FirstId == _user.Id && u.Key == Define.USERORG).Select(u => u.SecondId).ToList();
|
u =>u.FirstId == _user.Id && u.RelKey == Define.USERORG).Select(u => u.SecondId).ToList();
|
||||||
return SugarClient.Queryable<SysOrg>().Where(org =>orgids.Contains(org.Id))
|
return SugarClient.Queryable<SysOrg>().Where(org =>orgids.Contains(org.Id))
|
||||||
.LeftJoin<SysUser>((org, user) => org.ChairmanId ==user.Id)
|
.LeftJoin<SysUser>((org, user) => org.ChairmanId ==user.Id)
|
||||||
.Select((org,user)=>new OrgView
|
.Select((org,user)=>new OrgView
|
||||||
@ -112,7 +112,7 @@ namespace OpenAuth.App
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
_user = value;
|
_user = value;
|
||||||
_userRoleIds = SugarClient.Queryable<Relevance>().Where(u => u.FirstId == _user.Id && u.Key == Define.USERROLE)
|
_userRoleIds = SugarClient.Queryable<Relevance>().Where(u => u.FirstId == _user.Id && u.RelKey == Define.USERROLE)
|
||||||
.Select(u => u.SecondId).ToList();
|
.Select(u => u.SecondId).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@ namespace OpenAuth.App
|
|||||||
}
|
}
|
||||||
|
|
||||||
var props =SugarClient.Queryable<Relevance>().Where(u =>
|
var props =SugarClient.Queryable<Relevance>().Where(u =>
|
||||||
u.Key == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
u.RelKey == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
||||||
.Select(u => u.ThirdId).ToList();
|
.Select(u => u.ThirdId).ToList();
|
||||||
|
|
||||||
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
||||||
@ -160,7 +160,7 @@ namespace OpenAuth.App
|
|||||||
}
|
}
|
||||||
|
|
||||||
var props =SugarClient.Queryable<Relevance>().Where(u =>
|
var props =SugarClient.Queryable<Relevance>().Where(u =>
|
||||||
u.Key == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
u.RelKey == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
||||||
.Select(u => u.ThirdId).ToList();
|
.Select(u => u.ThirdId).ToList();
|
||||||
|
|
||||||
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
||||||
|
@ -761,14 +761,18 @@ namespace OpenAuth.App.Flow
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 替换SQL中的权限占位符
|
/// 替换SQL中的权限占位符
|
||||||
|
/// <para>如:select id from sysuser where parentId = {loginUser}</para>
|
||||||
|
/// <para>替换后:select id from sysuser where parentId = '123'</para>
|
||||||
|
/// <para>如:select id from sysuser where parentId = {loginUser}</para>
|
||||||
|
/// <para>替换后:select id from sysuser where parentId = '123'</para>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sql"></param>
|
/// <param name="sql"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private string ReplaceSql(string sql){
|
private string ReplaceSql(string sql){
|
||||||
var loginUser = AutofacContainerModule.GetService<IAuth>().GetCurrentUser();
|
var loginUser = AutofacContainerModule.GetService<IAuth>().GetCurrentUser();
|
||||||
var res = sql.Replace(Define.DATAPRIVILEGE_LOGINUSER, loginUser.User.Id);
|
var res = sql.Replace(Define.DATAPRIVILEGE_LOGINUSER, $"'{loginUser.User.Id}'");
|
||||||
res = res.Replace(Define.DATAPRIVILEGE_LOGINROLE, string.Join(',', loginUser.Roles.Select(u => u.Id)));
|
res = res.Replace(Define.DATAPRIVILEGE_LOGINROLE, string.Join(',', loginUser.Roles.Select(u => $"'{u.Id}'")));
|
||||||
res = res.Replace(Define.DATAPRIVILEGE_LOGINORG, string.Join(',', loginUser.Orgs.Select(u => u.Id)));
|
res = res.Replace(Define.DATAPRIVILEGE_LOGINORG, string.Join(',', loginUser.Orgs.Select(u => $"'{u.Id}'")));
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -792,17 +792,17 @@ namespace OpenAuth.App
|
|||||||
select distinct FirstId as InstanceId
|
select distinct FirstId as InstanceId
|
||||||
from Relevance rel
|
from Relevance rel
|
||||||
inner join FlowInstance flow on rel.FirstId = flow.Id and flow.IsFinish = 1
|
inner join FlowInstance flow on rel.FirstId = flow.Id and flow.IsFinish = 1
|
||||||
where `key` = '{Define.INSTANCE_NOTICE_USER}'
|
where RelKey = '{Define.INSTANCE_NOTICE_USER}'
|
||||||
and SecondId = '{user.User.Id}'
|
and SecondId = '{user.User.Id}'
|
||||||
union
|
union
|
||||||
select distinct a.FirstId as InstanceId
|
select distinct a.FirstId as InstanceId
|
||||||
from Relevance a
|
from Relevance a
|
||||||
inner join (select SecondId as RoleId
|
inner join (select SecondId as RoleId
|
||||||
from Relevance
|
from Relevance
|
||||||
where `key` = 'UserRole'
|
where RelKey = 'UserRole'
|
||||||
and FirstId = '{user.User.Id}') b on a.SecondId = b.RoleId
|
and FirstId = '{user.User.Id}') b on a.SecondId = b.RoleId
|
||||||
inner join FlowInstance flow on a.FirstId = flow.Id and flow.IsFinish = 1
|
inner join FlowInstance flow on a.FirstId = flow.Id and flow.IsFinish = 1
|
||||||
where a.`key` = '{Define.INSTANCE_NOTICE_ROLE}') UniqueInstanceIds
|
where a.RelKey = '{Define.INSTANCE_NOTICE_ROLE}') UniqueInstanceIds
|
||||||
ON fi.Id = UniqueInstanceIds.InstanceId
|
ON fi.Id = UniqueInstanceIds.InstanceId
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
@ -810,15 +810,8 @@ namespace OpenAuth.App
|
|||||||
switch (SugarClient.CurrentConnectionConfig.DbType)
|
switch (SugarClient.CurrentConnectionConfig.DbType)
|
||||||
{
|
{
|
||||||
case DbType.SqlServer:
|
case DbType.SqlServer:
|
||||||
sql = sql.Replace("`key`", "[Key]");
|
|
||||||
sql = sql.Replace("from dual", "");
|
sql = sql.Replace("from dual", "");
|
||||||
break;
|
break;
|
||||||
case DbType.Oracle:
|
|
||||||
sql = sql.Replace("`key`", "\"KEY\"");
|
|
||||||
break;
|
|
||||||
case DbType.PostgreSQL:
|
|
||||||
sql = sql.Replace("`key`", "key");
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var finalQuery = SugarClient.SqlQueryable<FlowInstance>(sql)
|
var finalQuery = SugarClient.SqlQueryable<FlowInstance>(sql)
|
||||||
|
@ -52,7 +52,7 @@ namespace OpenAuth.App
|
|||||||
/// <param name="roleId">The role unique identifier.</param>
|
/// <param name="roleId">The role unique identifier.</param>
|
||||||
public IEnumerable<Module> LoadForRole(string roleId)
|
public IEnumerable<Module> LoadForRole(string roleId)
|
||||||
{
|
{
|
||||||
var moduleIds = UnitWork.Find<Relevance>(u => u.FirstId == roleId && u.Key == Define.ROLEMODULE)
|
var moduleIds = UnitWork.Find<Relevance>(u => u.FirstId == roleId && u.RelKey == Define.ROLEMODULE)
|
||||||
.Select(u => u.SecondId);
|
.Select(u => u.SecondId);
|
||||||
return UnitWork.Find<Module>(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo);
|
return UnitWork.Find<Module>(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo);
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ namespace OpenAuth.App
|
|||||||
delOrgIds.AddRange(UnitWork.Find<SysOrg>(u=>u.CascadeId.Contains(cascadeId)).Select(u =>u.Id).ToArray());
|
delOrgIds.AddRange(UnitWork.Find<SysOrg>(u=>u.CascadeId.Contains(cascadeId)).Select(u =>u.Id).ToArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
UnitWork.Delete<Relevance>(u =>u.Key == Define.USERORG && delOrgIds.Contains(u.SecondId));
|
UnitWork.Delete<Relevance>(u =>u.RelKey == Define.USERORG && delOrgIds.Contains(u.SecondId));
|
||||||
UnitWork.Delete<SysOrg>(u => delOrgIds.Contains(u.Id));
|
UnitWork.Delete<SysOrg>(u => delOrgIds.Contains(u.Id));
|
||||||
UnitWork.Save();
|
UnitWork.Save();
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
var result = from userorg in UnitWork.Find<Relevance>(null)
|
var result = from userorg in UnitWork.Find<Relevance>(null)
|
||||||
join org in UnitWork.Find<SysOrg>(null) on userorg.SecondId equals org.Id
|
join org in UnitWork.Find<SysOrg>(null) on userorg.SecondId equals org.Id
|
||||||
where userorg.FirstId == userId && userorg.Key == Define.USERORG
|
where userorg.FirstId == userId && userorg.RelKey == Define.USERORG
|
||||||
select org;
|
select org;
|
||||||
return result.ToList();
|
return result.ToList();
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ namespace OpenAuth.App
|
|||||||
from value in sameVals
|
from value in sameVals
|
||||||
select new Relevance
|
select new Relevance
|
||||||
{
|
{
|
||||||
Key = key,
|
RelKey = key,
|
||||||
FirstId = sameVals.Key,
|
FirstId = sameVals.Key,
|
||||||
SecondId = value,
|
SecondId = value,
|
||||||
OperateTime = DateTime.Now
|
OperateTime = DateTime.Now
|
||||||
@ -81,7 +81,7 @@ namespace OpenAuth.App
|
|||||||
_logger.LogInformation($"start=> delete {key} {sameVals.Key} {value}");
|
_logger.LogInformation($"start=> delete {key} {sameVals.Key} {value}");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
UnitWork.Delete<Relevance>(u => u.Key == key && u.FirstId == sameVals.Key && u.SecondId == value);
|
UnitWork.Delete<Relevance>(u => u.RelKey == key && u.FirstId == sameVals.Key && u.SecondId == value);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@ -94,7 +94,7 @@ namespace OpenAuth.App
|
|||||||
|
|
||||||
public void DeleteBy(string key, params string[] firstIds)
|
public void DeleteBy(string key, params string[] firstIds)
|
||||||
{
|
{
|
||||||
UnitWork.Delete<Relevance>(u => firstIds.Contains(u.FirstId) && u.Key == key);
|
UnitWork.Delete<Relevance>(u => firstIds.Contains(u.FirstId) && u.RelKey == key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -109,12 +109,12 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
if (returnSecondIds)
|
if (returnSecondIds)
|
||||||
{
|
{
|
||||||
return Repository.Find(u => u.Key == key
|
return Repository.Find(u => u.RelKey == key
|
||||||
&& ids.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
&& ids.Contains(u.FirstId)).Select(u => u.SecondId).ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return Repository.Find(u => u.Key == key
|
return Repository.Find(u => u.RelKey == key
|
||||||
&& ids.Contains(u.SecondId)).Select(u => u.FirstId).ToList();
|
&& ids.Contains(u.SecondId)).Select(u => u.FirstId).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,7 +128,7 @@ namespace OpenAuth.App
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<string> Get(string key, string firstId, string secondId)
|
public List<string> Get(string key, string firstId, string secondId)
|
||||||
{
|
{
|
||||||
return Repository.Find(u => u.Key == key && u.FirstId == firstId && u.SecondId == secondId)
|
return Repository.Find(u => u.RelKey == key && u.FirstId == firstId && u.SecondId == secondId)
|
||||||
.Select(u => u.ThirdId).ToList();
|
.Select(u => u.ThirdId).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
relevances.Add(new Relevance
|
relevances.Add(new Relevance
|
||||||
{
|
{
|
||||||
Key = Define.ROLEDATAPROPERTY,
|
RelKey = Define.ROLEDATAPROPERTY,
|
||||||
FirstId = request.RoleId,
|
FirstId = request.RoleId,
|
||||||
SecondId = request.ModuleCode,
|
SecondId = request.ModuleCode,
|
||||||
ThirdId = requestProperty,
|
ThirdId = requestProperty,
|
||||||
@ -181,7 +181,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
foreach (var property in request.Properties)
|
foreach (var property in request.Properties)
|
||||||
{
|
{
|
||||||
UnitWork.Delete<Relevance>(u => u.Key == Define.ROLEDATAPROPERTY
|
UnitWork.Delete<Relevance>(u => u.RelKey == Define.ROLEDATAPROPERTY
|
||||||
&& u.FirstId == request.RoleId
|
&& u.FirstId == request.RoleId
|
||||||
&& u.SecondId == request.ModuleCode
|
&& u.SecondId == request.ModuleCode
|
||||||
&& u.ThirdId == property);
|
&& u.ThirdId == property);
|
||||||
@ -198,12 +198,12 @@ namespace OpenAuth.App
|
|||||||
UnitWork.ExecuteWithTransaction(() =>
|
UnitWork.ExecuteWithTransaction(() =>
|
||||||
{
|
{
|
||||||
//删除以前的所有用户
|
//删除以前的所有用户
|
||||||
UnitWork.Delete<Relevance>(u => u.SecondId == request.RoleId && u.Key == Define.USERROLE);
|
UnitWork.Delete<Relevance>(u => u.SecondId == request.RoleId && u.RelKey == Define.USERROLE);
|
||||||
//批量分配用户角色
|
//批量分配用户角色
|
||||||
UnitWork.BatchAdd((from firstId in request.UserIds
|
UnitWork.BatchAdd((from firstId in request.UserIds
|
||||||
select new Relevance
|
select new Relevance
|
||||||
{
|
{
|
||||||
Key = Define.USERROLE,
|
RelKey = Define.USERROLE,
|
||||||
FirstId = firstId,
|
FirstId = firstId,
|
||||||
SecondId = request.RoleId,
|
SecondId = request.RoleId,
|
||||||
OperateTime = DateTime.Now
|
OperateTime = DateTime.Now
|
||||||
@ -221,12 +221,12 @@ namespace OpenAuth.App
|
|||||||
UnitWork.ExecuteWithTransaction(() =>
|
UnitWork.ExecuteWithTransaction(() =>
|
||||||
{
|
{
|
||||||
//删除以前的所有用户
|
//删除以前的所有用户
|
||||||
UnitWork.Delete<Relevance>(u => u.SecondId == request.OrgId && u.Key == Define.USERORG);
|
UnitWork.Delete<Relevance>(u => u.SecondId == request.OrgId && u.RelKey == Define.USERORG);
|
||||||
//批量分配用户角色
|
//批量分配用户角色
|
||||||
UnitWork.BatchAdd((from firstId in request.UserIds
|
UnitWork.BatchAdd((from firstId in request.UserIds
|
||||||
select new Relevance
|
select new Relevance
|
||||||
{
|
{
|
||||||
Key = Define.USERORG,
|
RelKey = Define.USERORG,
|
||||||
FirstId = firstId,
|
FirstId = firstId,
|
||||||
SecondId = request.OrgId,
|
SecondId = request.OrgId,
|
||||||
OperateTime = DateTime.Now
|
OperateTime = DateTime.Now
|
||||||
@ -244,12 +244,12 @@ namespace OpenAuth.App
|
|||||||
UnitWork.ExecuteWithTransaction(() =>
|
UnitWork.ExecuteWithTransaction(() =>
|
||||||
{
|
{
|
||||||
//删除以前的所有资源
|
//删除以前的所有资源
|
||||||
UnitWork.Delete<Relevance>(u => u.FirstId == request.RoleId && u.Key == Define.ROLERESOURCE);
|
UnitWork.Delete<Relevance>(u => u.FirstId == request.RoleId && u.RelKey == Define.ROLERESOURCE);
|
||||||
//批量分配角色资源
|
//批量分配角色资源
|
||||||
UnitWork.BatchAdd((from firstId in request.ResourceIds
|
UnitWork.BatchAdd((from firstId in request.ResourceIds
|
||||||
select new Relevance
|
select new Relevance
|
||||||
{
|
{
|
||||||
Key = Define.ROLERESOURCE,
|
RelKey = Define.ROLERESOURCE,
|
||||||
FirstId = request.RoleId,
|
FirstId = request.RoleId,
|
||||||
SecondId = firstId,
|
SecondId = firstId,
|
||||||
OperateTime = DateTime.Now
|
OperateTime = DateTime.Now
|
||||||
|
@ -88,8 +88,8 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
UnitWork.ExecuteWithTransaction(() =>
|
UnitWork.ExecuteWithTransaction(() =>
|
||||||
{
|
{
|
||||||
UnitWork.Delete<Relevance>(u=>(u.Key == Define.ROLEMODULE || u.Key == Define.ROLEELEMENT) && ids.Contains(u.FirstId));
|
UnitWork.Delete<Relevance>(u=>(u.RelKey == Define.ROLEMODULE || u.RelKey == Define.ROLEELEMENT) && ids.Contains(u.FirstId));
|
||||||
UnitWork.Delete<Relevance>(u=>u.Key == Define.USERROLE && ids.Contains(u.SecondId));
|
UnitWork.Delete<Relevance>(u=>u.RelKey == Define.USERROLE && ids.Contains(u.SecondId));
|
||||||
UnitWork.Delete<Role>(u =>ids.Contains(u.Id));
|
UnitWork.Delete<Role>(u =>ids.Contains(u.Id));
|
||||||
UnitWork.Save();
|
UnitWork.Save();
|
||||||
});
|
});
|
||||||
|
@ -44,7 +44,7 @@ namespace OpenAuth.App
|
|||||||
join user2 in UnitWork.Find<SysUser>(null)
|
join user2 in UnitWork.Find<SysUser>(null)
|
||||||
on user.ParentId equals user2.Id into tempuser
|
on user.ParentId equals user2.Id into tempuser
|
||||||
from u in tempuser.DefaultIfEmpty()
|
from u in tempuser.DefaultIfEmpty()
|
||||||
join relevance in UnitWork.Find<Relevance>(u => u.Key == "UserOrg")
|
join relevance in UnitWork.Find<Relevance>(u => u.RelKey == "UserOrg")
|
||||||
on user.Id equals relevance.FirstId into temp
|
on user.Id equals relevance.FirstId into temp
|
||||||
from r in temp.DefaultIfEmpty()
|
from r in temp.DefaultIfEmpty()
|
||||||
join org in UnitWork.Find<SysOrg>(null)
|
join org in UnitWork.Find<SysOrg>(null)
|
||||||
@ -64,7 +64,7 @@ namespace OpenAuth.App
|
|||||||
user.TypeName,
|
user.TypeName,
|
||||||
user.ParentId,
|
user.ParentId,
|
||||||
ParentName = u.Name, //直属上级
|
ParentName = u.Name, //直属上级
|
||||||
r.Key,
|
Key = r.RelKey,
|
||||||
r.SecondId,
|
r.SecondId,
|
||||||
OrgId = o.Id,
|
OrgId = o.Id,
|
||||||
OrgName = o.Name
|
OrgName = o.Name
|
||||||
@ -122,7 +122,7 @@ namespace OpenAuth.App
|
|||||||
join user2 in UnitWork.Find<SysUser>(null)
|
join user2 in UnitWork.Find<SysUser>(null)
|
||||||
on user.ParentId equals user2.Id into tempuser
|
on user.ParentId equals user2.Id into tempuser
|
||||||
from u in tempuser.DefaultIfEmpty()
|
from u in tempuser.DefaultIfEmpty()
|
||||||
join relevance in UnitWork.Find<Relevance>(u => u.Key == "UserOrg")
|
join relevance in UnitWork.Find<Relevance>(u => u.RelKey == "UserOrg")
|
||||||
on user.Id equals relevance.FirstId into temp
|
on user.Id equals relevance.FirstId into temp
|
||||||
from r in temp.DefaultIfEmpty()
|
from r in temp.DefaultIfEmpty()
|
||||||
join org in UnitWork.Find<SysOrg>(null)
|
join org in UnitWork.Find<SysOrg>(null)
|
||||||
@ -142,7 +142,7 @@ namespace OpenAuth.App
|
|||||||
user.TypeName,
|
user.TypeName,
|
||||||
user.ParentId,
|
user.ParentId,
|
||||||
ParentName = u.Name, //直属上级
|
ParentName = u.Name, //直属上级
|
||||||
r.Key,
|
Key = r.RelKey,
|
||||||
r.SecondId,
|
r.SecondId,
|
||||||
OrgId = o.Id,
|
OrgId = o.Id,
|
||||||
OrgName = o.Name
|
OrgName = o.Name
|
||||||
@ -230,7 +230,7 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
UnitWork.ExecuteWithTransaction(() =>
|
UnitWork.ExecuteWithTransaction(() =>
|
||||||
{
|
{
|
||||||
UnitWork.Delete<Relevance>(u =>(u.Key == Define.USERROLE || u.Key == Define.USERORG)
|
UnitWork.Delete<Relevance>(u =>(u.RelKey == Define.USERROLE || u.RelKey == Define.USERORG)
|
||||||
&& ids.Contains(u.FirstId));
|
&& ids.Contains(u.FirstId));
|
||||||
UnitWork.Delete<SysUser>(u => ids.Contains(u.Id));
|
UnitWork.Delete<SysUser>(u => ids.Contains(u.Id));
|
||||||
UnitWork.Save();
|
UnitWork.Save();
|
||||||
@ -255,7 +255,7 @@ namespace OpenAuth.App
|
|||||||
public async Task<TableData> LoadByRole(QueryUserListByRoleReq request)
|
public async Task<TableData> LoadByRole(QueryUserListByRoleReq request)
|
||||||
{
|
{
|
||||||
var users = from userRole in UnitWork.Find<Relevance>(u =>
|
var users = from userRole in UnitWork.Find<Relevance>(u =>
|
||||||
u.SecondId == request.roleId && u.Key == Define.USERROLE)
|
u.SecondId == request.roleId && u.RelKey == Define.USERROLE)
|
||||||
join user in UnitWork.Find<SysUser>(null) on userRole.FirstId equals user.Id into temp
|
join user in UnitWork.Find<SysUser>(null) on userRole.FirstId equals user.Id into temp
|
||||||
from c in temp.Where(u =>u.Id != null)
|
from c in temp.Where(u =>u.Id != null)
|
||||||
select c;
|
select c;
|
||||||
@ -273,7 +273,7 @@ namespace OpenAuth.App
|
|||||||
public async Task<TableData> LoadByOrg(QueryUserListByOrgReq request)
|
public async Task<TableData> LoadByOrg(QueryUserListByOrgReq request)
|
||||||
{
|
{
|
||||||
var users = from userOrg in UnitWork.Find<Relevance>(u =>
|
var users = from userOrg in UnitWork.Find<Relevance>(u =>
|
||||||
u.SecondId == request.orgId && u.Key == Define.USERORG)
|
u.SecondId == request.orgId && u.RelKey == Define.USERORG)
|
||||||
join user in UnitWork.Find<SysUser>(null) on userOrg.FirstId equals user.Id into temp
|
join user in UnitWork.Find<SysUser>(null) on userOrg.FirstId equals user.Id into temp
|
||||||
from c in temp.Where(u =>u.Id != null)
|
from c in temp.Where(u =>u.Id != null)
|
||||||
select c;
|
select c;
|
||||||
@ -327,30 +327,16 @@ namespace OpenAuth.App
|
|||||||
from sysuser u
|
from sysuser u
|
||||||
join (select distinct SecondId as UserId
|
join (select distinct SecondId as UserId
|
||||||
from Relevance
|
from Relevance
|
||||||
where `key` = '{Define.INSTANCE_NOTICE_USER}'
|
where RelKey = '{Define.INSTANCE_NOTICE_USER}'
|
||||||
and FirstId = '{instanceId}'
|
and FirstId = '{instanceId}'
|
||||||
union
|
union
|
||||||
select distinct FirstId as UserId
|
select distinct FirstId as UserId
|
||||||
from Relevance a
|
from Relevance a
|
||||||
inner join (select SecondId as RoleId
|
inner join (select SecondId as RoleId
|
||||||
from Relevance
|
from Relevance
|
||||||
where `key` = '{Define.INSTANCE_NOTICE_ROLE}'
|
where RelKey = '{Define.INSTANCE_NOTICE_ROLE}'
|
||||||
and FirstId = '{instanceId}') b on a.SecondId = b.RoleId
|
and FirstId = '{instanceId}') b on a.SecondId = b.RoleId
|
||||||
where `key` = 'UserRole') userids on u.Id = userids.UserId";
|
where RelKey = 'UserRole') userids on u.Id = userids.UserId";
|
||||||
|
|
||||||
if (UnitWork.GetDbContext().Database.GetDbConnection().GetType().Name == "SqlConnection")
|
|
||||||
{
|
|
||||||
sql = sql.Replace("`key`", "[Key]");
|
|
||||||
}
|
|
||||||
else if (UnitWork.GetDbContext().Database.GetDbConnection().GetType().Name == "OracleConnection")
|
|
||||||
{
|
|
||||||
sql = sql.Replace("`key`", "\"KEY\"");
|
|
||||||
}
|
|
||||||
else if (UnitWork.GetDbContext().Database.GetDbConnection().GetType().Name == "NpgsqlConnection")
|
|
||||||
{
|
|
||||||
sql = sql.Replace("`key`", "\"key\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
var users = UnitWork.FromSql<SysUser>(sql);
|
var users = UnitWork.FromSql<SysUser>(sql);
|
||||||
return users.Select(u=>u.Id).ToList();
|
return users.Select(u=>u.Id).ToList();
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ namespace OpenAuth.Repository.Domain
|
|||||||
public Relevance()
|
public Relevance()
|
||||||
{
|
{
|
||||||
this.Description= string.Empty;
|
this.Description= string.Empty;
|
||||||
this.Key= string.Empty;
|
this.RelKey= string.Empty;
|
||||||
this.Status= 0;
|
this.Status= 0;
|
||||||
this.OperateTime= DateTime.Now;
|
this.OperateTime= DateTime.Now;
|
||||||
this.OperatorId= string.Empty;
|
this.OperatorId= string.Empty;
|
||||||
@ -42,7 +42,7 @@ namespace OpenAuth.Repository.Domain
|
|||||||
/// 映射标识
|
/// 映射标识
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("映射标识")]
|
[Description("映射标识")]
|
||||||
public string Key { get; set; }
|
public string RelKey { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 状态
|
/// 状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user