TestUserManager.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Admin.NET.Core;
  2. using Furion.FriendlyException;
  3. using System.Threading.Tasks;
  4. namespace Admin.NET.UnitTest
  5. {
  6. /// <summary>
  7. /// 模拟用户管理
  8. /// </summary>
  9. public class TestUserManager : IUserManager
  10. {
  11. /// <summary>
  12. /// 测试用户
  13. /// </summary>
  14. public static string TestUserName { get; set; } = "admin";
  15. private SysUser user;
  16. private long userId;
  17. private readonly SqlSugarRepository<SysUser> _sysUserRep;
  18. public TestUserManager(SqlSugarRepository<SysUser> sysUserRep)
  19. {
  20. _sysUserRep = sysUserRep;
  21. }
  22. /// <summary>
  23. /// 用户ID
  24. /// </summary>
  25. public long UserId => userId;
  26. /// <summary>
  27. /// 用户名
  28. /// </summary>
  29. public string UserName => user.UserName;
  30. /// <summary>
  31. /// 真实名
  32. /// </summary>
  33. public string RealName => user.RealName;
  34. /// <summary>
  35. /// 是否超级管理员
  36. /// </summary>
  37. public bool SuperAdmin => true;
  38. /// <summary>
  39. /// OPENID
  40. /// </summary>
  41. public string OpenId => userId.ToString();
  42. /// <summary>
  43. /// 用户详细信息
  44. /// </summary>
  45. public SysUser User => user;
  46. /// <summary>
  47. /// 获取用户信息
  48. /// </summary>
  49. /// <param name="userId"></param>
  50. /// <returns></returns>
  51. public async Task<SysUser> CheckUserAsync(long userId)
  52. {
  53. if (user == null)
  54. {
  55. user = await _sysUserRep.GetFirstAsync(u => u.UserName == TestUserName);
  56. if (user != null)
  57. {
  58. this.userId = user.Id;
  59. return user;
  60. }
  61. }
  62. return user ?? throw Oops.Oh(ErrorCodeEnum.D1002);
  63. }
  64. }
  65. }