From 795f6b180f4f6c67224d0e4d0b34ebd0e82c9dde Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 10 Nov 2021 13:19:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(work):=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=9B=9E=E8=B0=83=E9=80=9A=E7=9F=A5=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=AD=97=E6=AE=B5=E7=BC=BA=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Approval/SystemApprovalChangeEvent.cs | 10 ++++----- .../Events/Contact/ChangeContactEvent.cs | 8 ++++++- .../Events/Device/AddDeviceEvent.cs | 12 ++++++++++ .../Events/Device/ConnectInfoEvent.cs | 12 ++++++++++ .../Events/Device/DeleteDeviceEvent.cs | 12 ++++++++++ .../Events/Device/DeviceFeatureChangeEvent.cs | 6 +++++ .../Events/Device/DisconnectInfoEvent.cs | 12 ++++++++++ .../Events/Device/ErrorReportEvent.cs | 18 +++++++++++++++ .../Events/Device/FetchLogFinishEvent.cs | 12 ++++++++++ .../Events/Device/RemarkDeviceNameEvent.cs | 12 ++++++++++ .../ChangeExternalChatEvent.cs | 6 +++++ .../Events/Push/TemplateCardPushEvent.cs | 22 ++++++++++++++----- .../Events/Reply/NewsMessageReply.cs | 2 +- .../Device/DisconnectInfoEvent.xml | 1 - .../Push/TaskCardClickPushEvent.xml | 4 ++-- 15 files changed, 134 insertions(+), 15 deletions(-) diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Approval/SystemApprovalChangeEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Approval/SystemApprovalChangeEvent.cs index ee649a1b..93ee6fd1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Approval/SystemApprovalChangeEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Approval/SystemApprovalChangeEvent.cs @@ -86,7 +86,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置审批意见附件 MediaId 列表。 /// - [System.Xml.Serialization.XmlElement("Attach", Type = typeof(string), IsNullable = true)] + [System.Xml.Serialization.XmlArrayItem("Attach", Type = typeof(string), IsNullable = true)] public string[]? SpeechMediaIdList { get; set; } } } @@ -145,7 +145,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置评论内容附件 MediaId 列表。 /// - [System.Xml.Serialization.XmlElement("Attach", Type = typeof(string))] + [System.Xml.Serialization.XmlArrayItem("Attach", Type = typeof(string))] public string[] MediaIdList { get; set; } = default!; /// @@ -201,19 +201,19 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置抄送人列表。 /// - [System.Xml.Serialization.XmlElement("Notifyer", Type = typeof(Types.Notifier))] + [System.Xml.Serialization.XmlArrayItem("Notifyer", Type = typeof(Types.Notifier))] public Types.Notifier[]? NotifyerList { get; set; } /// /// 获取或设置审批流程列表。 /// - [System.Xml.Serialization.XmlElement("SpRecord", Type = typeof(Types.Record))] + [System.Xml.Serialization.XmlArrayItem("SpRecord", Type = typeof(Types.Record))] public Types.Record[] RecordList { get; set; } = default!; /// /// 获取或设置评论列表。 /// - [System.Xml.Serialization.XmlElement("Comments", Type = typeof(Types.Comment))] + [System.Xml.Serialization.XmlArrayItem("Comments", Type = typeof(Types.Comment))] public Types.Comment[] CommentList { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Contact/ChangeContactEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Contact/ChangeContactEvent.cs index dab1b95f..19ba9b2a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Contact/ChangeContactEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Contact/ChangeContactEvent.cs @@ -84,7 +84,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置自定义字段列表。 /// - [System.Xml.Serialization.XmlElement("Item", Type = typeof(Types.Attribute))] + [System.Xml.Serialization.XmlArrayItem("Item", Type = typeof(Types.Attribute))] public Types.Attribute[] AttributeList { get; set; } = default!; } } @@ -119,6 +119,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("UserID", IsNullable = true)] public string? UserId { get; set; } + /// + /// 获取或设置新的用户成员账号。 + /// + [System.Xml.Serialization.XmlElement("NewUserID", IsNullable = true)] + public string? NewUserId { get; set; } + /// /// 获取或设置用户成员别名。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/AddDeviceEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/AddDeviceEvent.cs index 6c6033d4..7d0ec3b0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/AddDeviceEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/AddDeviceEvent.cs @@ -15,6 +15,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置设备型号 ID。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ConnectInfoEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ConnectInfoEvent.cs index c56bd3ee..ac481659 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ConnectInfoEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ConnectInfoEvent.cs @@ -15,6 +15,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置设备成功连接企业微信后台时的时间戳。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeleteDeviceEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeleteDeviceEvent.cs index 37443926..904447c6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeleteDeviceEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeleteDeviceEvent.cs @@ -14,5 +14,17 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeviceFeatureChangeEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeviceFeatureChangeEvent.cs index 62d2a46d..0cde5b53 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeviceFeatureChangeEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DeviceFeatureChangeEvent.cs @@ -15,6 +15,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + /// /// 获取或设置设备序列号。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DisconnectInfoEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DisconnectInfoEvent.cs index 717bd770..29bd2b5b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DisconnectInfoEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/DisconnectInfoEvent.cs @@ -15,6 +15,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置设备与企业微信后台网络连接断开时的时间戳。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ErrorReportEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ErrorReportEvent.cs index 25ef75b5..eff5725c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ErrorReportEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/ErrorReportEvent.cs @@ -9,6 +9,24 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// public class ErrorReportEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable { + /// + /// 获取或设置服务商 CorpId。 + /// + [System.Xml.Serialization.XmlElement("ServiceCorpId")] + public string ServiceCorpId { get; set; } = default!; + + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置设备上报的错误码。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/FetchLogFinishEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/FetchLogFinishEvent.cs index d2264cc1..5248ea6d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/FetchLogFinishEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/FetchLogFinishEvent.cs @@ -15,6 +15,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置日志文件的 MediaId。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/RemarkDeviceNameEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/RemarkDeviceNameEvent.cs index 4484f966..b165ec68 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/RemarkDeviceNameEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Device/RemarkDeviceNameEvent.cs @@ -15,6 +15,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events [System.Xml.Serialization.XmlElement("ServiceCorpId")] public string ServiceCorpId { get; set; } = default!; + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)] + public string? AuthorizerCorpId { get; set; } + + /// + /// 获取或设置设备序列号。 + /// + [System.Xml.Serialization.XmlElement("DeviceSn")] + public string DeviceSerialNumber { get; set; } = default!; + /// /// 获取或设置设备备注名称。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/ExternalContact/ChangeExternalChatEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/ExternalContact/ChangeExternalChatEvent.cs index c4d330f8..c9133ea3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/ExternalContact/ChangeExternalChatEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/ExternalContact/ChangeExternalChatEvent.cs @@ -51,5 +51,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// [System.Xml.Serialization.XmlElement("QuitScene", IsNullable = true)] public int? QuitScene { get; set; } + + /// + /// 获取或设置成员变更数量。 + /// + [System.Xml.Serialization.XmlElement("MemChangeCnt", IsNullable = true)] + public int? MemberChangedCount { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Push/TemplateCardPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Push/TemplateCardPushEvent.cs index 3c6efa6e..108bd7c0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Push/TemplateCardPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Push/TemplateCardPushEvent.cs @@ -14,6 +14,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events { public class SelectItem { + public static class Types + { + public class OptionIdList + { + /// + /// 获取或设置选项列表。 + /// + [System.Xml.Serialization.XmlArrayItem("OpitonId", Type = typeof(string))] + public string[] Items { get; set; } = default!; + } + } + /// /// 获取或设置问题的 Key 值。 /// @@ -23,8 +35,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置选项 ID 列表。 /// - [System.Xml.Serialization.XmlElement("OpitonIds", Type = typeof(string))] - public string[] OptionIdList { get; set; } = default!; + [System.Xml.Serialization.XmlElement("OpitonIds")] + public Types.OptionIdList OptionIdList { get; set; } = default!; } public class SelectList @@ -32,7 +44,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置下拉框列表。 /// - [System.Xml.Serialization.XmlElement("SelectedItem", Type = typeof(SelectItem))] + [System.Xml.Serialization.XmlArrayItem("SelectedItem", Type = typeof(SelectItem))] public SelectItem[]? Items { get; set; } = default!; } } @@ -70,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置下拉框列表。 /// - [System.Xml.Serialization.XmlElement("SelectList")] - public Types.SelectList? SelectList { get; set; } = default!; + [System.Xml.Serialization.XmlElement("SelectedItems")] + public Types.SelectList SelectList { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Reply/NewsMessageReply.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Reply/NewsMessageReply.cs index 78fa8364..ea40f102 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Reply/NewsMessageReply.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Reply/NewsMessageReply.cs @@ -45,7 +45,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events /// /// 获取或设置图文列表。 /// - [System.Xml.Serialization.XmlElement("item", Type = typeof(ArticleItem))] + [System.Xml.Serialization.XmlArrayItem("item", Type = typeof(ArticleItem))] public ArticleItem[] Items { get; set; } = new ArticleItem[0]; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Device/DisconnectInfoEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Device/DisconnectInfoEvent.xml index 9870936f..b8ae632a 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Device/DisconnectInfoEvent.xml +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Device/DisconnectInfoEvent.xml @@ -4,7 +4,6 @@ 1548074765 - 1352460633 1452460633 1 \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Push/TaskCardClickPushEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Push/TaskCardClickPushEvent.xml index 55a4fbae..cd2f063a 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Push/TaskCardClickPushEvent.xml +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Push/TaskCardClickPushEvent.xml @@ -5,6 +5,6 @@ - - 1 + + 1