fix 获取部门权限处理
This commit is contained in:
@@ -124,19 +124,17 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
|
||||
public async Task<List<Guid>> GetAssignmentsAsync(DeviceGetAssignmentsRequest request)
|
||||
{
|
||||
var currentTenantId = request.AssignType == AssignTypeEnumType.Department ? request.TenantId : _currentUser.GetStringTenantId();
|
||||
request.AssignValue = request.AssignType == AssignTypeEnumType.Department ? request.TenantId + ":" + request.AssignValue : request.AssignValue;
|
||||
var role = _currentUser.GetRole();
|
||||
var isAll = role is "admin" or "tenant-admin";
|
||||
var deviceCodes = _myDataPermissionService.GetMyDeviceCodes();
|
||||
|
||||
return await _dbContext.Queryable<DevicePermissionEntity>()
|
||||
.WhereIF(request.TenantId.IsPresent() && request.AssignType == AssignTypeEnumType.Department, x => x.TenantId == request.TenantId)
|
||||
.Where(x => x.AssignType == request.AssignType)
|
||||
.Where(x => x.AssignValue == request.AssignValue)
|
||||
.Where(x => x.UniqueType == request.UniqueType)
|
||||
.WhereIF(request.UniqueType == DeviceAssignmentTypeEnumType.Device && !isAll, x => deviceCodes.Contains(x.UniqueValue))
|
||||
.Where(x => x.Type == request.Type)
|
||||
.Where(x => x.TenantId == currentTenantId)
|
||||
.Select(x => x.UniqueValue)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user