This commit is contained in:
ky_sunl
2021-04-23 10:38:52 +00:00
parent d60155d02f
commit c2ed43238b
25 changed files with 120 additions and 118 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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 =>

View File

@@ -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 =>

View File

@@ -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);
}
}