From 21a40a0abedb322eb6008d96309d05fc316679a0 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 9 Oct 2023 10:58:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E9=9A=8F=E5=AE=98=E6=96=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BC=81=E4=B8=9A=E7=BE=A4=E5=8F=91=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomerAcquisitionEvent.cs | 45 +++++++++++++++++++ .../Events/Service/CancelSpecialAuthEvent.cs | 27 +++++++++++ ...xternalContactAddMessageTemplateRequest.cs | 37 +++++++++++++++ ...ernalContactAddMessageTemplateRequest.json | 11 +++++ 4 files changed, 120 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Events/CustomerAcquisition/CustomerAcquisitionEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/CancelSpecialAuthEvent.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/CustomerAcquisition/CustomerAcquisitionEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/CustomerAcquisition/CustomerAcquisitionEvent.cs new file mode 100644 index 00000000..f2cfd9f9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/CustomerAcquisition/CustomerAcquisitionEvent.cs @@ -0,0 +1,45 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Events +{ + /// + /// 表示 EVENT.customer_acquisition 事件的数据。 + /// REF: https://developer.work.weixin.qq.com/document/path/97299 + /// + public class CustomerAcquisitionEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable + { + /// + /// 获取或设置变更类型。 + /// + [System.Xml.Serialization.XmlElement("ChangeType")] + public string ChangeType { get; set; } = default!; + + /// + /// 获取或设置获客链接 ID。 + /// + [System.Xml.Serialization.XmlElement("LinkId", IsNullable = true)] + public string? LinkId { get; set; } + + /// + /// 获取或设置企业服务人员的成员账号。 + /// + [System.Xml.Serialization.XmlElement("UserID", IsNullable = true)] + public string? UserId { get; set; } + + /// + /// 获取或设置外部联系人 ID。 + /// + [System.Xml.Serialization.XmlElement("ExternalUserID", IsNullable = true)] + public string? ExternalUserId { get; set; } + + /// + /// 获取或设置过期时间戳戳。 + /// + [System.Xml.Serialization.XmlElement("ExpireTime", IsNullable = true)] + public long? ExpireTimestamp { get; set; } + + /// + /// 获取或设置过期获客额度数。 + /// + [System.Xml.Serialization.XmlElement("ExpireQuotaNum", IsNullable = true)] + public int? ExpireQuota { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/CancelSpecialAuthEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/CancelSpecialAuthEvent.cs new file mode 100644 index 00000000..b40c918e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/CancelSpecialAuthEvent.cs @@ -0,0 +1,27 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Events +{ + /// + /// 表示 INFO.cancel_special_auth 事件的数据。 + /// REF: https://developer.work.weixin.qq.com/document/path/98959 + /// + public class CancelSpecialAuthEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable + { + /// + /// 获取或设置第三方应用的 SuiteId。 + /// + [System.Xml.Serialization.XmlElement("SuiteId")] + public string SuiteId { get; set; } = default!; + + /// + /// 获取或设置授权方的 CorpId。 + /// + [System.Xml.Serialization.XmlElement("AuthCorpId")] + public string AuthorizerCorpId { get; set; } = default!; + + /// + /// 获取或设置权限类型。 + /// + [System.Xml.Serialization.XmlElement("AuthType")] + public string AuthType { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.cs index 72cd0c52..97aaf128 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.cs @@ -9,6 +9,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models { public static class Types { + public class TagFilter + { + public static class Types + { + public class TagFilterGroup + { + /// + /// 获取或设置标签列表。 + /// + [Newtonsoft.Json.JsonProperty("tag_list")] + [System.Text.Json.Serialization.JsonPropertyName("tag_list")] + public IList? TagList { get; set; } + } + } + + /// + /// 获取或设置标签筛选分组列表。 + /// + [Newtonsoft.Json.JsonProperty("group_list")] + [System.Text.Json.Serialization.JsonPropertyName("group_list")] + public IList? GroupList { get; set; } + } + public class Text { /// @@ -181,6 +204,20 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models [System.Text.Json.Serialization.JsonPropertyName("external_userid")] public IList? ExternalUserIdList { get; set; } + /// + /// 获取或设置客户群 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("chat_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("chat_id_list")] + public IList? GroupChatIdList { get; set; } + + /// + /// 获取或设置标签筛选条件。 + /// + [Newtonsoft.Json.JsonProperty("tag_filter")] + [System.Text.Json.Serialization.JsonPropertyName("tag_filter")] + public Types.TagFilter? TagFilter { get; set; } + /// /// 获取或设置发送者成员账号。 /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.json index ac19b5d3..88433816 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/GroupMessage/CgibinExternalContactAddMessageTemplateRequest.json @@ -4,6 +4,17 @@ "woAJ2GCAAAXtWyujaWJHDDGi0mACAAAA", "wmqfasd1e1927831123109rBAAAA" ], + "chat_id_list": [ "wr2GCAAAXtWyujaWJHDDGasdadAAA" ], + "tag_filter": { + "group_list": [ + { + "tag_list": [ "ete19278asuMT123109rBAAAA", "ete19MT12278109UYteaBAAAA" ] + }, + { + "tag_list": [ "eteIlKKHSDfuMT18Kg9rBAAAA" ] + } + ] + }, "sender": "zhangsan", "allow_select": true, "text": {