This commit is contained in:
@@ -5,9 +5,9 @@ namespace Dilon.Core.Service
|
||||
{
|
||||
public interface ISysUserDataScopeService
|
||||
{
|
||||
Task DeleteUserDataScopeListByOrgIdList(List<long> orgIdList);
|
||||
Task DeleteUserDataScopeListByUserId(long userId);
|
||||
Task<List<long>> GetUserDataScopeIdList(long userId);
|
||||
Task DeleteUserDataScopeListByOrgIdList(List<string> orgIdList);
|
||||
Task DeleteUserDataScopeListByUserId(string userId);
|
||||
Task<List<string>> GetUserDataScopeIdList(string userId);
|
||||
Task GrantData(UpdateUserInput input);
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,10 @@ namespace Dilon.Core.Service
|
||||
{
|
||||
public interface ISysUserRoleService
|
||||
{
|
||||
Task DeleteUserRoleListByRoleId(long roleId);
|
||||
Task DeleteUserRoleListByUserId(long userId);
|
||||
Task<List<long>> GetUserRoleDataScopeIdList(long userId, long orgId);
|
||||
Task<List<long>> GetUserRoleIdList(long userId);
|
||||
Task DeleteUserRoleListByRoleId(string roleId);
|
||||
Task DeleteUserRoleListByUserId(string userId);
|
||||
Task<List<string>> GetUserRoleDataScopeIdList(string userId, string orgId);
|
||||
Task<List<string>> GetUserRoleIdList(string userId);
|
||||
Task GrantRole(UpdateUserInput input);
|
||||
}
|
||||
}
|
||||
@@ -12,8 +12,8 @@ namespace Dilon.Core.Service
|
||||
Task ExportUser([FromQuery] UserInput input);
|
||||
Task<dynamic> GetUser([FromQuery] QueryUserInput input);
|
||||
Task<dynamic> GetUserById(string userId);
|
||||
Task<List<long>> GetUserDataScopeIdList();
|
||||
Task<List<long>> GetUserDataScopeIdList(long userId);
|
||||
Task<List<string>> GetUserDataScopeIdList();
|
||||
Task<List<string>> GetUserDataScopeIdList(string userId);
|
||||
Task<dynamic> GetUserOwnData([FromQuery] QueryUserInput input);
|
||||
Task<dynamic> GetUserOwnRole([FromQuery] QueryUserInput input);
|
||||
Task<dynamic> GetUserSelector([FromQuery] UserInput input);
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Dilon.Core.Service
|
||||
[UnitOfWork]
|
||||
public async Task GrantData(UpdateUserInput input)
|
||||
{
|
||||
var dataScopes = await _sysUserDataScopeRep.Where(u => u.SysUserId == long.Parse(input.Id)).ToListAsync();
|
||||
var dataScopes = await _sysUserDataScopeRep.Where(u => u.SysUserId == input.Id).ToListAsync();
|
||||
dataScopes.ForEach(u =>
|
||||
{
|
||||
u.Delete();
|
||||
@@ -38,7 +38,7 @@ namespace Dilon.Core.Service
|
||||
{
|
||||
new SysUserDataScope
|
||||
{
|
||||
SysUserId = long.Parse(input.Id),
|
||||
SysUserId = input.Id,
|
||||
SysOrgId = u
|
||||
}.Insert();
|
||||
});
|
||||
@@ -49,7 +49,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<long>> GetUserDataScopeIdList(long userId)
|
||||
public async Task<List<string>> GetUserDataScopeIdList(string userId)
|
||||
{
|
||||
return await _sysUserDataScopeRep.DetachedEntities
|
||||
.Where(u => u.SysUserId == userId)
|
||||
@@ -61,7 +61,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="orgIdList"></param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteUserDataScopeListByOrgIdList(List<long> orgIdList)
|
||||
public async Task DeleteUserDataScopeListByOrgIdList(List<string> orgIdList)
|
||||
{
|
||||
var dataScopes = await _sysUserDataScopeRep.Where(u => orgIdList.Contains(u.SysOrgId)).ToListAsync();
|
||||
dataScopes.ForEach(u =>
|
||||
@@ -75,7 +75,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteUserDataScopeListByUserId(long userId)
|
||||
public async Task DeleteUserDataScopeListByUserId(string userId)
|
||||
{
|
||||
var dataScopes = await _sysUserDataScopeRep.Where(u => u.SysUserId == userId).ToListAsync();
|
||||
dataScopes.ForEach(u =>
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<long>> GetUserRoleIdList(long userId)
|
||||
public async Task<List<string>> GetUserRoleIdList(string userId)
|
||||
{
|
||||
return await _sysUserRoleRep.DetachedEntities.Where(u => u.SysUserId == userId).Select(u => u.SysRoleId).ToListAsync();
|
||||
}
|
||||
@@ -41,7 +41,7 @@ namespace Dilon.Core.Service
|
||||
[UnitOfWork]
|
||||
public async Task GrantRole(UpdateUserInput input)
|
||||
{
|
||||
var userRoles = await _sysUserRoleRep.Where(u => u.SysUserId == long.Parse(input.Id)).ToListAsync();
|
||||
var userRoles = await _sysUserRoleRep.Where(u => u.SysUserId == input.Id).ToListAsync();
|
||||
userRoles.ForEach(u =>
|
||||
{
|
||||
u.Delete();
|
||||
@@ -51,7 +51,7 @@ namespace Dilon.Core.Service
|
||||
{
|
||||
new SysUserRole
|
||||
{
|
||||
SysUserId = long.Parse(input.Id),
|
||||
SysUserId = input.Id,
|
||||
SysRoleId = u
|
||||
}.Insert();
|
||||
});
|
||||
@@ -63,7 +63,7 @@ namespace Dilon.Core.Service
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="orgId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<long>> GetUserRoleDataScopeIdList(long userId, long orgId)
|
||||
public async Task<List<string>> GetUserRoleDataScopeIdList(string userId, string orgId)
|
||||
{
|
||||
var roleIdList = await GetUserRoleIdList(userId);
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteUserRoleListByRoleId(long roleId)
|
||||
public async Task DeleteUserRoleListByRoleId(string roleId)
|
||||
{
|
||||
var userRoles = await _sysUserRoleRep.Where(u => u.SysRoleId == roleId).ToListAsync();
|
||||
userRoles.ForEach(u =>
|
||||
@@ -93,7 +93,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteUserRoleListByUserId(long userId)
|
||||
public async Task DeleteUserRoleListByUserId(string userId)
|
||||
{
|
||||
var userRoles = await _sysUserRoleRep.Where(u => u.SysUserId == userId).ToListAsync();
|
||||
userRoles.ForEach(u =>
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Dilon.Core.Service
|
||||
.Where(!string.IsNullOrEmpty(searchValue), x => (x.n.u.Account.Contains(input.SearchValue) ||
|
||||
x.n.u.Name.Contains(input.SearchValue) ||
|
||||
x.n.u.Phone.Contains(input.SearchValue)))
|
||||
.Where(!string.IsNullOrEmpty(pid), x => (x.n.e.OrgId == long.Parse(pid) ||
|
||||
.Where(!string.IsNullOrEmpty(pid), x => (x.n.e.OrgId == pid ||
|
||||
x.o.Pids.Contains($"[{pid.Trim()}]")))
|
||||
.Where(input.SearchStatus >= 0, x => x.n.u.Status == input.SearchStatus)
|
||||
.Where(!superAdmin, x => x.n.u.AdminType != AdminType.SuperAdmin)
|
||||
@@ -79,7 +79,7 @@ namespace Dilon.Core.Service
|
||||
//await Task.WhenAll(emps);
|
||||
foreach (var user in users.Items)
|
||||
{
|
||||
user.SysEmpInfo = await _sysEmpService.GetEmpInfo(long.Parse(user.Id));
|
||||
user.SysEmpInfo = await _sysEmpService.GetEmpInfo(user.Id);
|
||||
}
|
||||
return XnPageResult<UserOutput>.PageResult(users);
|
||||
}
|
||||
@@ -120,7 +120,7 @@ namespace Dilon.Core.Service
|
||||
[UnitOfWork]
|
||||
public async Task DeleteUser(DeleteUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
if (user.AdminType == AdminType.SuperAdmin)
|
||||
throw Oops.Oh(ErrorCode.D1014);
|
||||
|
||||
@@ -153,7 +153,7 @@ namespace Dilon.Core.Service
|
||||
CheckDataScope(input);
|
||||
|
||||
// 排除自己并且判断与其他是否相同
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account && u.Id != long.Parse(input.Id), false);
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account && u.Id != input.Id, false);
|
||||
if (isExist) throw Oops.Oh(ErrorCode.D1003);
|
||||
|
||||
var user = input.Adapt<SysUser>();
|
||||
@@ -171,7 +171,7 @@ namespace Dilon.Core.Service
|
||||
[HttpGet("/sysUser/detail")]
|
||||
public async Task<dynamic> GetUser([FromQuery] QueryUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
var userDto = user.Adapt<UserOutput>();
|
||||
if (userDto != null)
|
||||
{
|
||||
@@ -188,7 +188,7 @@ namespace Dilon.Core.Service
|
||||
[HttpPost("/sysUser/changeStatus")]
|
||||
public async Task ChangeUserStatus(UpdateUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
if (user.AdminType == AdminType.SuperAdmin)
|
||||
throw Oops.Oh(ErrorCode.D1015);
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace Dilon.Core.Service
|
||||
[HttpPost("/sysUser/updatePwd")]
|
||||
public async Task UpdateUserPwd(ChangePasswordUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
if (MD5Encryption.Encrypt(input.Password) != user.Password)
|
||||
throw Oops.Oh(ErrorCode.D1004);
|
||||
user.Password = MD5Encryption.Encrypt(input.NewPassword);
|
||||
@@ -257,7 +257,7 @@ namespace Dilon.Core.Service
|
||||
[HttpGet("/sysUser/ownRole")]
|
||||
public async Task<dynamic> GetUserOwnRole([FromQuery] QueryUserInput input)
|
||||
{
|
||||
return await _sysUserRoleService.GetUserRoleIdList(long.Parse(input.Id));
|
||||
return await _sysUserRoleService.GetUserRoleIdList(input.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -268,7 +268,7 @@ namespace Dilon.Core.Service
|
||||
[HttpGet("/sysUser/ownData")]
|
||||
public async Task<dynamic> GetUserOwnData([FromQuery] QueryUserInput input)
|
||||
{
|
||||
return await _sysUserDataScopeService.GetUserDataScopeIdList(long.Parse(input.Id));
|
||||
return await _sysUserDataScopeService.GetUserDataScopeIdList(input.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -279,7 +279,7 @@ namespace Dilon.Core.Service
|
||||
[HttpPost("/sysUser/resetPwd")]
|
||||
public async Task ResetUserPwd(QueryUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
user.Password = MD5Encryption.Encrypt(CommonConst.DEFAULT_PASSWORD);
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ namespace Dilon.Core.Service
|
||||
[HttpPost("/sysUser/updateAvatar")]
|
||||
public async Task UpdateAvatar(UpdateUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == long.Parse(input.Id));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
// 调用文件上传
|
||||
//sysFileInfoService.assertFile(input.Avatar);
|
||||
user.Avatar = input.Avatar;
|
||||
@@ -366,7 +366,7 @@ namespace Dilon.Core.Service
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
public async Task<List<long>> GetUserDataScopeIdList(long userId)
|
||||
public async Task<List<string>> GetUserDataScopeIdList(string userId)
|
||||
{
|
||||
var dataScopes = await _sysCacheService.GetDataScope(userId); // 先从缓存里面读取
|
||||
if (dataScopes == null || dataScopes.Count < 1)
|
||||
@@ -391,7 +391,7 @@ namespace Dilon.Core.Service
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
public async Task<List<long>> GetUserDataScopeIdList()
|
||||
public async Task<List<string>> GetUserDataScopeIdList()
|
||||
{
|
||||
var userId = _userManager.UserId;
|
||||
var dataScopes = await GetUserDataScopeIdList(userId);
|
||||
@@ -409,7 +409,7 @@ namespace Dilon.Core.Service
|
||||
if (!_userManager.SuperAdmin)
|
||||
{
|
||||
var dataScopes = await GetUserDataScopeIdList(_userManager.UserId);
|
||||
if (dataScopes == null || (userParam.SysEmpParam.OrgId != null && !dataScopes.Contains(long.Parse(userParam.SysEmpParam.OrgId))))
|
||||
if (dataScopes == null || (userParam.SysEmpParam.OrgId != null && !dataScopes.Contains(userParam.SysEmpParam.OrgId)))
|
||||
throw Oops.Oh(ErrorCode.D1013);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user