feat 处理设备下访客人员
This commit is contained in:
@@ -140,4 +140,11 @@ public class DevicePermissionsController : ControllerBase
|
|||||||
{
|
{
|
||||||
return await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(new List<string> { userNo });
|
return await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(new List<string> { userNo });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("reset-visitors")]
|
||||||
|
[IgnoreTenant]
|
||||||
|
public async Task<int> ResetVisitorsByDeviceAsync(string deviceUniqueNo)
|
||||||
|
{
|
||||||
|
return await _devicePermissionService.ResetVisitorsByDeviceAsync(deviceUniqueNo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -55,4 +55,6 @@ public interface IDevicePermissionService : IScopeDependency
|
|||||||
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
|
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
|
||||||
|
|
||||||
Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
|
Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
|
||||||
|
|
||||||
|
Task<int> ResetVisitorsByDeviceAsync(string deviceUniqueNo);
|
||||||
}
|
}
|
||||||
@@ -552,4 +552,28 @@ public class DevicePermissionService : IDevicePermissionService
|
|||||||
.Distinct()
|
.Distinct()
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<int> ResetVisitorsByDeviceAsync(string deviceUniqueNo)
|
||||||
|
{
|
||||||
|
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);
|
||||||
|
device.ThrowIfNull("设备不存在");
|
||||||
|
|
||||||
|
var userNos = await GetDeviceUserNosFromVisitorAsync(device.Code);
|
||||||
|
var deviceTaskEntities = userNos.Select(x => new DeviceTaskEntity
|
||||||
|
{
|
||||||
|
Type = DeviceTaskEnumType.Add,
|
||||||
|
DeviceType = device.Type,
|
||||||
|
UserId = null,
|
||||||
|
UserNo = x,
|
||||||
|
DeviceUniqueNo = device.UniqueNo,
|
||||||
|
Status = DeviceTaskStatusEnumType.Wait,
|
||||||
|
Version = 0,
|
||||||
|
ResultMessage = null,
|
||||||
|
Source = "手动下发设备中的访客人员",
|
||||||
|
Priority = 0,
|
||||||
|
TenantId = device.TenantId
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
return await _dbContext.InsertAsync(deviceTaskEntities);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user