From dfdf4130911d6d705f48baf08f45f2bfc2f5b5ff Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 7 Nov 2022 22:33:36 +0800 Subject: [PATCH] refactor(tenpayv3) --- .../YesOrNoNullableBooleanConverter.cs | 23 +++++++++++-------- .../YesOrNoNullableBooleanConverter.cs | 11 +++++---- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs index 7be9f420..fe6c8f14 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs @@ -1,9 +1,12 @@ -using System; +using System; namespace Newtonsoft.Json.Converters { internal class YesOrNoNullableBooleanConverter : JsonConverter { + private const string CHAR_YES = "Y"; + private const string CHAR_NO = "N"; + public override bool CanRead { get { return true; } @@ -14,35 +17,35 @@ namespace Newtonsoft.Json.Converters get { return true; } } - public override bool? ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, bool? existingValue, bool hasExistingValue, Newtonsoft.Json.JsonSerializer serializer) + public override bool? ReadJson(JsonReader reader, Type objectType, bool? existingValue, bool hasExistingValue, JsonSerializer serializer) { - if (reader.TokenType == Newtonsoft.Json.JsonToken.Null) + if (reader.TokenType == JsonToken.Null) { return existingValue; } - else if (reader.TokenType == Newtonsoft.Json.JsonToken.Boolean) + else if (reader.TokenType == JsonToken.Boolean) { return serializer.Deserialize(reader); } - else if (reader.TokenType == Newtonsoft.Json.JsonToken.String) + else if (reader.TokenType == JsonToken.String) { string? value = serializer.Deserialize(reader); if (value == null) return existingValue; - if ("Y".Equals(value)) + if (CHAR_YES.Equals(value)) return true; - else if ("N".Equals(value)) + else if (CHAR_NO.Equals(value)) return false; } - throw new Newtonsoft.Json.JsonReaderException(); + throw new JsonReaderException(); } - public override void WriteJson(Newtonsoft.Json.JsonWriter writer, bool? value, Newtonsoft.Json.JsonSerializer serializer) + public override void WriteJson(JsonWriter writer, bool? value, JsonSerializer serializer) { if (value.HasValue) - writer.WriteValue(value.Value ? "Y" : "N"); + writer.WriteValue(value.Value ? CHAR_YES : CHAR_NO); else writer.WriteNull(); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs index 1060d326..71598e4d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs @@ -1,9 +1,12 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; namespace System.Text.Json.Converters { internal class YesOrNoNullableBooleanConverter : JsonConverter { + private const string CHAR_YES = "Y"; + private const string CHAR_NO = "N"; + public override bool? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.Null) @@ -24,9 +27,9 @@ namespace System.Text.Json.Converters if (value == null) return null; - if ("Y".Equals(value)) + if (CHAR_YES.Equals(value)) return true; - else if ("N".Equals(value)) + else if (CHAR_NO.Equals(value)) return false; } @@ -36,7 +39,7 @@ namespace System.Text.Json.Converters public override void Write(Utf8JsonWriter writer, bool? value, JsonSerializerOptions options) { if (value.HasValue) - writer.WriteStringValue(value.Value ? "Y" : "N"); + writer.WriteStringValue(value.Value ? CHAR_YES : CHAR_NO); else writer.WriteNullValue(); }