fix 权限导入控制来源类型
This commit is contained in:
@@ -31,23 +31,11 @@ public class DevicePermissionsAssignToDeviceRequest : IValidatableObject
|
||||
/// </summary>
|
||||
public bool IsDelete { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// AssignType == AssignTypeEnumType.Department 需要传入
|
||||
/// </summary>
|
||||
public string TenantId { get; set; }
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (AssignType == AssignTypeEnumType.Department)
|
||||
if (AssignType != AssignTypeEnumType.User)
|
||||
{
|
||||
if (TenantId.IsEmpty())
|
||||
{
|
||||
yield return new ValidationResult("请明确具体的厂区", new[] { nameof(TenantId) });
|
||||
}
|
||||
}
|
||||
else if (AssignType == AssignTypeEnumType.Role)
|
||||
{
|
||||
yield return new ValidationResult("暂不支持角色分配", new[] { nameof(AssignType) });
|
||||
yield return new ValidationResult("仅支持导入档案人员", new[] { nameof(AssignType) });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -92,38 +92,35 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
|
||||
public async Task AssignToUniqueAsync(DevicePermissionsAssignToDeviceRequest request)
|
||||
{
|
||||
var tenantId = request.AssignType == AssignTypeEnumType.Department ? request.TenantId : _currentUser.GetStringTenantId();
|
||||
|
||||
await GenerateDeviceTasksAsync(async () =>
|
||||
{
|
||||
var tenantId = _currentUser.GetStringTenantId();
|
||||
|
||||
//删除当前匹配的基地权限
|
||||
var p = await _dbContext.Queryable<DevicePermissionEntity>()
|
||||
.Where(x => x.UniqueType == request.UniqueType)
|
||||
.Where(x => x.UniqueValue == request.UniqueValue)
|
||||
.Where(x => x.AssignType == request.AssignType)
|
||||
.Where(x => request.Values.Contains(x.AssignValue))
|
||||
.Where(x => x.TenantId == tenantId)
|
||||
.ToListAsync();
|
||||
|
||||
await _dbContext.DeleteReallyAsync(p);
|
||||
await _dbContext.DeleteAsync(p);
|
||||
|
||||
if (!request.IsDelete)
|
||||
//保存配置的权限
|
||||
if (request.Values.IsPresent())
|
||||
{
|
||||
//保存配置的权限
|
||||
if (request.Values.IsPresent())
|
||||
var devicePermissions = request.Values.Select(v => new DevicePermissionEntity
|
||||
{
|
||||
var devicePermissions = request.Values.Select(v => new DevicePermissionEntity
|
||||
{
|
||||
AssignType = request.AssignType,
|
||||
AssignValue = v,
|
||||
UniqueType = request.UniqueType,
|
||||
UniqueValue = request.UniqueValue,
|
||||
TenantId = tenantId
|
||||
}).ToList();
|
||||
UniqueType = request.UniqueType,
|
||||
UniqueValue = request.UniqueValue,
|
||||
AssignType = request.AssignType,
|
||||
AssignValue = v,
|
||||
TenantId = tenantId
|
||||
}).ToList();
|
||||
|
||||
await _dbContext.InsertAsync(devicePermissions);
|
||||
}
|
||||
await _dbContext.InsertAsync(devicePermissions);
|
||||
}
|
||||
|
||||
}, null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user