From 88af7f7c95257b7809bcc183bdda5964d660ea32 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Sat, 22 Oct 2022 16:53:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(tenpayv2):=20=E4=BF=AE=E5=A4=8D=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E7=A0=81=E6=94=AF=E4=BB=98=E6=8E=A5=E5=8F=A3=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=A8=A1=E5=9E=8B=E5=8F=82=E6=95=B0=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Boolean/YesOrNoNullableBooleanConverter.cs | 11 +++++++---- .../Boolean/YesOrNoNullableBooleanConverter.cs | 11 +++++++---- .../Models/Pay/CreatePayMicroPayResponse.cs | 18 +++++++++++++++++- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs index f6d23e81..fe6c8f14 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Converters/Internal/Newtonsoft.Json/Boolean/YesOrNoNullableBooleanConverter.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/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; } @@ -30,9 +33,9 @@ namespace Newtonsoft.Json.Converters 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; } @@ -42,7 +45,7 @@ namespace Newtonsoft.Json.Converters 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.TenpayV2/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs index 025aef5b..737afca6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Converters/Internal/System.Text.Json/Boolean/YesOrNoNullableBooleanConverter.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/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(); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Models/Pay/CreatePayMicroPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Models/Pay/CreatePayMicroPayResponse.cs index a1190602..693b3e1c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Models/Pay/CreatePayMicroPayResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Models/Pay/CreatePayMicroPayResponse.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models { @@ -193,6 +193,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoBooleanConverter))] public bool IsSubscribed { get; set; } + /// + /// 获取或设置用户在子商户下的 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + + /// + /// 获取或设置用户是否订阅子商户公众号标识。 + /// + [Newtonsoft.Json.JsonProperty("sub_is_subscribe")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("sub_is_subscribe")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoNullableBooleanConverter))] + public bool? IsSubSubscribed { get; set; } + /// /// 获取或设置交易类型。 ///