1. 重构 DeviceManagementService 类:

- 修改 CreateDeviceWithDetailsAsync 方法,在数据库创建成功后自动添加到内存
      - 修改 UpdateDeviceAsync 方法,在数据库更新成功后自动更新内存
      - 修改 DeleteDeviceByIdAsync 方法,在数据库删除成功后自动从内存移除
      - 修改 ToggleDeviceActiveStateAsync 方法,在数据库切换激活状态后更新内存

   2. 更新 DeviceDataService 类:
      - 移除了在 AddDevice 方法中的独立 AddDeviceToMemory 调用
      - 移除了在 DeleteDevice 方法中的独立 RemoveDeviceFromMemory 调用
      - 为 UpdateDevice 方法添加了注释,说明内存自动更新

   3. 更新 DeviceMonitoringService 类:
      - 在 OnDeviceActiveChanged 方法中使用 Task 运行异步的 UpdateDeviceAsync 调用

   4. 更新接口文档:
      - 在 IDeviceManagementService 接口中更新了内存操作方法的注释,说明通常由其他操作自动调用
This commit is contained in:
2025-10-01 18:09:30 +08:00
parent 03e92811dd
commit 2dda2029bd
4 changed files with 45 additions and 9 deletions

View File

@@ -103,8 +103,6 @@ public class DeviceDataService : IDeviceDataService
//给界面添加设备
_dataStorageService.Devices.Add(addDto.Device.Id, _mapper.Map<DeviceItemViewModel>(addDto.Device));
//更新数据中心
_appDataCenterService.DeviceManagementService.AddDeviceToMemory(addDto.Device);
// 给界面添加设备菜单
if (addDto.DeviceMenu != null)
@@ -144,13 +142,11 @@ public class DeviceDataService : IDeviceDataService
public async Task<bool> DeleteDevice(DeviceItemViewModel device)
{
//从数据库删除设备相关数据
//从数据库和内存中删除设备相关数据
if (!await _appDataCenterService.DeviceManagementService.DeleteDeviceByIdAsync(device.Id))
{
return false;
}
//从Application项目删除设备相关数据
_appDataCenterService.DeviceManagementService.RemoveDeviceFromMemory(device.Id);
// 从界面删除设备相关数据集
@@ -184,6 +180,7 @@ public class DeviceDataService : IDeviceDataService
_mapper.Map(device, deviceDto);
if (await _appDataCenterService.DeviceManagementService.UpdateDeviceAsync(deviceDto) > 0)
{
// 更新数据库后会自动更新内存,无需额外操作
return true;
}