From 1f2cd7e1109e8defad7ffe328047c4c9caeb3017 Mon Sep 17 00:00:00 2001 From: ChenYi <296215406@outlook.com> Date: Wed, 30 Jul 2025 16:14:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=94=9F=E4=BA=A7=E8=BD=A6?= =?UTF-8?q?=E9=97=B4=E6=95=B0=E6=8D=AE=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JiShe.ServicePro | 2 +- .../Dto/CTWingWorkshopProductListOutput.cs | 14 ++-- .../ICTWingAggregationService.cs | 2 +- .../Dto/OneNetWorkshopProductListOutput.cs | 14 ++-- .../IOneNETAggregationService.cs | 2 +- .../ProductionEquipmentMessageBody.cs | 17 +---- .../CTWingAggregationService.cs | 64 ++++++++--------- .../OneNETAggregationService.cs | 72 +++++++++---------- src/JiShe.IoT.DbMigrator/README.md | 5 +- .../CTWingAggregationController.cs | 12 ++-- .../OneNETAggregationController.cs | 2 +- 11 files changed, 88 insertions(+), 118 deletions(-) diff --git a/JiShe.ServicePro b/JiShe.ServicePro index 5562b1a..8abbb98 160000 --- a/JiShe.ServicePro +++ b/JiShe.ServicePro @@ -1 +1 @@ -Subproject commit 5562b1a3c43e34f663b4f58415698b1c9d0190d6 +Subproject commit 8abbb9899b01f6bc94a0d699cedc00cfbf2cbd7e diff --git a/src/JiShe.IoT.Application.Contracts/CTWingAggregation/Dto/CTWingWorkshopProductListOutput.cs b/src/JiShe.IoT.Application.Contracts/CTWingAggregation/Dto/CTWingWorkshopProductListOutput.cs index 3f5617a..1a4fd72 100644 --- a/src/JiShe.IoT.Application.Contracts/CTWingAggregation/Dto/CTWingWorkshopProductListOutput.cs +++ b/src/JiShe.IoT.Application.Contracts/CTWingAggregation/Dto/CTWingWorkshopProductListOutput.cs @@ -14,16 +14,10 @@ namespace JiShe.IoT.CTWingAggregation.Dto public class CTWingWorkshopProductListOutput : OpenApiRequest { /// - /// CTWing账户Id + /// 产品数据Id /// - [SwaggerSchema("CTWing账户Id")] - public string CTWingAccountId { get; set; } - - /// - /// 物联网平台对应的产品Id - /// - [SwaggerSchema("物联网平台对应的产品Id")] - public string IoTPlatformProductId { get; set; } + [SwaggerSchema("产品数据Id")] + public Guid ProductDataId { get; set; } /// /// 产品名称 @@ -35,7 +29,7 @@ namespace JiShe.IoT.CTWingAggregation.Dto /// 设备访问密钥 /// [SwaggerSchema("设备访问密钥")] - public string FeatureAccesskey { get; set; } + public string ProductAccesskey { get; set; } /// /// 通讯服务地址 diff --git a/src/JiShe.IoT.Application.Contracts/CTWingAggregation/ICTWingAggregationService.cs b/src/JiShe.IoT.Application.Contracts/CTWingAggregation/ICTWingAggregationService.cs index f6faac0..bfd899f 100644 --- a/src/JiShe.IoT.Application.Contracts/CTWingAggregation/ICTWingAggregationService.cs +++ b/src/JiShe.IoT.Application.Contracts/CTWingAggregation/ICTWingAggregationService.cs @@ -21,6 +21,6 @@ namespace JiShe.IoT.CTWingAggregation /// /// 获取CTWing产品列表 /// - Task>> GetProductListAsync(OpenApiRequest input); + Task GetProductListAsync(OpenApiRequest input); } } diff --git a/src/JiShe.IoT.Application.Contracts/OneNETAggregation/Dto/OneNetWorkshopProductListOutput.cs b/src/JiShe.IoT.Application.Contracts/OneNETAggregation/Dto/OneNetWorkshopProductListOutput.cs index c3e21fd..f108d5e 100644 --- a/src/JiShe.IoT.Application.Contracts/OneNETAggregation/Dto/OneNetWorkshopProductListOutput.cs +++ b/src/JiShe.IoT.Application.Contracts/OneNETAggregation/Dto/OneNetWorkshopProductListOutput.cs @@ -11,19 +11,13 @@ namespace JiShe.IoT.OneNETAggregation.Dto /// /// 生产车间获取OneNET产品列表 /// - public class OneNetWorkshopProductListOutput: OpenApiRequest + public class OneNetWorkshopProductListOutput { /// - /// OneNET账户Id + /// 产品数据Id /// - [SwaggerSchema("OneNET账户Id")] - public string OneNETAccountId { get; set; } - - /// - /// 物联网平台对应的产品Id - /// - [SwaggerSchema("物联网平台对应的产品Id")] - public string IoTPlatformProductId { get; set; } + [SwaggerSchema("产品数据Id")] + public Guid ProductDataId { get; set; } /// /// 产品名称 diff --git a/src/JiShe.IoT.Application.Contracts/OneNETAggregation/IOneNETAggregationService.cs b/src/JiShe.IoT.Application.Contracts/OneNETAggregation/IOneNETAggregationService.cs index 18609cd..09498fe 100644 --- a/src/JiShe.IoT.Application.Contracts/OneNETAggregation/IOneNETAggregationService.cs +++ b/src/JiShe.IoT.Application.Contracts/OneNETAggregation/IOneNETAggregationService.cs @@ -24,6 +24,6 @@ namespace JiShe.IoT.OneNETAggregation /// /// 获取OneNET产品列表 /// - Task>> GetProductListAsync(OpenApiRequest input); + Task GetProductListAsync(OpenApiRequest input); } } diff --git a/src/JiShe.IoT.Application.Contracts/Workshops/ProductionEquipmentMessageBody.cs b/src/JiShe.IoT.Application.Contracts/Workshops/ProductionEquipmentMessageBody.cs index 7b4abfe..1083b34 100644 --- a/src/JiShe.IoT.Application.Contracts/Workshops/ProductionEquipmentMessageBody.cs +++ b/src/JiShe.IoT.Application.Contracts/Workshops/ProductionEquipmentMessageBody.cs @@ -13,25 +13,12 @@ namespace JiShe.IoT.Workshops /// 生产设备详情 /// public class ProductionEquipmentMessageBody - { - /// - /// 表计类型 - /// 电表= 1,水表= 2,燃气表= 3,热能表= 4,水表流量计=5,燃气表流量计=6,特殊电表=7 - /// - public DeviceTypeEnum? MeterType { get; set; } - + { /// /// 设备地址 /// public string DeviceAddress { get; set; } - - /// - /// 物联网平台唯一设备标识 - /// CTWing唯一设备标识为:设备Id=CTWing产品Id+推送的设备序列号(集中器地址) - /// OneNET唯一设备标识为:推送的设备名称,为了保持统一,因此推送的设备名称=OneNET产品Id+推送的设备序列号(集中器地址) - /// - public string DeviceOpenInfo { get; set; } - + /// /// 物联网平台对应的产品Id /// diff --git a/src/JiShe.IoT.Application/CTWingAggregation/CTWingAggregationService.cs b/src/JiShe.IoT.Application/CTWingAggregation/CTWingAggregationService.cs index 0d81a3a..fef4267 100644 --- a/src/JiShe.IoT.Application/CTWingAggregation/CTWingAggregationService.cs +++ b/src/JiShe.IoT.Application/CTWingAggregation/CTWingAggregationService.cs @@ -1,4 +1,5 @@ using JiShe.IoT.CTWingAggregation.Dto; +using JiShe.IoT.OneNETAggregation.Dto; using JiShe.IoT.Workshops; using JiShe.ServicePro; using JiShe.ServicePro.Core; @@ -44,32 +45,17 @@ namespace JiShe.IoT.CTWingAggregation } ProductionEquipmentMessageBody productionEquipmentMessageBody = input.Message.Deserialize(); - - if (productionEquipmentMessageBody.MeterType.HasValue == false) - { - return HttpDataResultExtensions.Failed("设备类型不能为空", -103, ResponeResultEnum.Fail); - } - + if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.IoTPlatformProductId)) { - return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -104, ResponeResultEnum.Fail); - } - - - if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.IoTPlatformProductId)) - { - return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -105, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -102, ResponeResultEnum.Fail); } if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.DeviceAddress)) { - return HttpDataResultExtensions.Failed("设备地址不能为空", -106, ResponeResultEnum.Fail); - } - - if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.DeviceOpenInfo)) - { - return HttpDataResultExtensions.Failed("物联网平台唯一设备标识,不能为空", -107, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("设备地址不能为空", -103, ResponeResultEnum.Fail); } + var productInfo = await FreeSqlDbContext.Instance.Select() .Where(e => e.IsEnabled == true && e.IoTPlatformProductId == productionEquipmentMessageBody.IoTPlatformProductId) @@ -77,16 +63,16 @@ namespace JiShe.IoT.CTWingAggregation if (productInfo == null) { - return HttpDataResultExtensions.Failed("没有找到对应的产品信息", -108, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("没有找到对应的产品信息", -104, ResponeResultEnum.Fail); } CreateDeviceInput meterInfoEntity = new CreateDeviceInput() { DeviceAddress = productionEquipmentMessageBody.DeviceAddress, - PlatformPassword = productInfo.MasterKey, + PlatformPassword = productInfo.FeatureAccesskey, IoTPlatformProductId = productionEquipmentMessageBody.IoTPlatformProductId, - IoTPlatformDeviceOpenInfo = productionEquipmentMessageBody.DeviceOpenInfo, - DeviceName = productionEquipmentMessageBody.DeviceOpenInfo + IoTPlatformDeviceOpenInfo = $"{productionEquipmentMessageBody.IoTPlatformProductId}{productionEquipmentMessageBody.DeviceAddress}", + DeviceName = productionEquipmentMessageBody.DeviceAddress }; //创建本地设备信息 @@ -104,7 +90,7 @@ namespace JiShe.IoT.CTWingAggregation if (pushResult == null || pushResult.Code != ServicePro.Enums.ResponeResultEnum.Success) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} 推送设备信息失败:{pushResult.Serialize()}"); - return HttpDataResultExtensions.Failed("推送设备信息CTWing失败", -109, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("推送设备信息CTWing失败", -105, ResponeResultEnum.Fail); } UpdateDeviceInput updateDeviceInput = insertResult.Adapt(); @@ -114,7 +100,7 @@ namespace JiShe.IoT.CTWingAggregation if (updateResult == null) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} CTWing返回的设备信息更新失败:{input.Serialize()}"); - return HttpDataResultExtensions.Failed("CTWing返回的设备信息更新失败", -110, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("CTWing返回的设备信息更新失败", -106, ResponeResultEnum.Fail); } //设备数据缓存到Redis @@ -123,12 +109,12 @@ namespace JiShe.IoT.CTWingAggregation RedisProvider.Instance.HSet(RedisConst.CacheAllDeviceInfoHashKey, insertResult.DeviceAddress, deviceCacheInfos); - return HttpDataResultExtensions.Failed("签名校验失败", -101, ResponeResultEnum.NotAllowed); + return HttpDataResultExtensions.Success("推送设备成功!"); } catch (Exception ex) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} 生产车间数据推送发生异常:{ex.Serialize()}"); - return HttpDataResultExtensions.Failed("生产车间数据推送发生异常", -101, ResponeResultEnum.Exception); + return HttpDataResultExtensions.Failed("生产车间数据推送发生异常", -107, ResponeResultEnum.Exception); } } @@ -136,25 +122,37 @@ namespace JiShe.IoT.CTWingAggregation /// 获取CTWing产品列表 /// [AllowAnonymous] - public async Task>> GetProductListAsync(OpenApiRequest input) + public async Task GetProductListAsync(OpenApiRequest input) { try { bool verifySignatureReult = EncryptUtil.OpenApiVerifySignature(input.Message, input.Nonce, input.Timestamp, input.Signature, srverOptions.VerifySignatureToken); if (verifySignatureReult == false)//签名校验失败 { - return HttpDataResultExtensions.Failed>("签名校验失败", -101, ResponeResultEnum.NotAllowed); + return HttpDataResultExtensions.Failed("签名校验失败", -101, ResponeResultEnum.NotAllowed); } - ProductionEquipmentMessageBody productionEquipmentMessageBody = input.Message.Deserialize(); - var pageListQuery = FreeSqlDbContext.Instance.Select() .Where(e => e.IsEnabled == true) .OrderByDescending(e => e.CreationTime); - var pageList = await pageListQuery.ToListAsync(); + var pageList = await pageListQuery.ToListAsync(d => new CTWingWorkshopProductListOutput + { + ProductDataId = d.Id, + ProductName = d.ProductName, + CommunicationAddress = d.CommunicationAddress, + ProductAccesskey = d.FeatureAccesskey, + }); - return HttpDataResultExtensions.Success(pageList); + if (pageList == null || pageList.Count <= 0) + { + return HttpDataResultExtensions.Failed("获取CTWing产品失败", -102, ResponeResultEnum.NotAllowed); + } + + var rawMessage = pageList.Serialize(); + var signatureResult = EncryptUtil.OpenApiSignature(rawMessage, srverOptions.VerifySignatureToken); + + return HttpDataResultExtensions.Success(rawMessage, signatureResult.Item1, signatureResult.Item2); } catch (Exception) { diff --git a/src/JiShe.IoT.Application/OneNETAggregation/OneNETAggregationService.cs b/src/JiShe.IoT.Application/OneNETAggregation/OneNETAggregationService.cs index 5caad8f..10d4bd3 100644 --- a/src/JiShe.IoT.Application/OneNETAggregation/OneNETAggregationService.cs +++ b/src/JiShe.IoT.Application/OneNETAggregation/OneNETAggregationService.cs @@ -49,31 +49,17 @@ namespace JiShe.IoT.OneNETAggregation ProductionEquipmentMessageBody productionEquipmentMessageBody = input.Message.Deserialize(); - if (productionEquipmentMessageBody.MeterType.HasValue == false) - { - return HttpDataResultExtensions.Failed("设备类型不能为空", -103, ResponeResultEnum.Fail); - } if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.IoTPlatformProductId)) { - return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -104, ResponeResultEnum.Fail); - } - - - if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.IoTPlatformProductId)) - { - return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -105, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("物联网平台产品Id不能为空", -102, ResponeResultEnum.Fail); } if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.DeviceAddress)) { - return HttpDataResultExtensions.Failed("设备地址不能为空", -106, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("设备地址不能为空", -103, ResponeResultEnum.Fail); } - if (string.IsNullOrWhiteSpace(productionEquipmentMessageBody.DeviceOpenInfo)) - { - return HttpDataResultExtensions.Failed("物联网平台唯一设备标识,不能为空", -107, ResponeResultEnum.Fail); - } var productInfo = await FreeSqlDbContext.Instance.Select() .Where(e => e.IsEnabled == true && e.IoTPlatformProductId == productionEquipmentMessageBody.IoTPlatformProductId) @@ -81,34 +67,34 @@ namespace JiShe.IoT.OneNETAggregation if (productInfo == null) { - return HttpDataResultExtensions.Failed("没有找到对应的产品信息", -108, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("没有找到对应的产品信息", -104, ResponeResultEnum.Fail); } - - CreateDeviceInput meterInfoEntity = new CreateDeviceInput() + + CreateDeviceInput deviceInsertInput = new CreateDeviceInput() { DeviceAddress = productionEquipmentMessageBody.DeviceAddress, PlatformPassword = productInfo.ProductAccesskey, IoTPlatformProductId = productionEquipmentMessageBody.IoTPlatformProductId, - IoTPlatformDeviceOpenInfo = productionEquipmentMessageBody.DeviceOpenInfo, - DeviceName = productionEquipmentMessageBody.DeviceOpenInfo + IoTPlatformDeviceOpenInfo = $"{productionEquipmentMessageBody.IoTPlatformProductId}{productionEquipmentMessageBody.DeviceAddress}", + DeviceName = productionEquipmentMessageBody.DeviceAddress }; //创建本地设备信息 - var insertResult = await deviceAppService.CreateAsync(meterInfoEntity); + var insertResult = await deviceAppService.CreateAsync(deviceInsertInput); //推送至OneNET平台 - var pushResult = await oneNETDeviceService.CreateDeviceInfoAsync(new CreateDeviceInfoInput() + var pushResult = await oneNETDeviceService.CreateDeviceInfoAsync(new CreateDeviceInfoInput() { - DeviceName = productionEquipmentMessageBody.DeviceOpenInfo, + DeviceName = deviceInsertInput.IoTPlatformDeviceOpenInfo, ProductId = productionEquipmentMessageBody.IoTPlatformProductId, OneNETAccountId = productInfo.OneNETAccountId, - Description = productionEquipmentMessageBody.DeviceOpenInfo, + Description = deviceInsertInput.IoTPlatformDeviceOpenInfo, }); if (pushResult == null || pushResult.Code != ServicePro.Enums.ResponeResultEnum.Success) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} 推送设备信息失败:{pushResult.Serialize()}"); - return HttpDataResultExtensions.Failed("推送设备信息OneNET失败", -109, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("推送设备信息OneNET失败", -105, ResponeResultEnum.Fail); } UpdateDeviceInput updateDeviceInput = insertResult.Adapt(); @@ -118,7 +104,7 @@ namespace JiShe.IoT.OneNETAggregation if (updateResult == null) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} OneNET返回的设备信息更新失败:{input.Serialize()}"); - return HttpDataResultExtensions.Failed("OneNET返回的设备信息更新失败", -110, ResponeResultEnum.Fail); + return HttpDataResultExtensions.Failed("OneNET返回的设备信息更新失败", -106, ResponeResultEnum.Fail); } //设备数据缓存到Redis @@ -127,12 +113,13 @@ namespace JiShe.IoT.OneNETAggregation RedisProvider.Instance.HSet(RedisConst.CacheAllDeviceInfoHashKey, insertResult.DeviceAddress, deviceCacheInfos); - return HttpDataResultExtensions.Failed("签名校验失败", -101, ResponeResultEnum.NotAllowed); + return HttpDataResultExtensions.Success("推送设备成功!"); + } catch (Exception ex) { logger.LogError($"{nameof(ReceiveWorkshopProductionInfoAsync)} 生产车间数据推送发生异常:{ex.Serialize()}"); - return HttpDataResultExtensions.Failed("生产车间数据推送发生异常", -101, ResponeResultEnum.Exception); + return HttpDataResultExtensions.Failed("生产车间数据推送发生异常", -107, ResponeResultEnum.Exception); } } @@ -140,7 +127,7 @@ namespace JiShe.IoT.OneNETAggregation /// 获取OneNET产品列表 /// [AllowAnonymous] - public async Task>> GetProductListAsync(OpenApiRequest input) + public async Task GetProductListAsync(OpenApiRequest input) { try @@ -148,24 +135,37 @@ namespace JiShe.IoT.OneNETAggregation bool verifySignatureReult = EncryptUtil.OpenApiVerifySignature(input.Message, input.Nonce, input.Timestamp, input.Signature, srverOptions.VerifySignatureToken); if (verifySignatureReult == false)//签名校验失败 { - return HttpDataResultExtensions.Failed>("签名校验失败", -101, ResponeResultEnum.NotAllowed); + return HttpDataResultExtensions.Failed("签名校验失败", -101, ResponeResultEnum.NotAllowed); } - ProductionEquipmentMessageBody productionEquipmentMessageBody = input.Message.Deserialize(); - var pageListQuery = FreeSqlDbContext.Instance.Select() .Where(e => e.IsEnabled == true) .OrderByDescending(e => e.CreationTime); - var pageList = await pageListQuery.ToListAsync(); + var pageList = await pageListQuery.ToListAsync(d => new OneNetWorkshopProductListOutput + { + ProductDataId = d.Id, + ProductName = d.ProductName, + CommunicationAddress = d.CommunicationAddress, + ProductAccesskey = d.ProductAccesskey, + CommunicationAddressTLS = d.CommunicationAddressTLS + }); - return HttpDataResultExtensions.Success(pageList); + if (pageList == null || pageList.Count <= 0) + { + return HttpDataResultExtensions.Failed("获取OneNET产品失败", -102, ResponeResultEnum.NotAllowed); + } + + var rawMessage = pageList.Serialize(); + var signatureResult = EncryptUtil.OpenApiSignature(rawMessage, srverOptions.VerifySignatureToken); + + return HttpDataResultExtensions.Success(rawMessage, signatureResult.Item1, signatureResult.Item2); } catch (Exception) { throw; } - } + } } } diff --git a/src/JiShe.IoT.DbMigrator/README.md b/src/JiShe.IoT.DbMigrator/README.md index 35c55f5..1df2ed2 100644 --- a/src/JiShe.IoT.DbMigrator/README.md +++ b/src/JiShe.IoT.DbMigrator/README.md @@ -20,10 +20,7 @@ # 更新dotnet tools > dotnet tool update --global dotnet-ef - - -> 这个项目不能删除,初始化最基础的证书,以及《项目管理》的连接字符串加密都需要这个处理 - + > 生成SQL语句 Script-Migration -From 20220307064411_handlerMealPackage202203071443 -To 20220311084146_alterDevice202203111636 -Context ConsumerSystemDbContext > Add-Migration alterAuditLogs202107011013 -c ConsumerSystemDbContext diff --git a/src/JiShe.IoT.HttpApi/Controllers/CTWingAggregationController.cs b/src/JiShe.IoT.HttpApi/Controllers/CTWingAggregationController.cs index 4b8e399..e550c26 100644 --- a/src/JiShe.IoT.HttpApi/Controllers/CTWingAggregationController.cs +++ b/src/JiShe.IoT.HttpApi/Controllers/CTWingAggregationController.cs @@ -10,10 +10,10 @@ namespace JiShe.IoT.Controllers [Route("/Aggregation/CTWing")] public class CTWingAggregationController : IoTController { - private readonly ICTWingAggregationService _CTWingAggregationServiceService; - public CTWingAggregationController(ICTWingAggregationService CTWingAggregationServiceService) + private readonly ICTWingAggregationService _ctwingAggregationServiceService; + public CTWingAggregationController(ICTWingAggregationService ctwingAggregationServiceService) { - _CTWingAggregationServiceService = CTWingAggregationServiceService; + _ctwingAggregationServiceService = ctwingAggregationServiceService; } /// @@ -25,7 +25,7 @@ namespace JiShe.IoT.Controllers [SwaggerOperation(summary: "接收车间生产信息", Tags = new[] { "AggregationCTWing" })] public async Task ReceiveWorkshopProductionInfoAsync(OpenApiRequest input) { - await _CTWingAggregationServiceService.ReceiveWorkshopProductionInfoAsync(input); + await _ctwingAggregationServiceService.ReceiveWorkshopProductionInfoAsync(input); } /// @@ -33,9 +33,9 @@ namespace JiShe.IoT.Controllers /// [HttpPost(nameof(GetProductListAsync))] [SwaggerOperation(summary: "获取CTWing产品列表", Tags = new[] { "AggregationCTWing" })] - public async Task>> GetProductListAsync(OpenApiRequest input) + public async Task GetProductListAsync(OpenApiRequest input) { - return await _CTWingAggregationServiceService.GetProductListAsync(input); + return await _ctwingAggregationServiceService.GetProductListAsync(input); } } } diff --git a/src/JiShe.IoT.HttpApi/Controllers/OneNETAggregationController.cs b/src/JiShe.IoT.HttpApi/Controllers/OneNETAggregationController.cs index bb951f6..f8375f9 100644 --- a/src/JiShe.IoT.HttpApi/Controllers/OneNETAggregationController.cs +++ b/src/JiShe.IoT.HttpApi/Controllers/OneNETAggregationController.cs @@ -42,7 +42,7 @@ namespace JiShe.IoT.Controllers /// [HttpPost(nameof(GetProductListAsync))] [SwaggerOperation(summary: "获取OneNET产品列表", Tags = new[] { "AggregationOneNET" })] - public async Task>> GetProductListAsync(OpenApiRequest input) + public async Task GetProductListAsync(OpenApiRequest input) { return await _oneNETAggregationServiceService.GetProductListAsync(input); }