From 0b7845111a2c74e75cafee3088f5e43fb10d25fe Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Wed, 16 Oct 2019 09:28:11 +0800 Subject: [PATCH] update Former-commit-id: fdc1f59da10dd29b4f7053a2c47cf42649e621b8 --- docs/研发/v1.0任务分解.xlsx | Bin 0 -> 21888 bytes docs/研发/任务分解.xlsx | Bin 20765 -> 0 bytes .../IoT.Shared/Application/Models/Methods.cs | 7 ++- projects/IoT.Shared/Services/DataService.cs | 59 ------------------ projects/IoTCenter/Services/IoTCenterHub.cs | 18 +++++- projects/IoTCenter/wwwroot/node.html | 4 +- projects/IoTNode/Services/IoTNodeClient.cs | 24 +++---- 7 files changed, 36 insertions(+), 76 deletions(-) create mode 100644 docs/研发/v1.0任务分解.xlsx delete mode 100644 docs/研发/任务分解.xlsx diff --git a/docs/研发/v1.0任务分解.xlsx b/docs/研发/v1.0任务分解.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..41b55340c71e00dd0961cf957d2a831ce8a736e6 GIT binary patch literal 21888 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 literal 0 HcmV?d00001 diff --git a/docs/研发/任务分解.xlsx b/docs/研发/任务分解.xlsx deleted file mode 100644 index 8cc2bc73ad26e17f5acf1dd57f5b549acf1c68ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20765 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

|<4mtSrwZGIf~ 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 - var model = message.FromJson(); - var entity = repo.Table().Include(o => o.Apis).ThenInclude(o => o.Parameters).FirstOrDefault(o => o.Id == model.Id); - if (entity == null) - { - repo.Add(model); - repo.SaveChanges(); - } - } - - public void UpdateDevice(string message) - { - var model = message.FromJson(); - using var scope = this._services.CreateScope(); - var repo = scope.ServiceProvider.GetService>(); - var device = repo.Table().Include(o => o.Data).FirstOrDefault(o => o.Id == model.Id); - if (device == null) - { - device = new Device - { - Id = model.Id, - ProductId = model.ProductId, - }; - repo.Add(device); - } - device.From(model); - foreach (var data in model.Data) - { - var data2 = device.Data.FirstOrDefault(o => o.Id == data.Id); - if (data2 == null) - { - data2 = new Data - { - Id = data.Id, - }; - } - data2.From(data); - } - repo.SaveChanges(); - } - public void UpdateList(string message, Expression> predicate) where T : BaseEntity { using var scope = this._services.CreateScope(); @@ -106,8 +58,6 @@ namespace IoT.Shared.Services repo.SaveChanges(); } - #endregion 服务端响应节点上传数据 - #region private public void Update(string message) where T : BaseEntity @@ -156,14 +106,5 @@ namespace IoT.Shared.Services } #endregion private - - #region 后台编辑 - - public void EditCommand(EditCommandModel model) - { - throw new NotImplementedException(); - } - - #endregion 后台编辑 } } \ No newline at end of file diff --git a/projects/IoTCenter/Services/IoTCenterHub.cs b/projects/IoTCenter/Services/IoTCenterHub.cs index c0baa21a..e779efb6 100644 --- a/projects/IoTCenter/Services/IoTCenterHub.cs +++ b/projects/IoTCenter/Services/IoTCenterHub.cs @@ -71,9 +71,17 @@ namespace IoTCenter.Services { this._dataService.Update(message); } - else if (method == Methods.UpdateProductResponse)//接收产品、接口和参数 + else if (method == Methods.UpdateProductResponse)//接收产品 { - this._dataService.UpdateProduct(message); + this._dataService.Update(message); + } + else if (method == Methods.UpdateApiResponse)//接收接口 + { + this._dataService.Update(message); + } + else if (method == Methods.UpdateParameterResponse)//接收参数 + { + this._dataService.Update(message); } else if (method == Methods.UpdateDeviceIdListResponse)//接收设备Id列表 { @@ -81,7 +89,11 @@ namespace IoTCenter.Services } else if (method == Methods.UpdateDeviceResponse)//接收设备和数据 { - this._dataService.UpdateDevice(message); + this._dataService.Update(message); + } + else if (method == Methods.UpdateDataResponse)//接收设备和数据 + { + this._dataService.Update(message); } else if (method == Methods.UpdateCommandIdListResponse)//接收命令Id列表 { diff --git a/projects/IoTCenter/wwwroot/node.html b/projects/IoTCenter/wwwroot/node.html index bb5e8e90..cf05df57 100644 --- a/projects/IoTCenter/wwwroot/node.html +++ b/projects/IoTCenter/wwwroot/node.html @@ -884,7 +884,9 @@ console.log($(this).html()); if (!$(this).hasClass('Stop')) { var number = $('#camera').val(); - ajax('/App/Exec', { number: number, method: '/Onvif/Stop' }, 'post'); + setTimeout(function () { + ajax('/App/Exec', { number: number, method: '/Onvif/Stop' }, 'post'); + }, 500); } return false; }); diff --git a/projects/IoTNode/Services/IoTNodeClient.cs b/projects/IoTNode/Services/IoTNodeClient.cs index 6666ea93..8cf3b9bb 100644 --- a/projects/IoTNode/Services/IoTNodeClient.cs +++ b/projects/IoTNode/Services/IoTNodeClient.cs @@ -184,22 +184,24 @@ namespace IoT.Shared.Services public void OnConnected() { Console.WriteLine($"{_notifyHost} OnConnected"); + //上传节点 this.UpdateEntityIdList(null, Methods.UpdateNodeResponse); //上传产品 - this.UpdateEntityIdList(null, Methods.UpdateProductResponse, o => o.Include(o => o.Apis).ThenInclude(o => o.Parameters)); + this.UpdateEntityIdList(null, Methods.UpdateProductResponse); - //上传设备Id列表、设备和数据 - this.UpdateEntityIdList(Methods.UpdateDeviceIdListResponse, null); - using var scope = this.applicationServices.CreateScope(); - var repo = scope.ServiceProvider.GetService>(); - var devices = repo.ReadOnlyTable().ToList(); - foreach (var device in devices) - { - device.Data = device.Data.Where(o => !o.Hidden).ToList(); - this.SendToServer(Methods.UpdateDeviceResponse, device); - } + //上传接口 + this.UpdateEntityIdList(null, Methods.UpdateApiResponse); + + //上传参数 + this.UpdateEntityIdList(null, Methods.UpdateParameterResponse); + + //上传设备Id列表、设备 + this.UpdateEntityIdList(Methods.UpdateDeviceIdListResponse, Methods.UpdateDeviceResponse); + + //上传数据 + this.UpdateEntityIdList(null, Methods.UpdateDataResponse, null, o => !o.Hidden); //上传命令Id列表、命令 this.UpdateEntityIdList(Methods.UpdateCommandIdListResponse, Methods.UpdateCommandResponse);