feat 增加查询其他类型人员数量

This commit is contained in:
2025-06-23 17:34:32 +08:00
parent b828a0738f
commit 8b93e28a66
3 changed files with 34 additions and 0 deletions

View File

@@ -114,6 +114,18 @@ public class DevicePermissionsController : ControllerBase
return await _devicePermissionService.GetDeviceUserCodesAsync(deviceUniqueNo);
}
/// <summary>
/// 设备其他类型人员
/// </summary>
/// <param name="deviceUniqueNo"></param>
/// <returns></returns>
[HttpGet("gainfo/others")]
[IgnoreTenant]
public async Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo)
{
return await _devicePermissionService.ExternalAndManuallyUserNoAsync(deviceUniqueNo);
}
[HttpGet("userPermissionCodes")]
[IgnoreTenant]
public async Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode)

View File

@@ -53,4 +53,6 @@ public interface IDevicePermissionService : IScopeDependency
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
}

View File

@@ -468,6 +468,26 @@ public class DevicePermissionService : IDevicePermissionService
return ids.Distinct().ToList();
}
public async Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo)
{
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);
device.ThrowIfNull("设备不存在");
var devicePermissionManuallyUserNoCount = await _dbContext.Queryable<GainfoEntity>()
.Where(x => SqlFunc.Subqueryable<DevicePermissionManuallyEntity>()
.Where(p => p.DeviceCode == device.Code)
.Where(p => p.UserNo == x.No).Any())
.CountAsync();
var userNos = await GetDeviceUserNosFromVisitorAsync(device.Code);
return new
{
ManuallyUserCount = devicePermissionManuallyUserNoCount,
VisitorCount = userNos.Count
};
}
public async Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo)
{
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);