Ver Fonte

后端获取当前用户机构信息,包括一对多机构的信息

kenny há 4 anos atrás
pai
commit
b63bd3c791

+ 3 - 1
Admin.NET/Admin.NET.Core/Service/Auth/AuthService.cs

@@ -41,7 +41,7 @@ public class AuthService : IDynamicApiController, ITransient
     /// 登录系统
     /// </summary>
     /// <param name="input"></param>
-    /// <remarks>用户名/密码:admin/123456</remarks>
+    /// <remarks>用户名/密码:vben/123456</remarks>
     /// <returns></returns>
     [HttpPost("/login")]
     [AllowAnonymous]
@@ -124,6 +124,8 @@ public class AuthService : IDynamicApiController, ITransient
             RealName = user.RealName,
             Avatar = user.Avatar,
             Desc = user.Introduction,
+            OrgId = user.OrgId,
+            OrgName = user.SysOrg != null ? user.SysOrg.Name : "",
             Roles = roles.Select(u => new LoginRole
             {
                 RoleName = u.Name,

+ 10 - 0
Admin.NET/Admin.NET.Core/Service/Auth/Dto/LoginUserInfoOutput.cs

@@ -30,6 +30,16 @@ public class LoginUserInfoOutput
     /// </summary>
     public string Desc { get; set; }
 
+    /// <summary>
+    /// 机构Id
+    /// </summary>
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 机构名称
+    /// </summary>
+    public string OrgName { get; set; }
+
     /// <summary>
     /// 角色集合
     /// </summary>

+ 12 - 0
Admin.NET/Admin.NET.Core/Service/Org/SysOrgService.cs

@@ -31,6 +31,18 @@ public class SysOrgService : IDynamicApiController, ITransient
         _sysEmpExtOrgPosService = sysEmpExtOrgPosService;
     }
 
+    /// <summary>
+    /// 获取用户拥有机构信息列表
+    /// </summary>
+    /// <param name="userId">用户id</param>
+    /// <returns></returns>
+    [HttpGet("/sysOrg/userOwnOrgInfo/{userId}")]
+    public async Task<List<SysOrg>> GetUserOrgList(long userId)
+    {
+        List<long> orgList = await _sysUserOrgService.GetUserOrgIdList(userId);
+        return await _sysOrgRep.AsQueryable().Where(t => orgList.Contains(t.Id)).ToListAsync();
+    }
+
     /// <summary>
     /// 获取机构列表
     /// </summary>

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/User/UserManager.cs

@@ -35,7 +35,7 @@ public class UserManager : IUserManager, IScoped
 
     public SysUser User
     {
-        get => _sysUserRep.GetFirst(u => u.Id == UserId);
+        get => _sysUserRep.AsQueryable().Includes(t => t.SysOrg).First(u => u.Id == UserId);
     }
 
     public UserManager(SqlSugarRepository<SysUser> sysUserRep,