using Infrastructure.Attribute;
using System;
using System.Collections.Generic;
using System.Text;
using ARW.Model;
using ARW.Model.System.Dto;
using ARW.Model.System;
using ARW.Repository.System;
using ARW.Service.System.IService;
namespace ARW.Service.System
{
///
/// 用户角色
///
[AppService(ServiceType = typeof(ISysUserRoleService), ServiceLifetime = LifeTime.Transient)]
public class SysUserRoleService : ISysUserRoleService
{
public SysUserRoleRepository SysUserRoleRepository;
public SysUserRoleService(SysUserRoleRepository sysUserRoleRepository)
{
SysUserRoleRepository = sysUserRoleRepository;
}
///
/// 通过角色ID查询角色使用数量
///
///
///
public int CountUserRoleByRoleId(long roleId)
{
return SysUserRoleRepository.CountUserRoleByRoleId(roleId);
}
///
/// 删除用户角色
///
///
///
public int DeleteUserRoleByUserId(int userId)
{
return SysUserRoleRepository.DeleteUserRoleByUserId(userId);
}
///
/// 批量删除角色对应用户
///
///
///
///
public int DeleteRoleUserByUserIds(long roleId, List userIds)
{
return SysUserRoleRepository.DeleteRoleUserByUserIds(roleId, userIds);
}
///
/// 添加用户角色
///
///
///
public int AddUserRole(List sysUsers)
{
return SysUserRoleRepository.AddUserRole(sysUsers);
}
///
/// 获取用户数据根据角色id
///
///
///
public List GetSysUsersByRoleId(long roleId)
{
return SysUserRoleRepository.GetSysUsersByRoleId(roleId);
}
///
/// 获取用户数据根据角色id
///
///
///
public PagedInfo GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto)
{
return SysUserRoleRepository.GetSysUsersByRoleId(roleUserQueryDto);
}
///
/// 获取尚未指派的用户数据根据角色id
///
///
///
public PagedInfo GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto)
{
return SysUserRoleRepository.GetExcludedSysUsersByRoleId(roleUserQueryDto);
}
///
/// 新增用户角色信息
///
///
///
public int InsertUserRole(SysUser user)
{
List userRoles = new List();
foreach (var item in user.RoleIds)
{
userRoles.Add(new SysUserRole() { RoleId = item, UserId = user.UserId });
}
return userRoles.Count > 0 ? AddUserRole(userRoles) : 0;
}
///
/// 新增加角色用户
///
/// 角色id
/// 用户ids
///
public int InsertRoleUser(RoleUsersCreateDto roleUsersCreateDto)
{
List userRoles = new List();
foreach (var item in roleUsersCreateDto.UserIds)
{
userRoles.Add(new SysUserRole() { RoleId = roleUsersCreateDto.RoleId, UserId = item });
}
return userRoles.Count > 0 ? AddUserRole(userRoles) : 0;
}
}
}