Security/Yuebon.Security.Services/UserService.cs

(开头部分) 13KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Yuebon.Commons.Encrypt;
using Yuebon.Commons.Enums;
using Yuebon.Commons.Extend;
using Yuebon.Commons.Helpers;
using Yuebon.Core.UnitOfWork;

namespace Yuebon.Security.Services;

/// <summary>
/// 
/// </summary>
public class UserService : BaseService<User, UserOutputDto>, IUserService
{
    private readonly IUserRepository _userRepository;
    private readonly IUserLogOnRepository _userSigninRepository;
    private readonly IRoleService _roleService;
    private IOrganizeService _organizeService;
    private readonly IUnitOfWork _unitOfWork;

    /// <summary>
    /// 
    /// </summary>
    /// <param name="repository"></param>
    /// <param name="userLogOnRepository"></param>
    /// <param name="roleService"></param>
    /// <param name="organizeService"></param>
    public UserService(IUnitOfWork unitOfWork,IUserRepository userRepository, IUserLogOnRepository userLogOnRepository, IRoleService roleService, IOrganizeService organizeService)
    {
        _unitOfWork= unitOfWork;
        repository = userRepository;
        _userRepository = userRepository;
        _userSigninRepository = userLogOnRepository;
        _roleService = roleService;
        _organizeService = organizeService;
    }



    /// <summary>
    /// 用户登陆验证。
    /// </summary>
    /// <param name="userName">用户名</param>
    /// <param name="password">密码(第一次md5加密后)</param>
    /// <returns>验证成功返回用户实体,验证失败返回null|提示消息</returns>
    public async Task<Tuple<User,string>> Validate(string userName, string password)
    {
        var userEntity = await _userRepository.GetUserByLogin(userName);

        if (userEntity == null)
        {
            return new Tuple<User, string>(null, "系统不存在该用户,请重新确认。");
        }

        if (!userEntity.EnabledMark)
        {
            return new Tuple<User, string>(null, "该用户已被禁用,请联系管理员。");
        }

        var userSinginEntity = _userSigninRepository.GetByUserId(userEntity.Id);

后面还有 316 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。