feat 增加查询其他类型人员数量
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -53,4 +53,6 @@ public interface IDevicePermissionService : IScopeDependency
|
||||
|
||||
|
||||
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
|
||||
|
||||
Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user