修改了目录架构
This commit is contained in:
53
DMS.Application/Interfaces/Database/IDeviceAppService.cs
Normal file
53
DMS.Application/Interfaces/Database/IDeviceAppService.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Core.Enums;
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义设备管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface IDeviceAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取设备DTO。
|
||||
/// </summary>
|
||||
Task<DeviceDto> GetDeviceByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有设备DTO列表。
|
||||
/// </summary>
|
||||
Task<List<DeviceDto>> GetAllDevicesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新设备及其关联的变量表和菜单(事务性操作)。
|
||||
/// </summary>
|
||||
/// <param name="dto">包含设备、变量表和菜单信息的DTO。</param>
|
||||
/// <returns>新创建设备的ID。</returns>
|
||||
Task<CreateDeviceWithDetailsDto> CreateDeviceWithDetailsAsync(CreateDeviceWithDetailsDto dto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的设备。
|
||||
/// </summary>
|
||||
Task<int> UpdateDeviceAsync(DeviceDto deviceDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个设备。
|
||||
/// </summary>
|
||||
Task DeleteDeviceAsync(Device device);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个设备。
|
||||
/// </summary>
|
||||
Task<bool> DeleteDeviceByIdAsync(int deviceId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步切换设备的激活状态。
|
||||
/// </summary>
|
||||
Task ToggleDeviceActiveStateAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定协议类型的设备列表。
|
||||
/// </summary>
|
||||
Task<List<DeviceDto>> GetDevicesByProtocolAsync(ProtocolType protocol);
|
||||
}
|
||||
75
DMS.Application/Interfaces/Database/IEmailAppService.cs
Normal file
75
DMS.Application/Interfaces/Database/IEmailAppService.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database
|
||||
{
|
||||
/// <summary>
|
||||
/// 邮件应用服务接口
|
||||
/// </summary>
|
||||
public interface IEmailAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取所有邮件账户
|
||||
/// </summary>
|
||||
Task<List<EmailAccountDto>> GetAllEmailAccountsAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 根据ID获取邮件账户
|
||||
/// </summary>
|
||||
Task<EmailAccountDto> GetEmailAccountByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 创建邮件账户
|
||||
/// </summary>
|
||||
Task<EmailAccountDto> CreateEmailAccountAsync(CreateEmailAccountRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// 更新邮件账户
|
||||
/// </summary>
|
||||
Task<EmailAccountDto> UpdateEmailAccountAsync(int id, CreateEmailAccountRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// 删除邮件账户
|
||||
/// </summary>
|
||||
Task<bool> DeleteEmailAccountAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 测试邮件账户连接
|
||||
/// </summary>
|
||||
Task<bool> TestEmailAccountAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 发送邮件
|
||||
/// </summary>
|
||||
Task<bool> SendEmailAsync(SendEmailRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有邮件模板
|
||||
/// </summary>
|
||||
Task<List<EmailTemplateDto>> GetAllEmailTemplatesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 根据ID获取邮件模板
|
||||
/// </summary>
|
||||
Task<EmailTemplateDto> GetEmailTemplateByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 根据代码获取邮件模板
|
||||
/// </summary>
|
||||
Task<EmailTemplateDto> GetEmailTemplateByCodeAsync(string code);
|
||||
|
||||
/// <summary>
|
||||
/// 创建邮件模板
|
||||
/// </summary>
|
||||
Task<EmailTemplateDto> CreateEmailTemplateAsync(EmailTemplateDto template);
|
||||
|
||||
/// <summary>
|
||||
/// 更新邮件模板
|
||||
/// </summary>
|
||||
Task<EmailTemplateDto> UpdateEmailTemplateAsync(int id, EmailTemplateDto template);
|
||||
|
||||
/// <summary>
|
||||
/// 删除邮件模板
|
||||
/// </summary>
|
||||
Task<bool> DeleteEmailTemplateAsync(int id);
|
||||
}
|
||||
}
|
||||
41
DMS.Application/Interfaces/Database/IHistoryAppService.cs
Normal file
41
DMS.Application/Interfaces/Database/IHistoryAppService.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义历史记录管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface IHistoryAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的历史记录。
|
||||
/// </summary>
|
||||
/// <param name="variableId">变量ID</param>
|
||||
/// <returns>变量历史记录列表</returns>
|
||||
Task<List<VariableHistoryDto>> GetVariableHistoriesAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的历史记录,支持条数限制和时间范围筛选。
|
||||
/// </summary>
|
||||
/// <param name="variableId">变量ID</param>
|
||||
/// <param name="limit">返回记录的最大数量,null表示无限制</param>
|
||||
/// <param name="startTime">开始时间,null表示无限制</param>
|
||||
/// <param name="endTime">结束时间,null表示无限制</param>
|
||||
/// <returns>变量历史记录列表</returns>
|
||||
Task<List<VariableHistoryDto>> GetVariableHistoriesAsync(int variableId, int? limit = null, DateTime? startTime = null, DateTime? endTime = null);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有变量的历史记录。
|
||||
/// </summary>
|
||||
/// <returns>所有变量历史记录列表</returns>
|
||||
Task<List<VariableHistoryDto>> GetAllVariableHistoriesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有变量的历史记录,支持条数限制和时间范围筛选。
|
||||
/// </summary>
|
||||
/// <param name="limit">返回记录的最大数量,null表示无限制</param>
|
||||
/// <param name="startTime">开始时间,null表示无限制</param>
|
||||
/// <param name="endTime">结束时间,null表示无限制</param>
|
||||
/// <returns>所有变量历史记录列表</returns>
|
||||
Task<List<VariableHistoryDto>> GetAllVariableHistoriesAsync(int? limit = null, DateTime? startTime = null, DateTime? endTime = null);
|
||||
}
|
||||
35
DMS.Application/Interfaces/Database/IMqttAliasAppService.cs
Normal file
35
DMS.Application/Interfaces/Database/IMqttAliasAppService.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义了MQTT别名管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface IMqttAliasAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
Task<List<VariableMqttAliasDto>> GetAliasesForVariableAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步为变量分配或更新一个MQTT别名。
|
||||
/// </summary>
|
||||
/// <param name="variableId">变量ID。</param>
|
||||
/// <param name="mqttServerId">MQTT服务器ID。</param>
|
||||
/// <param name="alias">要设置的别名。</param>
|
||||
Task AssignAliasAsync(int variableId, int mqttServerId, string alias);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的MQTT别名。
|
||||
/// </summary>
|
||||
/// <param name="aliasId">别名关联的ID。</param>
|
||||
/// <param name="newAlias">新的别名字符串。</param>
|
||||
Task UpdateAliasAsync(int aliasId, string newAlias);
|
||||
|
||||
/// <summary>
|
||||
/// 异步移除一个MQTT别名关联。
|
||||
/// </summary>
|
||||
/// <param name="aliasId">要移除的别名关联的ID。</param>
|
||||
Task RemoveAliasAsync(int aliasId);
|
||||
}
|
||||
34
DMS.Application/Interfaces/Database/IMqttAppService.cs
Normal file
34
DMS.Application/Interfaces/Database/IMqttAppService.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义MQTT服务器管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface IMqttAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取MQTT服务器DTO。
|
||||
/// </summary>
|
||||
Task<MqttServerDto> GetMqttServerByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有MQTT服务器DTO列表。
|
||||
/// </summary>
|
||||
Task<List<MqttServerDto>> GetAllMqttServersAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新的MQTT服务器。
|
||||
/// </summary>
|
||||
Task<int> CreateMqttServerAsync(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的MQTT服务器。
|
||||
/// </summary>
|
||||
Task UpdateMqttServerAsync(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个MQTT服务器。
|
||||
/// </summary>
|
||||
Task DeleteMqttServerAsync(int id);
|
||||
}
|
||||
35
DMS.Application/Interfaces/Database/INlogAppService.cs
Normal file
35
DMS.Application/Interfaces/Database/INlogAppService.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义Nlog日志管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface INlogAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取Nlog日志DTO。
|
||||
/// </summary>
|
||||
Task<NlogDto> GetLogByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有Nlog日志DTO列表。
|
||||
/// </summary>
|
||||
Task<List<NlogDto>> GetAllLogsAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定数量的最新Nlog日志DTO列表。
|
||||
/// </summary>
|
||||
/// <param name="count">要获取的日志条目数量。</param>
|
||||
Task<List<NlogDto>> GetLatestLogsAsync(int count);
|
||||
|
||||
/// <summary>
|
||||
/// 异步清空所有Nlog日志。
|
||||
/// </summary>
|
||||
Task ClearAllLogsAsync();
|
||||
|
||||
// 可以在这里添加更多针对日志的查询服务方法,例如:
|
||||
// Task<List<NlogDto>> GetLogsByLevelAsync(string level);
|
||||
// Task<List<NlogDto>> GetLogsByDateRangeAsync(DateTime startDate, DateTime endDate);
|
||||
// Task<List<NlogDto>> SearchLogsAsync(string searchTerm);
|
||||
}
|
||||
73
DMS.Application/Interfaces/Database/IVariableAppService.cs
Normal file
73
DMS.Application/Interfaces/Database/IVariableAppService.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface IVariableAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取变量DTO。
|
||||
/// </summary>
|
||||
Task<VariableDto> GetVariableByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步根据OPC UA NodeId获取变量DTO。
|
||||
/// </summary>
|
||||
Task<VariableDto?> GetVariableByOpcUaNodeIdAsync(string opcUaNodeId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步根据OPC UA NodeId列表获取变量DTO列表。
|
||||
/// </summary>
|
||||
Task<List<VariableDto>> GetVariableByOpcUaNodeIdsAsync(List<string> opcUaNodeIds);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有变量DTO列表。
|
||||
/// </summary>
|
||||
Task<List<VariableDto>> GetAllVariablesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新变量。
|
||||
/// </summary>
|
||||
Task<VariableDto> CreateVariableAsync(VariableDto variableDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的变量。
|
||||
/// </summary>
|
||||
Task<int> UpdateVariableAsync(VariableDto variableDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的变量。
|
||||
/// </summary>
|
||||
Task<int> UpdateVariablesAsync(List<VariableDto> variableDtos);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个变量。
|
||||
/// </summary>
|
||||
Task<bool> DeleteVariableAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步批量删除变量。
|
||||
/// </summary>
|
||||
Task<bool> DeleteVariablesAsync(List<int> ids);
|
||||
|
||||
/// <summary>
|
||||
/// 异步批量导入变量。
|
||||
/// </summary>
|
||||
Task<List<VariableDto>> BatchImportVariablesAsync(List<VariableDto> variables);
|
||||
|
||||
/// <summary>
|
||||
/// 检测一组变量是否已存在。
|
||||
/// </summary>
|
||||
/// <param name="variablesToCheck">要检查的变量列表。</param>
|
||||
/// <returns>返回输入列表中已存在的变量。</returns>
|
||||
Task<List<VariableDto>> FindExistingVariablesAsync(IEnumerable<VariableDto> variablesToCheck);
|
||||
|
||||
/// <summary>
|
||||
/// 检测单个变量是否已存在。
|
||||
/// </summary>
|
||||
/// <param name="variableToCheck">要检查的变量。</param>
|
||||
/// <returns>如果变量已存在则返回该变量,否则返回null。</returns>
|
||||
Task<VariableDto?> FindExistingVariableAsync(VariableDto variableToCheck);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database
|
||||
{
|
||||
public interface IVariableTableAppService
|
||||
{
|
||||
Task<VariableTableDto> GetVariableTableByIdAsync(int id);
|
||||
Task<List<VariableTableDto>> GetAllVariableTablesAsync();
|
||||
Task<CreateVariableTableWithMenuDto> CreateVariableTableAsync(CreateVariableTableWithMenuDto createDto);
|
||||
Task<int> UpdateVariableTableAsync(VariableTableDto variableTableDto);
|
||||
Task<bool> DeleteVariableTableAsync(int id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user