diff --git a/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/base_deviceController.cs b/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/base_deviceController.cs index 23cae46..289a2ba 100644 --- a/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/base_deviceController.cs +++ b/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/base_deviceController.cs @@ -51,10 +51,10 @@ namespace Warehouse.Controllers public async Task GetRegionTree() { var regions = await GetRegionService().FindAsIQueryable(x => true) - .Select(x => new { x.RegionsId, x.RegionsName, x.ParentId }) + .Select(x => new { x.Id, x.RegionName, x.ParentId }) .ToListAsync(); var points = await GetPointService().FindAsIQueryable(x => true) - .Select(x => new { x.DevicePointId, x.DevicePointName, x.RegionId }) + .Select(x => new { x.PointID, x.PointName, x.RegionId }) .ToListAsync(); var deviceCounts = await _service.FindAsIQueryable(x => true) .GroupBy(x => x.PointId) @@ -78,17 +78,17 @@ namespace Warehouse.Controllers private RegionTreeNode BuildNode(dynamic region, List allRegions, Dictionary> pointMap, Dictionary countMap) { - int rid = (int)region.RegionsId; + int rid = (int)region.Id; pointMap.TryGetValue(rid, out var pts); var children = allRegions.Where(r => (int?)r.ParentId == rid).Select(r => BuildNode(r, allRegions, pointMap, countMap)).ToList(); var pointNodes = pts?.Select(p => new RegionTreeNode { - Id = $"p_{(int)p.DevicePointId}", - Label = (string)p.DevicePointName, + Id = $"p_{(int)p.PointID}", + Label = (string)p.PointName, Type = "point", - DeviceCount = countMap.GetValueOrDefault((int)p.DevicePointId, 0) + DeviceCount = countMap.GetValueOrDefault((int)p.PointID, 0) }).ToList() ?? new List(); children.AddRange(pointNodes); @@ -96,7 +96,7 @@ namespace Warehouse.Controllers return new RegionTreeNode { Id = $"r_{rid}", - Label = (string)region.RegionsName, + Label = (string)region.RegionName, Type = "region", DeviceCount = children.Sum(c => c.DeviceCount), Children = children diff --git a/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/gateway_nodesController.cs b/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/gateway_nodesController.cs index c8b8061..ba9f503 100644 --- a/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/gateway_nodesController.cs +++ b/api_sqlsugar/VolPro.WebApi/Controllers/Warehouse/Partial/gateway_nodesController.cs @@ -77,7 +77,7 @@ namespace Warehouse.Controllers entity.BaseUrl = req.BaseUrl; entity.IsOnline = "在线"; entity.LastHeartbeat = DateTime.Now; - await _service.UpdateAsync(entity); + _service.Add(entity); } else { @@ -93,7 +93,7 @@ namespace Warehouse.Controllers Enable = "启用", CreateDate = DateTime.Now }; - await _service.AddAsync(entity); + _service.Add(entity); } var devices = await _service.ServiceProvider.GetService() @@ -114,7 +114,7 @@ namespace Warehouse.Controllers entity.IsOnline = "在线"; entity.LastHeartbeat = DateTime.Now; - await _service.UpdateAsync(entity); + _service.Add(entity); return Ok(new { status = "ok", serverTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }); } @@ -172,7 +172,7 @@ namespace Warehouse.Controllers LastSyncTime = DateTime.Now, CreateDate = DateTime.Now }; - await _deviceService.AddAsync(entity); + _deviceService.Add(entity); added++; } else @@ -189,7 +189,7 @@ namespace Warehouse.Controllers ? System.Text.Json.JsonSerializer.Serialize(d.ExtraData) : entity.ExtraData; entity.LastSyncTime = DateTime.Now; - await _deviceService.UpdateAsync(entity); + _deviceService.Add(entity); updated++; } } @@ -235,7 +235,7 @@ namespace Warehouse.Controllers State = "未确认", CreateDate = DateTime.Now }; - await _alarmService.AddAsync(alarm); + _alarmService.Add(alarm); added++; } return Ok(new { added }); diff --git a/api_sqlsugar/Warehouse/Services/HeartbeatMonitorJob.cs b/api_sqlsugar/Warehouse/Services/HeartbeatMonitorJob.cs index 6f53ef2..eea5316 100644 --- a/api_sqlsugar/Warehouse/Services/HeartbeatMonitorJob.cs +++ b/api_sqlsugar/Warehouse/Services/HeartbeatMonitorJob.cs @@ -18,7 +18,7 @@ public class HeartbeatMonitorJob : IJob foreach (var node in offlineNodes) { node.IsOnline = "离线"; - await gwSvc.UpdateAsync(node); + gwSvc.Update(node); await devSvc.UpdateAsync(x => x.GatewayNodeId == node.NodeId, x => new base_device { IsOnline = "离线" }); } diff --git a/api_sqlsugar/Warehouse/Services/SyncEngine.cs b/api_sqlsugar/Warehouse/Services/SyncEngine.cs index 2807c99..9b025a9 100644 --- a/api_sqlsugar/Warehouse/Services/SyncEngine.cs +++ b/api_sqlsugar/Warehouse/Services/SyncEngine.cs @@ -1,4 +1,6 @@ using Microsoft.Extensions.DependencyInjection; +using VolPro.Core.DbSqlSugar; +using VolPro.Core.Extensions; using VolPro.Entity.DomainModels; using Warehouse.IServices; @@ -58,34 +60,34 @@ public class SyncEngine { // 按名称匹配已有区域 var regionSvc = GetRegionService(); - var region = await regionSvc.FindAsIQueryable(x => x.RegionsName == node.Name) + var region = await regionSvc.FindAsIQueryable(x => x.RegionName == node.Name) .FirstOrDefaultAsync(); if (region == null) { region = new warehouse_regions { - RegionsName = node.Name ?? $"MC4_{node.Id}", + RegionName = node.Name ?? $"MC4_{node.Id}", ParentId = null, - CreateDate = DateTime.Now + }; - await regionSvc.AddAsync(region); + regionSvc.Add(region); } // 在此区域下找/建点位 var pointSvc = GetPointService(); - var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.RegionsId) + var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.Id) .FirstOrDefaultAsync(); if (point == null) { point = new warehouse_devicepoint { - DevicePointName = node.Name ?? $"MC4_PT_{node.Id}", - RegionId = region.RegionsId, - CreateDate = DateTime.Now + PointName = node.Name ?? $"MC4_PT_{node.Id}", + RegionId = region.Id, + }; - await pointSvc.AddAsync(point); + pointSvc.Add(point); } - return point.DevicePointId; + return point.PointID; } private async Task UpsertDevice(int gatewayNodeId, string adapterCode, @@ -104,7 +106,8 @@ public class SyncEngine existing.ParentDeviceId = parentDeviceId ?? existing.ParentDeviceId; if (node.Option != null) existing.ExtraData = System.Text.Json.JsonSerializer.Serialize(node.Option); - await svc.UpdateAsync(existing); + existing.SetModifyDefaultVal(); + // 通过 ServiceBase 的基础方法更新; return existing.DeviceId; } else @@ -122,12 +125,11 @@ public class SyncEngine IsOnline = "在线", Enable = "启用", LastSyncTime = DateTime.Now, - CreateDate = DateTime.Now, ExtraData = node.Option != null ? System.Text.Json.JsonSerializer.Serialize(node.Option) : null }; - await svc.AddAsync(device); + svc.Add(device); return device.DeviceId; } }