Files
jinko.yikatong/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
2024-07-05 14:11:43 +08:00

63 lines
1.9 KiB
C#

using Dlhis.Basic.Device.Dtos;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Organization.Dto;
using Dlhis.Entity.Device.Enums;
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Basic.Device.Services;
public interface IDevicePermissionService : IScopeDependency
{
/// <summary>
/// 保存设备权限
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task AssignAsync(DevicePermissionSaveRequest request);
/// <summary>
/// 分配到设备
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task AssignToUniqueAsync(DevicePermissionsAssignToDeviceRequest request);
/// <summary>
/// 获取分配的权限
/// </summary>
/// <returns></returns>
Task<List<Guid>> GetAssignmentsAsync(DeviceGetAssignmentsRequest request);
Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
/// <summary>
/// 生成下发任务
/// </summary>
/// <param name="func"></param>
/// <param name="userNos"></param>
/// <returns></returns>
Task GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos);
/// <summary>
/// 生成下发任务(主动生成)
/// </summary>
/// <param name="userNo"></param>
/// <param name="taskType"></param>
/// <returns></returns>
Task GenerateDeviceTasksAsync(string userNo, DeviceTaskEnumType taskType);
/// <summary>
/// 获取用户所有设备权限
/// </summary>
/// <param name="userNo"></param>
/// <returns></returns>
Task<List<Guid>> GetAssignDeviceCodesAsync(string userNo);
Task<PermissionUsersInfoDto> GetPermissionUsersInfoAsync(List<string> userNos);
Task<int> ReGeneratePermissionUsersInfoAsync(PermissionUsersInfoDto beforeDto);
Task<Pagination<GainfoDto>> GetGainfoPageByDeviceAsync(DeviceWithGainfoRequest request);
}