From 496fcf1e1feae551c3ccf536cf8350a5863e6a3b Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 12 Oct 2022 21:19:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(wxapi):=20=E4=BF=AE=E5=A4=8D=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E6=B6=88=E6=81=AF=E4=BA=8B=E4=BB=B6=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=9C=A8=20JSON=20=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SubscribeMessageChangeEvent.cs | 37 +++++++++++++++++-- .../SubscribeMessagePopupEvent.cs | 37 +++++++++++++++++-- .../SubscribeMessageSentEvent.cs | 37 +++++++++++++++++-- .../SubscribeMessageChangeEvent.json | 13 +++++++ .../SubscribeMessagePopupEvent.json | 14 +++++++ .../SubscribeMessageSentEvent.json | 15 ++++++++ 6 files changed, 141 insertions(+), 12 deletions(-) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageChangeEvent.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessagePopupEvent.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageSentEvent.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs index ed1b4eff..03de8c5d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs @@ -35,19 +35,48 @@ /// /// 获取或设置用户管理订阅通知数据列表。 /// - [Newtonsoft.Json.JsonProperty("List")] - [System.Text.Json.Serialization.JsonPropertyName("List")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("List", typeof(Types.EventItem))] public Types.EventItem[] EventList { get; set; } = default!; } } + private readonly object _lockObj = new object(); + /// /// 获取或设置事件数据。 /// - [Newtonsoft.Json.JsonProperty("SubscribeMsgChangeEvent")] - [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgChangeEvent")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("SubscribeMsgChangeEvent")] public Types.EventData EventData { get; set; } = default!; + + /// + /// 获取或设置用户管理订阅通知数据列表。 + /// 等效于 + /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] + [System.Xml.Serialization.XmlIgnore] + public Types.EventData.Types.EventItem[]? EventDataList + { + get { return this.EventData?.EventList; } + set + { + if (this.EventData == null) + { + lock (_lockObj) + { + if (this.EventData == null) + { + this.EventData = new Types.EventData(); + } + } + } + + this.EventData.EventList = value!; + } + } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs index 593bfa32..b8a66a4c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs @@ -43,19 +43,48 @@ /// /// 获取或设置用户订阅通知弹窗数据列表。 /// - [Newtonsoft.Json.JsonProperty("List")] - [System.Text.Json.Serialization.JsonPropertyName("List")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("List", typeof(Types.EventItem))] public Types.EventItem[] EventList { get; set; } = default!; } } + private readonly object _lockObj = new object(); + /// /// 获取或设置事件数据。 /// - [Newtonsoft.Json.JsonProperty("SubscribeMsgPopupEvent")] - [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgPopupEvent")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("SubscribeMsgPopupEvent")] public Types.EventData EventData { get; set; } = default!; + + /// + /// 获取或设置用户订阅通知弹窗数据列表。 + /// 等效于 + /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] + [System.Xml.Serialization.XmlIgnore] + public Types.EventData.Types.EventItem[]? EventDataList + { + get { return this.EventData?.EventList; } + set + { + if (this.EventData == null) + { + lock (_lockObj) + { + if (this.EventData == null) + { + this.EventData = new Types.EventData(); + } + } + } + + this.EventData.EventList = value!; + } + } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs index 487876e7..05945bb9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs @@ -51,19 +51,48 @@ /// /// 获取或设置发送订阅通知数据列表。 /// - [Newtonsoft.Json.JsonProperty("List")] - [System.Text.Json.Serialization.JsonPropertyName("List")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("List", typeof(Types.EventItem))] public Types.EventItem[] EventList { get; set; } = default!; } } + private readonly object _lockObj = new object(); + /// /// 获取或设置事件数据。 /// - [Newtonsoft.Json.JsonProperty("SubscribeMsgSentEvent")] - [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgSentEvent")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] [System.Xml.Serialization.XmlElement("SubscribeMsgSentEvent")] public Types.EventData EventData { get; set; } = default!; + + /// + /// 获取或设置发送订阅通知数据列表。 + /// 等效于 + /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] + [System.Xml.Serialization.XmlIgnore] + public Types.EventData.Types.EventItem[]? EventDataList + { + get { return this.EventData?.EventList; } + set + { + if (this.EventData == null) + { + lock (_lockObj) + { + if (this.EventData == null) + { + this.EventData = new Types.EventData(); + } + } + } + + this.EventData.EventList = value!; + } + } } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageChangeEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageChangeEvent.json new file mode 100644 index 00000000..8edc4d62 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageChangeEvent.json @@ -0,0 +1,13 @@ +{ + "ToUserName": "gh_123456789abc", + "FromUserName": "o7esq5OI1Uej6Xixw1lA2H7XDVbc", + "CreateTime": "1610968440", + "MsgType": "event", + "Event": "subscribe_msg_change_event", + "List": [ + { + "TemplateId": "BEwX0BOT3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8", + "SubscribeStatusString": "reject" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessagePopupEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessagePopupEvent.json new file mode 100644 index 00000000..3ab6d23c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessagePopupEvent.json @@ -0,0 +1,14 @@ +{ + "ToUserName": "gh_123456789abc", + "FromUserName": "o7esq5OI1Uej6Xixw1lA2H7XDVbc", + "CreateTime": "1620973045", + "MsgType": "event", + "Event": "subscribe_msg_popup_event", + "List": [ + { + "TemplateId": "hD-ixGOhYmUfjOnI8MCzQMPshzGVeux_2vzyvQu7O68", + "SubscribeStatusString": "accept", + "PopupScene": "0" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageSentEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageSentEvent.json new file mode 100644 index 00000000..ef62be52 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/MpSubscribeMessage/SubscribeMessageSentEvent.json @@ -0,0 +1,15 @@ +{ + "ToUserName": "gh_123456789abc", + "FromUserName": "o7esq5PHRGBQYmeNyfG064wEFVpQ", + "CreateTime": "1620963428", + "MsgType": "event", + "Event": "subscribe_msg_sent_event", + "List": [ + { + "TemplateId": "BEwX0BO-T3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8", + "MsgID": "1864323726461255680", + "ErrorCode": "0", + "ErrorStatus": "success" + } + ] +}