/***********************************************************************
* 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;
}
}
}