fix devicePermission-unique
This commit is contained in:
@@ -23,21 +23,18 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly ITenantApi _tenantApi;
|
||||
private readonly INamedResolver _namedResolver;
|
||||
private readonly ILogger<DevicePermissionService> _logger;
|
||||
private readonly IDevicePermissionAnalyzeService _devicePermissionAnalyzeService;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
|
||||
public DevicePermissionService(IDbContext dbContext,
|
||||
ITenantApi tenantApi,
|
||||
INamedResolver namedResolver,
|
||||
ILogger<DevicePermissionService> logger,
|
||||
IDevicePermissionAnalyzeService devicePermissionAnalyzeService,
|
||||
ICurrentUser currentUser)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_tenantApi = tenantApi;
|
||||
_namedResolver = namedResolver;
|
||||
_logger = logger;
|
||||
_devicePermissionAnalyzeService = devicePermissionAnalyzeService;
|
||||
_currentUser = currentUser;
|
||||
}
|
||||
@@ -114,18 +111,14 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
{
|
||||
if (userTenantDeviceCodes.TryGetValue(userNo, out var permissions))
|
||||
{
|
||||
var ov = permissions.ToJson();
|
||||
foreach (var permission in permissions)
|
||||
{
|
||||
permission.AssignTypes = permission.AssignTypes
|
||||
.Where(x => x.UniqueType != DeviceAssignmentTypeEnumType.Device && x.AssignType != AssignTypeEnumType.User)
|
||||
.ToList();
|
||||
permission.AssignTypes.RemoveAll(x => x.UniqueType == DeviceAssignmentTypeEnumType.Device && x.AssignType == AssignTypeEnumType.User);
|
||||
}
|
||||
|
||||
var myDeviceCodes = permissions.SelectMany(x => x.AssignTypes.SelectMany(p => p.Codes)).Distinct().ToList();
|
||||
if (myDeviceCodes.All(x => x != device.Code))
|
||||
{
|
||||
_logger.LogInformation("触发删除:{userNo} . {originalJson} . {json}", userNo, ov, permissions.ToJson());
|
||||
tasksToDelete.Add(new DeviceTaskEntity
|
||||
{
|
||||
Type = DeviceTaskEnumType.Delete,
|
||||
|
||||
Reference in New Issue
Block a user