/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System.Linq; using System.Threading.Tasks; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Model.Entities; namespace CoreCms.Net.Services { /// /// 用户表 接口实现 /// public class SysUserServices : BaseServices, ISysUserServices { private readonly ISysUserRepository _dal; private readonly ISysRoleRepository _sysRoleRepository; private readonly ISysUserRoleRepository _sysUserRoleRepository; private readonly IUnitOfWork _unitOfWork; public SysUserServices(IUnitOfWork unitOfWork, ISysUserRepository dal, ISysRoleRepository sysRoleRepository, ISysUserRoleRepository sysUserRoleRepository) { _dal = dal; BaseDal = dal; _unitOfWork = unitOfWork; _sysRoleRepository = sysRoleRepository; _sysUserRoleRepository = sysUserRoleRepository; } /// /// /// /// /// public async Task GetUserRoleNameStr(string loginName, string loginPwd) { var roleName = ""; var user = await QueryByClauseAsync(a => a.userName == loginName && a.passWord == loginPwd); var roleList = await _sysRoleRepository.QueryListByClauseAsync(a => a.deleted == false); if (user != null) { var userRoles = await _sysUserRoleRepository.QueryListByClauseAsync(ur => ur.userId == user.id); if (userRoles.Count > 0) { var arr = userRoles.Select(ur => ur.roleId).ToList(); var roles = roleList.Where(d => arr.Contains(d.id)); roleName = string.Join(',', roles.Select(r => r.roleCode).ToArray()); } } return roleName; } } }