fix 权限数据优化

This commit is contained in:
2024-12-10 19:04:42 +08:00
parent b9c853c96f
commit d44a2c5abb
6 changed files with 100 additions and 73 deletions

View File

@@ -1,4 +1,5 @@
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.DataPermissions;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Device.Entities;
@@ -18,16 +19,19 @@ public class DeviceGroupService : IDeviceGroupService
private readonly IDbContext _dbContext;
private readonly ICurrentUser _currentUser;
private readonly INamedResolver _namedResolver;
private readonly IMyDataPermissionService _myDataPermissionService;
private readonly ITenantApi _tenantApi;
public DeviceGroupService(IDbContext dbContext,
ICurrentUser currentUser,
INamedResolver namedResolver,
IMyDataPermissionService myDataPermissionService,
ITenantApi tenantApi)
{
_dbContext = dbContext;
_currentUser = currentUser;
_namedResolver = namedResolver;
_myDataPermissionService = myDataPermissionService;
_tenantApi = tenantApi;
}
@@ -118,16 +122,17 @@ public class DeviceGroupService : IDeviceGroupService
await _dbContext.InsertAsync(entities);
return await PermissionResetAsync(request.GroupCode);
return await PermissionResetAsync(request.GroupCode);
}
private async Task<DevicePermissionAssignResponse> PermissionResetAsync(Guid groupCode)
{
var deviceGroups = RecursionHelper.HandlerDeviceGroupPreviousCodes(groupCode, await _dbContext.Queryable<DeviceGroupEntity>().ToListAsync());
var deviceGroups = await _dbContext.Queryable<DeviceGroupEntity>().ToListAsync();
var deviceGroupCodes = RecursionHelper.HandlerDeviceGroupPreviousCodes(groupCode, deviceGroups);
var dps = await _dbContext.Queryable<DevicePermissionEntity>()
.Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Group)
.Where(x => deviceGroups.Contains(x.UniqueValue))
.Where(x => deviceGroupCodes.Contains(x.UniqueValue))
.ToListAsync();
var result = new List<DevicePermissionAssignResponse>();