fix 校验数据范围异步调用改同步
This commit is contained in:
@@ -6,7 +6,7 @@ namespace Ewide.Core.Service
|
||||
{
|
||||
public interface ISysUserService
|
||||
{
|
||||
Task AddUser(AddUserInput input);
|
||||
Task<dynamic> AddUser(AddUserInput input);
|
||||
Task ChangeUserStatus(UpdateUserInput input);
|
||||
Task DeleteUser(DeleteUserInput input);
|
||||
Task ExportUser([FromQuery] UserInput input);
|
||||
|
||||
@@ -91,10 +91,10 @@ namespace Ewide.Core.Service
|
||||
/// <returns></returns>
|
||||
[HttpPost("/sysUser/add")]
|
||||
[UnitOfWork]
|
||||
public async Task AddUser(AddUserInput input)
|
||||
public async Task<dynamic> AddUser(AddUserInput input)
|
||||
{
|
||||
// 数据范围检查
|
||||
CheckDataScope(input);
|
||||
await CheckDataScope(input);
|
||||
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account, false);
|
||||
if (isExist) throw Oops.Oh(ErrorCode.D1003);
|
||||
@@ -105,10 +105,14 @@ namespace Ewide.Core.Service
|
||||
user.Name = user.Account;
|
||||
if (string.IsNullOrEmpty(user.NickName))
|
||||
user.NickName = user.Account;
|
||||
var newUser = await _sysUserRep.InsertNowAsync(user);
|
||||
input.SysEmpParam.Id = newUser.Entity.Id.ToString();
|
||||
var id = Guid.NewGuid().ToString();
|
||||
user.Id = id;
|
||||
await _sysUserRep.InsertAsync(user);
|
||||
input.SysEmpParam.Id = id;
|
||||
// 增加员工信息
|
||||
await _sysEmpService.AddOrUpdate(input.SysEmpParam);
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -125,7 +129,7 @@ namespace Ewide.Core.Service
|
||||
throw Oops.Oh(ErrorCode.D1014);
|
||||
|
||||
// 数据范围检查
|
||||
CheckDataScope(input);
|
||||
await CheckDataScope(input);
|
||||
|
||||
// 直接删除用户
|
||||
await user.DeleteAsync();
|
||||
@@ -150,7 +154,7 @@ namespace Ewide.Core.Service
|
||||
public async Task UpdateUser(UpdateUserInput input)
|
||||
{
|
||||
// 数据范围检查
|
||||
CheckDataScope(input);
|
||||
await CheckDataScope(input);
|
||||
|
||||
// 排除自己并且判断与其他是否相同
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account && u.Id != input.Id, false);
|
||||
@@ -207,7 +211,7 @@ namespace Ewide.Core.Service
|
||||
public async Task GrantUserRole(UpdateUserInput input)
|
||||
{
|
||||
// 数据范围检查
|
||||
CheckDataScope(input);
|
||||
await CheckDataScope(input);
|
||||
await _sysUserRoleService.GrantRole(input);
|
||||
}
|
||||
|
||||
@@ -220,7 +224,7 @@ namespace Ewide.Core.Service
|
||||
public async Task GrantUserData(UpdateUserInput input)
|
||||
{
|
||||
// 数据范围检查
|
||||
CheckDataScope(input);
|
||||
await CheckDataScope(input);
|
||||
await _sysUserDataScopeService.GrantData(input);
|
||||
}
|
||||
|
||||
@@ -380,6 +384,7 @@ namespace Ewide.Core.Service
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
[UnitOfWork]
|
||||
public async Task<List<string>> GetUserDataScopeIdList(string userId)
|
||||
{
|
||||
var dataScopes = await _sysCacheService.GetDataScope(userId); // 先从缓存里面读取
|
||||
@@ -420,7 +425,7 @@ namespace Ewide.Core.Service
|
||||
/// </summary>
|
||||
/// <param name="userParam"></param>
|
||||
/// <returns></returns>
|
||||
private async void CheckDataScope(UserInput userParam)
|
||||
private async Task CheckDataScope(UserInput userParam)
|
||||
{
|
||||
// 如果当前用户不是超级管理员,则进行数据范围校验
|
||||
if (!_userManager.SuperAdmin)
|
||||
|
||||
Reference in New Issue
Block a user