From 3844ef377a520a57e690c62293235c39463139b3 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 19 Aug 2021 19:11:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E6=9C=8B=E5=8F=8B=E5=9C=88=E8=A7=84=E5=88=99=E7=BB=84?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tExecuteCgibinExternalContactExtensions.cs | 122 ++++++++++++++++++ ...ernalContactMomentStrategyCreateRequest.cs | 90 +++++++++++++ ...rnalContactMomentStrategyCreateResponse.cs | 18 +++ ...ernalContactMomentStrategyDeleteRequest.cs | 18 +++ ...rnalContactMomentStrategyDeleteResponse.cs | 12 ++ ...xternalContactMomentStrategyEditRequest.cs | 64 +++++++++ ...ternalContactMomentStrategyEditResponse.cs | 12 ++ ...nalContactMomentStrategyGetRangeRequest.cs | 32 +++++ ...alContactMomentStrategyGetRangeResponse.cs | 52 ++++++++ ...ExternalContactMomentStrategyGetRequest.cs | 18 +++ ...xternalContactMomentStrategyGetResponse.cs | 86 ++++++++++++ ...xternalContactMomentStrategyListRequest.cs | 25 ++++ ...ternalContactMomentStrategyListResponse.cs | 38 ++++++ 13 files changed, 587 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs index 616d7133..f9012371 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs @@ -1247,5 +1247,127 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region CustomerStrategy + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/list 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94890 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyListAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyListRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/get 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyGetAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyGetRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/get_range 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94890 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyGetRangeAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyGetRangeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "get_range") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/create 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94890 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyCreateAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyCreateRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "create") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/edit 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyEditAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyEditRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "edit") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/moment_strategy/del 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactMomentStrategyDeleteAsync(this WechatWorkClient client, Models.CgibinExternalContactMomentStrategyDeleteRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "moment_strategy", "del") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateRequest.cs new file mode 100644 index 00000000..fef59627 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateRequest.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/create 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyCreateRequest : WechatWorkRequest + { + public static class Types + { + public class Privilege + { + /// + /// 获取或设置是否可以查看成员的全部客户朋友圈发表。 + /// + [Newtonsoft.Json.JsonProperty("view_moment_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_moment_list")] + public bool? EnableViewMomentList { get; set; } + + /// + /// 获取或设置是否可以发表客户朋友圈。 + /// + [Newtonsoft.Json.JsonProperty("send_moment")] + [System.Text.Json.Serialization.JsonPropertyName("send_moment")] + public bool? EnableSendMoment { get; set; } + } + + public class Range + { + /// + /// 获取或设置节点类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置管理范围内配置的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置管理范围内配置的部门 UserId。 + /// + [Newtonsoft.Json.JsonProperty("partyid")] + [System.Text.Json.Serialization.JsonPropertyName("partyid")] + public int? DepartmentId { get; set; } + } + } + + /// + /// 获取或设置父规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("parent_id")] + [System.Text.Json.Serialization.JsonPropertyName("parent_id")] + public int? ParentStrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public IList AdminUserIdList { get; set; } = new List(); + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege Privilege { get; set; } = new Types.Privilege(); + + /// + /// 获取或设置规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range")] + [System.Text.Json.Serialization.JsonPropertyName("range")] + public IList RangeList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateResponse.cs new file mode 100644 index 00000000..1dced4b3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyCreateResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/create 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyCreateResponse : WechatWorkResponse + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteRequest.cs new file mode 100644 index 00000000..77acaf55 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/del 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyDeleteRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteResponse.cs new file mode 100644 index 00000000..c99906ea --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyDeleteResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/del 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyDeleteResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditRequest.cs new file mode 100644 index 00000000..c5aeec0c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditRequest.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/edit 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyEditRequest : WechatWorkRequest + { + public static class Types + { + public class Privilege : CgibinExternalContactMomentStrategyCreateRequest.Types.Privilege + { + } + + public class Range : CgibinExternalContactMomentStrategyCreateRequest.Types.Range + { + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string? Name { get; set; } + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public IList? AdminUserIdList { get; set; } + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege? Privilege { get; set; } + + /// + /// 获取或设置要添加的规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range_add")] + [System.Text.Json.Serialization.JsonPropertyName("range_add")] + public IList? AddRangeList { get; set; } + + /// + /// 获取或设置要删除的规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range_del")] + [System.Text.Json.Serialization.JsonPropertyName("range_del")] + public IList? DeleteRangeList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditResponse.cs new file mode 100644 index 00000000..78874826 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyEditResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/edit 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyEditResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeRequest.cs new file mode 100644 index 00000000..0afd2b10 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/get_range 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyGetRangeRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeResponse.cs new file mode 100644 index 00000000..db6ce90c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRangeResponse.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/get_range 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyGetRangeResponse : WechatWorkResponse + { + public static class Types + { + public class Range + { + /// + /// 获取或设置节点类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置管理范围内配置的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置管理范围内配置的部门 UserId。 + /// + [Newtonsoft.Json.JsonProperty("partyid")] + [System.Text.Json.Serialization.JsonPropertyName("partyid")] + public int? DepartmentId { get; set; } + } + } + + /// + /// 获取或设置规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range")] + [System.Text.Json.Serialization.JsonPropertyName("range")] + public Types.Range[] RangeList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRequest.cs new file mode 100644 index 00000000..e29eb802 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/get 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyGetRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetResponse.cs new file mode 100644 index 00000000..679149b4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyGetResponse.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/get 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyGetResponse : WechatWorkResponse + { + public static class Types + { + public class Strategy + { + public static class Types + { + public class Privilege + { + /// + /// 获取或设置是否可以查看成员的全部客户朋友圈发表。 + /// + [Newtonsoft.Json.JsonProperty("view_moment_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_moment_list")] + public bool EnableViewMomentList { get; set; } + + /// + /// 获取或设置是否可以成员发表客户朋友圈。 + /// + [Newtonsoft.Json.JsonProperty("send_moment")] + [System.Text.Json.Serialization.JsonPropertyName("send_moment")] + public bool EnableSendMoment { get; set; } + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置父规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("parent_id")] + [System.Text.Json.Serialization.JsonPropertyName("parent_id")] + public int ParentStrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public string[] AdminUserIdList { get; set; } = default!; + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege Privilege { get; set; } = default!; + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + } + } + + /// + /// 获取或设置规则组信息。 + /// + [Newtonsoft.Json.JsonProperty("strategy")] + [System.Text.Json.Serialization.JsonPropertyName("strategy")] + public Types.Strategy Strategy { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListRequest.cs new file mode 100644 index 00000000..82274e5c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/list 接口的请求。 + /// + public class CgibinExternalContactMomentStrategyListRequest : WechatWorkRequest + { + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListResponse.cs new file mode 100644 index 00000000..eea6e4df --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/MomentStrategy/CgibinExternalContactMomentStrategyListResponse.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/moment_strategy/list 接口的响应。 + /// + public class CgibinExternalContactMomentStrategyListResponse : WechatWorkResponse + { + public static class Types + { + public class Strategy + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } + } + + /// + /// 获取或设置规则组列表。 + /// + [Newtonsoft.Json.JsonProperty("strategy")] + [System.Text.Json.Serialization.JsonPropertyName("strategy")] + public Types.Strategy[] StrategyList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +}