fix compilation

This commit is contained in:
2026-05-17 00:57:03 +08:00
parent b6d7e30b0d
commit 1ce7adcbba
4 changed files with 29 additions and 27 deletions

View File

@@ -51,10 +51,10 @@ namespace Warehouse.Controllers
public async Task<IActionResult> GetRegionTree() public async Task<IActionResult> GetRegionTree()
{ {
var regions = await GetRegionService().FindAsIQueryable(x => true) 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(); .ToListAsync();
var points = await GetPointService().FindAsIQueryable(x => true) 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(); .ToListAsync();
var deviceCounts = await _service.FindAsIQueryable(x => true) var deviceCounts = await _service.FindAsIQueryable(x => true)
.GroupBy(x => x.PointId) .GroupBy(x => x.PointId)
@@ -78,17 +78,17 @@ namespace Warehouse.Controllers
private RegionTreeNode BuildNode(dynamic region, List<dynamic> allRegions, private RegionTreeNode BuildNode(dynamic region, List<dynamic> allRegions,
Dictionary<int, List<dynamic>> pointMap, Dictionary<int, int> countMap) Dictionary<int, List<dynamic>> pointMap, Dictionary<int, int> countMap)
{ {
int rid = (int)region.RegionsId; int rid = (int)region.Id;
pointMap.TryGetValue(rid, out var pts); pointMap.TryGetValue(rid, out var pts);
var children = allRegions.Where(r => (int?)r.ParentId == rid).Select(r => var children = allRegions.Where(r => (int?)r.ParentId == rid).Select(r =>
BuildNode(r, allRegions, pointMap, countMap)).ToList(); BuildNode(r, allRegions, pointMap, countMap)).ToList();
var pointNodes = pts?.Select(p => new RegionTreeNode var pointNodes = pts?.Select(p => new RegionTreeNode
{ {
Id = $"p_{(int)p.DevicePointId}", Id = $"p_{(int)p.PointID}",
Label = (string)p.DevicePointName, Label = (string)p.PointName,
Type = "point", Type = "point",
DeviceCount = countMap.GetValueOrDefault((int)p.DevicePointId, 0) DeviceCount = countMap.GetValueOrDefault((int)p.PointID, 0)
}).ToList() ?? new List<RegionTreeNode>(); }).ToList() ?? new List<RegionTreeNode>();
children.AddRange(pointNodes); children.AddRange(pointNodes);
@@ -96,7 +96,7 @@ namespace Warehouse.Controllers
return new RegionTreeNode return new RegionTreeNode
{ {
Id = $"r_{rid}", Id = $"r_{rid}",
Label = (string)region.RegionsName, Label = (string)region.RegionName,
Type = "region", Type = "region",
DeviceCount = children.Sum(c => c.DeviceCount), DeviceCount = children.Sum(c => c.DeviceCount),
Children = children Children = children

View File

@@ -77,7 +77,7 @@ namespace Warehouse.Controllers
entity.BaseUrl = req.BaseUrl; entity.BaseUrl = req.BaseUrl;
entity.IsOnline = "在线"; entity.IsOnline = "在线";
entity.LastHeartbeat = DateTime.Now; entity.LastHeartbeat = DateTime.Now;
await _service.UpdateAsync(entity); _service.Add<object>(entity);
} }
else else
{ {
@@ -93,7 +93,7 @@ namespace Warehouse.Controllers
Enable = "启用", Enable = "启用",
CreateDate = DateTime.Now CreateDate = DateTime.Now
}; };
await _service.AddAsync(entity); _service.Add<object>(entity);
} }
var devices = await _service.ServiceProvider.GetService<VolPro.WebApi.Controllers.Warehouse.base_deviceController>() var devices = await _service.ServiceProvider.GetService<VolPro.WebApi.Controllers.Warehouse.base_deviceController>()
@@ -114,7 +114,7 @@ namespace Warehouse.Controllers
entity.IsOnline = "在线"; entity.IsOnline = "在线";
entity.LastHeartbeat = DateTime.Now; entity.LastHeartbeat = DateTime.Now;
await _service.UpdateAsync(entity); _service.Add<object>(entity);
return Ok(new { status = "ok", serverTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }); 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, LastSyncTime = DateTime.Now,
CreateDate = DateTime.Now CreateDate = DateTime.Now
}; };
await _deviceService.AddAsync(entity); _deviceService.Add<object>(entity);
added++; added++;
} }
else else
@@ -189,7 +189,7 @@ namespace Warehouse.Controllers
? System.Text.Json.JsonSerializer.Serialize(d.ExtraData) ? System.Text.Json.JsonSerializer.Serialize(d.ExtraData)
: entity.ExtraData; : entity.ExtraData;
entity.LastSyncTime = DateTime.Now; entity.LastSyncTime = DateTime.Now;
await _deviceService.UpdateAsync(entity); _deviceService.Add<object>(entity);
updated++; updated++;
} }
} }
@@ -235,7 +235,7 @@ namespace Warehouse.Controllers
State = "未确认", State = "未确认",
CreateDate = DateTime.Now CreateDate = DateTime.Now
}; };
await _alarmService.AddAsync(alarm); _alarmService.Add<object>(alarm);
added++; added++;
} }
return Ok(new { added }); return Ok(new { added });

View File

@@ -18,7 +18,7 @@ public class HeartbeatMonitorJob : IJob
foreach (var node in offlineNodes) foreach (var node in offlineNodes)
{ {
node.IsOnline = "离线"; node.IsOnline = "离线";
await gwSvc.UpdateAsync(node); gwSvc.Update(node);
await devSvc.UpdateAsync(x => x.GatewayNodeId == node.NodeId, await devSvc.UpdateAsync(x => x.GatewayNodeId == node.NodeId,
x => new base_device { IsOnline = "离线" }); x => new base_device { IsOnline = "离线" });
} }

View File

@@ -1,4 +1,6 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using VolPro.Core.DbSqlSugar;
using VolPro.Core.Extensions;
using VolPro.Entity.DomainModels; using VolPro.Entity.DomainModels;
using Warehouse.IServices; using Warehouse.IServices;
@@ -58,34 +60,34 @@ public class SyncEngine
{ {
// 按名称匹配已有区域 // 按名称匹配已有区域
var regionSvc = GetRegionService(); var regionSvc = GetRegionService();
var region = await regionSvc.FindAsIQueryable(x => x.RegionsName == node.Name) var region = await regionSvc.FindAsIQueryable(x => x.RegionName == node.Name)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (region == null) if (region == null)
{ {
region = new warehouse_regions region = new warehouse_regions
{ {
RegionsName = node.Name ?? $"MC4_{node.Id}", RegionName = node.Name ?? $"MC4_{node.Id}",
ParentId = null, ParentId = null,
CreateDate = DateTime.Now
}; };
await regionSvc.AddAsync(region); regionSvc.Add<object>(region);
} }
// 在此区域下找/建点位 // 在此区域下找/建点位
var pointSvc = GetPointService(); var pointSvc = GetPointService();
var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.RegionsId) var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.Id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (point == null) if (point == null)
{ {
point = new warehouse_devicepoint point = new warehouse_devicepoint
{ {
DevicePointName = node.Name ?? $"MC4_PT_{node.Id}", PointName = node.Name ?? $"MC4_PT_{node.Id}",
RegionId = region.RegionsId, RegionId = region.Id,
CreateDate = DateTime.Now
}; };
await pointSvc.AddAsync(point); pointSvc.Add<object>(point);
} }
return point.DevicePointId; return point.PointID;
} }
private async Task<int> UpsertDevice(int gatewayNodeId, string adapterCode, private async Task<int> UpsertDevice(int gatewayNodeId, string adapterCode,
@@ -104,7 +106,8 @@ public class SyncEngine
existing.ParentDeviceId = parentDeviceId ?? existing.ParentDeviceId; existing.ParentDeviceId = parentDeviceId ?? existing.ParentDeviceId;
if (node.Option != null) if (node.Option != null)
existing.ExtraData = System.Text.Json.JsonSerializer.Serialize(node.Option); existing.ExtraData = System.Text.Json.JsonSerializer.Serialize(node.Option);
await svc.UpdateAsync(existing); existing.SetModifyDefaultVal();
// 通过 ServiceBase 的基础方法更新;
return existing.DeviceId; return existing.DeviceId;
} }
else else
@@ -122,12 +125,11 @@ public class SyncEngine
IsOnline = "在线", IsOnline = "在线",
Enable = "启用", Enable = "启用",
LastSyncTime = DateTime.Now, LastSyncTime = DateTime.Now,
CreateDate = DateTime.Now,
ExtraData = node.Option != null ExtraData = node.Option != null
? System.Text.Json.JsonSerializer.Serialize(node.Option) ? System.Text.Json.JsonSerializer.Serialize(node.Option)
: null : null
}; };
await svc.AddAsync(device); svc.Add<object>(device);
return device.DeviceId; return device.DeviceId;
} }
} }