From 61bbde9489eae2bc4de4fa276649ceee60c60742 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 11 Aug 2025 10:01:43 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=A4=84=E7=90=86=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=B8=8B=E8=AE=BF=E5=AE=A2=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevicePermissionsController.cs | 7 ++++++ .../Services/IDevicePermissionService.cs | 2 ++ .../Implements/DevicePermissionService.cs | 24 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs index 027a0cc9..22956de6 100644 --- a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs +++ b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs @@ -140,4 +140,11 @@ public class DevicePermissionsController : ControllerBase { return await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(new List { userNo }); } + + [HttpGet("reset-visitors")] + [IgnoreTenant] + public async Task ResetVisitorsByDeviceAsync(string deviceUniqueNo) + { + return await _devicePermissionService.ResetVisitorsByDeviceAsync(deviceUniqueNo); + } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs index 9ce9f580..09833f35 100644 --- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs @@ -55,4 +55,6 @@ public interface IDevicePermissionService : IScopeDependency Task> GetDeviceUserCodesAsync(string deviceUniqueNo); Task ExternalAndManuallyUserNoAsync(string deviceUniqueNo); + + Task ResetVisitorsByDeviceAsync(string deviceUniqueNo); } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 10050f1a..94ba3fba 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -552,4 +552,28 @@ public class DevicePermissionService : IDevicePermissionService .Distinct() .ToList(); } + + public async Task ResetVisitorsByDeviceAsync(string deviceUniqueNo) + { + var device = await _dbContext.Queryable().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); + } } \ No newline at end of file