Files
jinko.yikatong/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/GroupPermissionAnalyzeService.cs

35 lines
1.2 KiB
C#

using Dlhis.Basic.Utils;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Device.Enums;
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
[Service(PermissionAnalyzeConstants.Group)]
public class GroupPermissionAnalyzeService : BasePermissionAnalyzeService
{
/// <inheritdoc />
public GroupPermissionAnalyzeService(IServiceProvider serviceProvider) : base(serviceProvider)
{
}
/// <inheritdoc />
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
{
var code = Guid.Parse(assignValue);
var gainfoGroups = await DbContext.Queryable<GainfoGroupEntity>().ToListAsync();
var gainfoGroupCodes = RecursionHelper.HandlerGainfoGroupNextCodes(code, gainfoGroups);
var gainfoUserNos = await DbContext.Queryable<GainfoGroupRelationshipEntity>()
.Where(x => gainfoGroupCodes.Contains(x.GroupCode))
.Select(x => x.UserNo)
.Distinct()
.ToListAsync();
return await DbContext.Queryable<GainfoEntity>()
.Where(x => gainfoUserNos.Contains(x.No))
.Select(x => x.No)
.ToListAsync();
}
}