using Admin.NET.Core;
using Furion.FriendlyException;
using System.Threading.Tasks;
namespace Admin.NET.UnitTest
{
///
/// 模拟用户管理
///
public class TestUserManager : IUserManager
{
///
/// 测试用户
///
public static string TestUserName { get; set; } = "admin";
private SysUser user;
private long userId;
private readonly SqlSugarRepository _sysUserRep;
public TestUserManager(SqlSugarRepository sysUserRep)
{
_sysUserRep = sysUserRep;
}
///
/// 用户ID
///
public long UserId => userId;
///
/// 用户名
///
public string UserName => user.UserName;
///
/// 真实名
///
public string RealName => user.RealName;
///
/// 是否超级管理员
///
public bool SuperAdmin => true;
///
/// OPENID
///
public string OpenId => userId.ToString();
///
/// 用户详细信息
///
public SysUser User => user;
///
/// 获取用户信息
///
///
///
public async Task CheckUserAsync(long userId)
{
if (user == null)
{
user = await _sysUserRep.GetFirstAsync(u => u.UserName == TestUserName);
if (user != null)
{
this.userId = user.Id;
return user;
}
}
return user ?? throw Oops.Oh(ErrorCodeEnum.D1002);
}
}
}