using Dlhis.Basic.Device.Dtos;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
using Kurisu.Core.DataAccess.Dto;
namespace Dlhis.Basic.Device.Services;
public interface IDevicePermissionService : IScopeDependency
{
///
/// 保存设备权限
///
///
///
Task AssignAsync(DevicePermissionSaveReuqest reuqest);
///
/// 获取分配的权限
///
///
///
///
///
Task> GetAssignmentsAsync(DeviceAssignmentTypeEnumType uniqueType, AssignTypeEnumType assignType, string assignValue);
///
/// 生成下发任务
///
///
///
///
Task GenerateDeviceTasksAsync(Func func, List userNos);
///
/// 生成下发任务(主动生成)
///
///
///
///
Task GenerateDeviceTasksAsync(string userNo, DeviceTaskEnumType taskType);
///
/// 获取用户所有设备权限
///
///
///
Task> GetAssignDeviceCodesAsync(string userNo);
///
/// 获取就餐权限唯一号
///
///
///
Task> GetCanteenDeviceUniqueNosByUserNoAsync(string userNo);
///
/// 获取用户权限设备
///
///
///
Task> GetAssigmentByCodeAsync(AssigmentByCodeRequest request);
Task GetPermissionUsersInfoAsync();
Task ReGeneratePermissionUsersInfoAsync(PermissionUsersInfoDto beforeDto);
}