UserManager.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. namespace Admin.NET.Core;
  2. /// <summary>
  3. /// 用户管理
  4. /// </summary>
  5. public class UserManager : IUserManager, IScoped
  6. {
  7. private readonly SqlSugarRepository<SysUser> _sysUserRep;
  8. private readonly IHttpContextAccessor _httpContextAccessor;
  9. public long UserId
  10. {
  11. get => long.Parse(_httpContextAccessor.HttpContext.User.FindFirst(ClaimConst.UserId)?.Value);
  12. }
  13. public string UserName
  14. {
  15. get => _httpContextAccessor.HttpContext.User.FindFirst(ClaimConst.UserName)?.Value;
  16. }
  17. public string RealName
  18. {
  19. get => _httpContextAccessor.HttpContext.User.FindFirst(ClaimConst.RealName)?.Value;
  20. }
  21. public bool SuperAdmin
  22. {
  23. get => _httpContextAccessor.HttpContext.User.FindFirst(ClaimConst.SuperAdmin)?.Value == ((int)UserTypeEnum.SuperAdmin).ToString();
  24. }
  25. public string OpenId
  26. {
  27. get => _httpContextAccessor.HttpContext.User.FindFirst(ClaimConst.OpenId)?.Value;
  28. }
  29. public SysUser User
  30. {
  31. get => _sysUserRep.AsQueryable().Includes(t => t.SysOrg).First(u => u.Id == UserId);
  32. }
  33. public UserManager(SqlSugarRepository<SysUser> sysUserRep,
  34. IHttpContextAccessor httpContextAccessor)
  35. {
  36. _sysUserRep = sysUserRep;
  37. _httpContextAccessor = httpContextAccessor;
  38. }
  39. /// <summary>
  40. /// 获取用户信息
  41. /// </summary>
  42. /// <param name="userId"></param>
  43. /// <returns></returns>
  44. public async Task<SysUser> CheckUserAsync(long userId)
  45. {
  46. var user = await _sysUserRep.GetFirstAsync(u => u.Id == userId);
  47. return user ?? throw Oops.Oh(ErrorCodeEnum.D1002);
  48. }
  49. }