diff --git a/OpenAuth.WebApi/Model/mqtt/ThingOperationHandler.cs b/OpenAuth.WebApi/Model/mqtt/ThingOperationHandler.cs index 4dcef4d..17a8bc1 100644 --- a/OpenAuth.WebApi/Model/mqtt/ThingOperationHandler.cs +++ b/OpenAuth.WebApi/Model/mqtt/ThingOperationHandler.cs @@ -1,6 +1,5 @@ using Infrastructure.Cache; using Infrastructure.CloudSdk.mqttmessagecenter; -using Newtonsoft.Json; using OpenAuth.App.ServiceApp; using OpenAuth.Repository.Domain; using System.Text.Json.Nodes; @@ -24,26 +23,27 @@ namespace OpenAuth.WebApi.Model.mqtt { var root = JsonNode.Parse(payload)?.AsObject(); - string dataJson = JsonConvert.SerializeObject(root["Data"],new JsonSerializerSettings + var dataNode = root?["Data"]; + string dataJson = string.Empty; + if (dataNode != null) { - StringEscapeHandling = StringEscapeHandling.Default - }); + dataJson = System.Text.Json.JsonSerializer.Serialize( + dataNode, + new System.Text.Json.JsonSerializerOptions + { + Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping + }); + } + await _app.AddOperationLog(new LasaControlOperation { Id = Guid.NewGuid().ToString(), - DeviceSn = root["DeviceSn"]?.ToString() ?? "", - TaskId = root["TaskId"]?.ToString() ?? "", + DeviceSn = root?["DeviceSn"]?.ToString() ?? "", + TaskId = root?["TaskId"]?.ToString() ?? "", CreateTime = DateTime.Now, - CreateId = long.Parse((root["CreateId"]?.ToString() ?? "0")), - //Data = root["Data"]?.ToJsonString() ?? "" + CreateId = long.Parse(root?["CreateId"]?.ToString() ?? "0"), Data = dataJson }); - //var info = Newtonsoft.Json.JsonConvert.DeserializeObject(payload); - //info.Id = Guid.NewGuid().ToString(); - //info.CreateTime = DateTime.Now; - //await _app.AddOperationLog(info); - // 自定义处理逻辑 - //return Task.CompletedTask; } } }