shgx_tz_mom/ZR.Repository/System/SysUserRoleRepository.cs

78 lines
2.5 KiB
C#
Raw Normal View History

2021-08-23 16:57:25 +08:00
using Infrastructure.Attribute;
using SqlSugar;
using System.Collections.Generic;
using ZR.Model.System;
namespace ZR.Repository.System
{
[AppService(ServiceLifetime = LifeTime.Transient)]
2021-09-27 08:06:09 +08:00
public class SysUserRoleRepository : BaseRepository<SysUserRole>
2021-08-23 16:57:25 +08:00
{
/// <summary>
/// 删除用户角色
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public int DeleteUserRoleByUserId(int userId)
{
2021-09-27 08:06:09 +08:00
return Context.Deleteable<SysUserRole>().Where(it => it.UserId == userId).ExecuteCommand();
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 批量删除角色对应用户
/// </summary>
/// <param name="roleId">角色id</param>
/// <param name="userIds">用户id集合</param>
/// <returns></returns>
public int DeleteRoleUserByUserIds(long roleId, List<long> userIds)
{
2021-09-27 08:06:09 +08:00
return Context.Deleteable<SysUserRole>().Where(it => it.RoleId == roleId && userIds.Contains(it.UserId))
2021-08-23 16:57:25 +08:00
.ExecuteCommand();
}
/// <summary>
/// 添加用户角色
/// </summary>
/// <param name="sysUsers"></param>
/// <returns></returns>
public int AddUserRole(List<SysUserRole> sysUsers)
{
2021-09-27 08:06:09 +08:00
return Context.Insertable(sysUsers).ExecuteCommand();
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 删除角色关联的用户
/// </summary>
/// <param name="roleId"></param>
/// <returns></returns>
public int DeleteUserRoleByRoleId(int roleId)
{
2021-09-27 08:06:09 +08:00
return Context.Deleteable<SysUserRole>().In(roleId).ExecuteCommand();
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 获取角色分配个数
/// </summary>
/// <param name="roleId"></param>
/// <returns></returns>
public int CountUserRoleByRoleId(long roleId)
{
2021-09-27 08:06:09 +08:00
return Context.Queryable<SysUserRole>().Where(it => it.RoleId == roleId).Count();
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 获取用户数据根据角色id
/// </summary>
/// <param name="roleId"></param>
/// <returns></returns>
public List<SysUser> GetSysUsersByRoleId(long roleId)
{
2021-09-27 08:06:09 +08:00
return Context.Queryable<SysUserRole, SysUser>((t1, u) => new JoinQueryInfos(
2021-09-06 12:51:17 +08:00
JoinType.Left, t1.UserId == u.UserId))
.Where((t1, u) => t1.RoleId == roleId && u.DelFlag == "0")
.Select((t1, u) => u)
2021-08-23 16:57:25 +08:00
.ToList();
}
}
}