From 607f16584c876139560f241917360fc9b4c23abb Mon Sep 17 00:00:00 2001
From: yedajiang44 <602830483@qq.com>
Date: Tue, 1 Sep 2020 15:21:19 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D0x9300=E5=AD=90=E4=B8=9A?=
=?UTF-8?q?=E5=8A=A1=E5=B9=B3=E5=8F=B0=E6=9F=A5=E5=B2=97=E8=AF=B7=E6=B1=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SubMessageBody/JT809_0x9300_0x9301.cs | 28 +++++++++++--------
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/src/JT809.Protocol/SubMessageBody/JT809_0x9300_0x9301.cs b/src/JT809.Protocol/SubMessageBody/JT809_0x9300_0x9301.cs
index 1f31472..71c1bb9 100644
--- a/src/JT809.Protocol/SubMessageBody/JT809_0x9300_0x9301.cs
+++ b/src/JT809.Protocol/SubMessageBody/JT809_0x9300_0x9301.cs
@@ -4,6 +4,7 @@ using JT809.Protocol.MessagePack;
using JT809.Protocol.Extensions;
using JT809.Protocol.Interfaces;
using System.Text.Json;
+using System;
namespace JT809.Protocol.SubMessageBody
{
@@ -12,7 +13,7 @@ namespace JT809.Protocol.SubMessageBody
/// 子业务类型标识:DOWN_PLATFORM-MSG_POST_QUERY_REQ
/// 描述:上级平台不定期向下级平台发送平台查岗信息
///
- public class JT809_0x9300_0x9301:JT809SubBodies, IJT809MessagePackFormatter, IJT809Analyze,IJT809_2019_Version
+ public class JT809_0x9300_0x9301 : JT809SubBodies, IJT809MessagePackFormatter, IJT809Analyze, IJT809_2019_Version
{
public override ushort SubMsgId => JT809SubBusinessType.平台查岗请求.ToUInt16Value();
@@ -45,12 +46,14 @@ namespace JT809.Protocol.SubMessageBody
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config)
{
JT809_0x9300_0x9301 value = new JT809_0x9300_0x9301();
- value.ObjectType = (JT809_0x9301_ObjectType)reader.ReadByte();
- writer.WriteString($"[{value.ObjectType.ToByteValue()}]查岗对象的类型", value.ObjectType.ToString());
- var virtualHex = reader.ReadVirtualArray(12);
- value.ObjectID = reader.ReadString(12);
- writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]查岗对象的ID", value.ObjectID);
- if (config.Version == JT809Version.JTT2019) {
+ ReadOnlySpan virtualHex;
+ if (config.Version == JT809Version.JTT2019)
+ {
+ value.ObjectType = (JT809_0x9301_ObjectType)reader.ReadByte();
+ writer.WriteString($"[{value.ObjectType.ToByteValue()}]查岗对象的类型", value.ObjectType.ToString());
+ virtualHex = reader.ReadVirtualArray(12);
+ value.ObjectID = reader.ReadString(12);
+ writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]查岗对象的ID", value.ObjectID);
writer.WriteNumber($"[{value.AnswerTime.ReadNumber()}]查岗应答时限", value.AnswerTime);
}
value.InfoID = reader.ReadUInt32();
@@ -65,9 +68,10 @@ namespace JT809.Protocol.SubMessageBody
public JT809_0x9300_0x9301 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
{
JT809_0x9300_0x9301 value = new JT809_0x9300_0x9301();
- value.ObjectType = (JT809_0x9301_ObjectType)reader.ReadByte();
- value.ObjectID = reader.ReadString(12);
- if (config.Version == JT809Version.JTT2019) {
+ if (config.Version == JT809Version.JTT2019)
+ {
+ value.ObjectType = (JT809_0x9301_ObjectType)reader.ReadByte();
+ value.ObjectID = reader.ReadString(12);
value.AnswerTime = reader.ReadByte();
}
value.InfoID = reader.ReadUInt32();
@@ -79,10 +83,10 @@ namespace JT809.Protocol.SubMessageBody
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9300_0x9301 value, IJT809Config config)
{
- writer.WriteByte((byte)value.ObjectType);
- writer.WriteStringPadRight(value.ObjectID, 12);
if (config.Version == JT809Version.JTT2019)
{
+ writer.WriteByte((byte)value.ObjectType);
+ writer.WriteStringPadRight(value.ObjectID, 12);
writer.WriteByte(value.AnswerTime);
}
writer.WriteUInt32(value.InfoID);