From d130cf483147e4178f06000d9efb51da9accadb6 Mon Sep 17 00:00:00 2001 From: gwbvipvip Date: Thu, 22 Feb 2024 14:45:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/BPA.KitChen.GroupMeal/v17/.suo | Bin 637952 -> 641536 bytes .../Device/DevicePushRecodeServices.cs | 4 +- .../Service/Device/Dtos/Class1.cs | 12 --- .../Device/Dtos/DevicePushRecodeDtoInput.cs | 25 ++++++ .../Dtos/DevicePushRecodeDtoPageInput.cs | 2 + .../Services/DevicePushRecodeService.cs | 72 +++++++++++++----- .../Services/IDevicePushRecodeService.cs | 10 ++- 7 files changed, 86 insertions(+), 39 deletions(-) delete mode 100644 BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/Class1.cs diff --git a/.vs/BPA.KitChen.GroupMeal/v17/.suo b/.vs/BPA.KitChen.GroupMeal/v17/.suo index 048e87983043beb3445555e70ae9daf5b54ef764..98fabecaeba620bcb60f13eaa68243ddcdf63704 100644 GIT binary patch delta 15096 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⋙Dvq5@Myc2?l?&~t{0vRd04gUc&tJy4 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 S%DW=T*TMCyn7cyGUHW%q{oOGD diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/DevicePushRecodeServices.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/DevicePushRecodeServices.cs index e4c5395..22b0c85 100644 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/DevicePushRecodeServices.cs +++ b/BPA.KitChen.GroupMeal.Application/Service/Device/DevicePushRecodeServices.cs @@ -37,18 +37,16 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos { return await _devicePushRecodeService.Add(input); } - /// /// 修改 /// /// /// [HttpGet("/api/devicepushrecode/update")] - public async Task Update(string id) + public async Task Update(string id) { return await _devicePushRecodeService.Update(id); } - /// /// 删除 /// diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/Class1.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/Class1.cs deleted file mode 100644 index b49d35b..0000000 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/Class1.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos -{ - internal class Class1 - { - } -} diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoInput.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoInput.cs index 9b61bae..07459cd 100644 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoInput.cs +++ b/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoInput.cs @@ -9,9 +9,34 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos public class DevicePushRecodeDtoInput { public string DeviceId { get; set; } + public string ProductVersion { get; set; } + public string ProductKey { get; set; } public string DeviceName { get; set; } public int DeviceAutoKey { get; set; } public object Data { get; set; } public int Type { get; set; } + public List TopicsData { get; set; } + } + public class ProductTopics + { + public string Id { get; set; } + /// + /// Topics类 + /// + public string Topics { get; set; } + /// + /// TopicsType类型 0发布 1订阅 2发布和订阅 + /// + public int TopicsType { get; set; } + /// + /// 描述 + /// + public string Description { get; set; } + public string ProductId { get; set; } + public string ProductVesionId { get; set; } + /// + /// 是否默认Topics + /// + public bool IsDefault { get; set; } } } diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoPageInput.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoPageInput.cs index 6aca6d2..48b94b6 100644 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoPageInput.cs +++ b/BPA.KitChen.GroupMeal.Application/Service/Device/Dtos/DevicePushRecodeDtoPageInput.cs @@ -13,5 +13,7 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos /// 下发类型1商品 2物料 3配方 /// public int Type { get; set; } + public string DeviceName { get; set; } + public string Status { get; set; } } } diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/Services/DevicePushRecodeService.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/Services/DevicePushRecodeService.cs index 2d9b862..faf2534 100644 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/Services/DevicePushRecodeService.cs +++ b/BPA.KitChen.GroupMeal.Application/Service/Device/Services/DevicePushRecodeService.cs @@ -7,6 +7,7 @@ using Furion.DependencyInjection; using Furion.FriendlyException; using Furion.LinqBuilder; using Mapster; +using Microsoft.CodeAnalysis.Operations; using Microsoft.Extensions.Hosting; using MQTTnet; using MQTTnet.Client; @@ -28,7 +29,7 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos public DevicePushRecodeService(ISqlSugarClient db, IMqttClient mqttClient) { _db = db; - _mqttClient=mqttClient; + _mqttClient = mqttClient; } /// /// 分页 @@ -39,6 +40,8 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos { RefAsync total = 0; var res = await _db.Queryable().Where(x => x.Type == input.Type) + .WhereIF(!string.IsNullOrWhiteSpace(input.DeviceName), x => x.DeviceName.Contains(input.DeviceName)) + .WhereIF(!string.IsNullOrWhiteSpace(input.Status), x => x.Status == (CommonStatus)Convert.ToInt32(input.Status) ) .Select(t => new { CreateAt = t.CreateAt, @@ -49,8 +52,10 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos Type = t.Type, Topic = t.Topic, DataResore = t.DataResore, - t.Status - }).OrderBy(x => x.CreateAt, OrderByType.Desc).ToPageListAsync(input.Current, input.PageSize, total); + Status = t.Status, + Description = t.Description, + }).OrderBy(x => x.CreateAt, OrderByType.Desc) + .ToPageListAsync(input.Current, input.PageSize, total); PageUtil util = new PageUtil() { Total = total, @@ -67,33 +72,54 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos public async Task Add(DevicePushRecodeDtoInput input) { var data = input.Adapt(); - string Topic = GetTopic(input.Type, input.DeviceAutoKey.ToString()); + string topstr = ""; + string Topic = GetTopic(input.Type, input.DeviceAutoKey.ToString(), input.ProductVersion, input.ProductKey, out topstr); if (string.IsNullOrEmpty(Topic)) throw Oops.Oh("请配置相关topic"); + data.Topic= Topic; + data.Status = CommonStatus.ENABLE; data.DataResore = JsonConvert.SerializeObject(JsonConvert.DeserializeObject(input.Data.ToString())); - var res=await Push(Topic, new PushData() { Data=input.Data, DeviceId= input.DeviceAutoKey }); - data.Status = res == "success" ? CommonStatus.ENABLE : CommonStatus.DISABLE; - await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); - - return res == "success"; + data.DeviceAutoKey= input.DeviceAutoKey; + data.Description = "成功"; + if (input.TopicsData.Count > 0) + { + var chaeck = input.TopicsData.Any(x => x.Topics.Trim() == topstr.Trim()); + if (!chaeck) + { + data.Status = CommonStatus.DISABLE; + data.Description = "下发数据失败,该产品还未配置对应的topic,请联系管理员进行配置"; + } + } + else + { + data.Status = CommonStatus.DISABLE; + data.Description = "下发数据失败,该产品还未配置对应的topic,请联系管理员进行配置"; + } + if (data.Status == CommonStatus.ENABLE) + { + var respush = await Push(Topic, new PushData() { Data = data.DataResore, DeviceId = input.DeviceAutoKey }); + if (respush != "success") + { + data.Description = respush; + data.Status = CommonStatus.DISABLE; + } + } + var res = await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); + return res>0; } - public async Task Update(string id) { var data = _db.Queryable().Where(x => x.Id == id).First(); data.Status = CommonStatus.ENABLE; var respush = await Push(data.Topic, new PushData() { Data = data.DataResore, DeviceId = data.DeviceAutoKey }); - if (respush != "success") + data.Description = respush; + if (respush!= "success") { - data.Description = respush; data.Status = CommonStatus.DISABLE; } var res = await _db.Updateable(data).ExecuteCommandAsync(); return res > 0; } - - - /// /// 删除 /// @@ -118,7 +144,6 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos { try { - // Topic = TOPIC.GetInstance.GetBusinessTopic(x, storeInfo.FirstOrDefault(a => a.Id == item.OrgId).AutoKey) + "/" + item.AutoKey; BPAPackage bPAPackage = new BPAPackage { @@ -138,22 +163,27 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos } catch (Exception e) { - return "下发错误,错误信息:" + e.Message; + return "下发错误,错误信息:" + e.Message; + } } - private string GetTopic(int type,string deviceKey) + private string GetTopic(int type,string deviceKey, string productVersion, string productKey,out string topstr ) { string topic = ""; + topstr = ""; switch (type) { case 1: //商品下发 - topic = $"/da4bfff042c656210/${deviceKey}/use/goodspush"; + topic = $"/{productKey}/{productVersion}/{deviceKey}/defaul/goodspush"; + topstr = "/"+productKey+"/"+productVersion+"/${deviceKey}/defaul/goodspush"; break; case 2://物料下发 - topic = $"/da4bfff042c656210/${deviceKey}/use/batvhingpush"; + topic = $"/{productKey}/{productVersion}/{deviceKey}/defaul/batvhingpush"; + topstr = "/" + productKey + "/" + productVersion + "/${deviceKey}/defaul/batvhingpush"; break; case 4: - topic = $"/da4bfff042c656210/${deviceKey}/use/chnologypush"; + topic = $"/{productKey}/{productVersion}/{deviceKey}/defaul/chnologypush"; + topstr = "/" + productKey + "/" + productVersion + "/${deviceKey}/defaul/chnologypush"; break; } return topic; diff --git a/BPA.KitChen.GroupMeal.Application/Service/Device/Services/IDevicePushRecodeService.cs b/BPA.KitChen.GroupMeal.Application/Service/Device/Services/IDevicePushRecodeService.cs index 4e4526c..02c993c 100644 --- a/BPA.KitChen.GroupMeal.Application/Service/Device/Services/IDevicePushRecodeService.cs +++ b/BPA.KitChen.GroupMeal.Application/Service/Device/Services/IDevicePushRecodeService.cs @@ -1,4 +1,5 @@ -using BPA.KitChen.GroupMeal.Application.BaseDto; + +using BPA.KitChen.GroupMeal.Application.BaseDto; using System; using System.Collections.Generic; using System.Linq; @@ -21,8 +22,11 @@ namespace BPA.KitChen.GroupMeal.Application.Service.Device.Dtos /// /// Task Add(DevicePushRecodeDtoInput input); - - + /// + /// 更新 + /// + /// + /// Task Update(string id); /// /// 删除