diff --git a/OpenAuth.App/RoleManager/RoleApp.cs b/OpenAuth.App/RoleManager/RoleApp.cs
index 4dca5c12..b5cd1912 100644
--- a/OpenAuth.App/RoleManager/RoleApp.cs
+++ b/OpenAuth.App/RoleManager/RoleApp.cs
@@ -52,6 +52,16 @@ namespace OpenAuth.App
return result;
}
+ ///
+ /// 根据ID加载角色
+ ///
+ ///
+ ///
+ public List LoadByIds(string[] ids)
+ {
+ return UnitWork.Find(u => ids.Contains(u.Id)).ToList();
+ }
+
///
/// 添加角色,如果当前登录用户不是System,则直接把新角色分配给当前登录用户
diff --git a/OpenAuth.App/UserManager/UserManagerApp.cs b/OpenAuth.App/UserManager/UserManagerApp.cs
index 113e9989..dfbe9b97 100644
--- a/OpenAuth.App/UserManager/UserManagerApp.cs
+++ b/OpenAuth.App/UserManager/UserManagerApp.cs
@@ -340,5 +340,49 @@ namespace OpenAuth.App
var users = UnitWork.FromSql(sql);
return users.Select(u=>u.Id).ToList();
}
+
+ public List LoadByIds(string[] ids)
+ {
+ var users = Repository.Find(u => ids.Contains(u.Id));
+
+ //获取用户及用户关联的机构
+ var userOrgs = from user in users
+ join relevance in UnitWork.Find(u => u.RelKey == "UserOrg")
+ on user.Id equals relevance.FirstId into temp
+ from r in temp.DefaultIfEmpty()
+ join org in UnitWork.Find(null)
+ on r.SecondId equals org.Id into orgtmp
+ from o in orgtmp.DefaultIfEmpty()
+ select new
+ {
+ user.Id,
+ user.Account,
+ user.Name,
+ user.Sex,
+ user.Status,
+ user.CreateTime,
+ user.CreateId,
+ user.ParentId,
+ OrgId = o.Id,
+ OrgName = o.Name
+ };
+
+ var userViews = userOrgs.GroupBy(b => b.Account).Select(u => new UserView
+ {
+ Id = u.First().Id,
+ Account = u.Key,
+ Name = u.First().Name,
+ Sex = u.First().Sex,
+ Status = u.First().Status,
+ CreateTime = u.First().CreateTime,
+ CreateUser = u.First().CreateId,
+ ParentName = u.First().ParentId,
+ ParentId = u.First().ParentId,
+ OrganizationIds = string.Join(",", u.Select(x=>x.OrgId))
+ ,Organizations = string.Join(",", u.Select(x=>x.OrgName))
+ });
+
+ return userViews.ToList();
+ }
}
}
\ No newline at end of file
diff --git a/OpenAuth.WebApi/Controllers/RolesController.cs b/OpenAuth.WebApi/Controllers/RolesController.cs
index efef305e..e4870c51 100644
--- a/OpenAuth.WebApi/Controllers/RolesController.cs
+++ b/OpenAuth.WebApi/Controllers/RolesController.cs
@@ -40,6 +40,24 @@ namespace OpenAuth.WebApi.Controllers
result.Message = ex.InnerException?.Message ?? ex.Message;
}
+ return result;
+ }
+
+ [HttpPost]
+ public Response LoadByIds([FromBody]string[] ids)
+ {
+ var result = new Response>();
+ try
+ {
+ result.Data = _app.LoadByIds(ids);
+
+ }
+ catch (Exception ex)
+ {
+ result.Code = 500;
+ result.Message = ex.InnerException?.Message ?? ex.Message;
+ }
+
return result;
}
diff --git a/OpenAuth.WebApi/Controllers/UsersController.cs b/OpenAuth.WebApi/Controllers/UsersController.cs
index 8cb4c952..0bb9d608 100644
--- a/OpenAuth.WebApi/Controllers/UsersController.cs
+++ b/OpenAuth.WebApi/Controllers/UsersController.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
@@ -139,6 +140,24 @@ namespace OpenAuth.WebApi.Controllers
return result;
}
+ [HttpPost]
+ public Response LoadByIds([FromBody]string[] ids)
+ {
+ var result = new Response>();
+ try
+ {
+ result.Data = _app.LoadByIds(ids);
+
+ }
+ catch (Exception ex)
+ {
+ result.Code = 500;
+ result.Message = ex.InnerException?.Message ?? ex.Message;
+ }
+
+ return result;
+ }
+
///
/// 加载指定角色的用户
///