Files
jinko.yikatong/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs

67 lines
2.1 KiB
C#

using Dlhis.Basic.Device.Dtos;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
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<DevicePermissionAssignResponse> AssignAsync(DevicePermissionSaveRequest request);
/// <summary>
/// 分配到设备
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task AssignToUniqueAsync(DevicePermissionsAssignToDeviceRequest request);
Task AssignToUniqueImportAsync(IFormFile file);
/// <summary>
/// 获取分配的权限
/// </summary>
/// <returns></returns>
Task<List<Guid>> GetAssignmentsAsync(DeviceGetAssignmentsRequest request);
Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
Task<Dictionary<string, List<UserTenantDeviceCodeDto>>> GetUserDevicePermissionsAsync(string code);
/// <summary>
/// 生成下发任务
/// </summary>
/// <param name="func"></param>
/// <param name="userNos"></param>
/// <returns></returns>
Task<DevicePermissionAssignResponse> GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos);
/// <summary>
/// 生成下发任务(主动生成)
/// </summary>
/// <param name="userNo"></param>
/// <param name="taskType"></param>
/// <param name="source"></param>
/// <returns></returns>
Task GenerateDeviceTasksAsync(string userNo, DeviceTaskEnumType taskType, DeviceTaskSourceEnumType source);
/// <summary>
/// 获取用户所有设备权限
/// </summary>
/// <param name="userCode"></param>
/// <returns></returns>
Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode);
Task<Pagination<DeviceGainfoResponse>> GetGainfoPageByDeviceAsync(DeviceWithGainfoRequest request);
}