From ba7464454fac79980d509e6c80b066c38ac853bf Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 31 Oct 2022 14:35:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E7=94=A8=E8=AE=B8=E5=8F=AF=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=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 --- .../License/LicenseAutoActivateEvent.cs | 2 +- ...orkClientExecuteCgibinLicenseExtensions.cs | 162 ++++++++++++++++++ .../CgibinKfGetCorpStatisticRequest.cs | 2 +- .../CgibinKfGetServicerStatisticRequest.cs | 2 +- .../CgibinKf/CgibinKfSyncMessageResponse.cs | 2 +- .../CgibinLicenseActiveAccountRequest.cs | 36 ++++ .../CgibinLicenseActiveAccountResponse.cs | 9 + .../CgibinLicenseBatchActiveAccountRequest.cs | 51 ++++++ ...CgibinLicenseBatchActiveAccountResponse.cs | 42 +++++ ...nLicenseBatchGetActiveInfoByCodeRequest.cs | 31 ++++ ...LicenseBatchGetActiveInfoByCodeResponse.cs | 29 ++++ ...gibinLicenseBatchShareActiveCodeRequest.cs | 51 ++++++ ...ibinLicenseBatchShareActiveCodeResponse.cs | 42 +++++ ...gibinLicenseBatchTransferLicenseRequest.cs | 51 ++++++ ...ibinLicenseBatchTransferLicenseResponse.cs | 42 +++++ ...CgibinLicenseGetActiveInfoByCodeRequest.cs | 29 ++++ ...gibinLicenseGetActiveInfoByCodeResponse.cs | 121 +++++++++++++ ...CgibinLicenseGetActiveInfoByUserRequest.cs | 29 ++++ ...gibinLicenseGetActiveInfoByUserResponse.cs | 35 ++++ .../CgibinLicenseListActivedAccountRequest.cs | 36 ++++ ...CgibinLicenseListActivedAccountResponse.cs | 65 +++++++ .../CgibinLicenseCreateNewOrderRequest.cs | 4 +- ...CgibinLicenseCreateRenewOrderJobRequest.cs | 4 +- ...gibinLicenseCreateRenewOrderJobResponse.cs | 4 +- .../Order/CgibinLicenseGetOrderResponse.cs | 4 +- .../CgibinLicenseListOrderAccountResponse.cs | 4 +- .../CgibinLicenseActiveAccountRequest.json | 5 + ...gibinLicenseBatchActiveAccountRequest.json | 13 ++ ...ibinLicenseBatchActiveAccountResponse.json | 16 ++ ...icenseBatchGetActiveInfoByCodeRequest.json | 4 + ...censeBatchGetActiveInfoByCodeResponse.json | 41 +++++ ...binLicenseBatchShareActiveCodeRequest.json | 12 ++ ...inLicenseBatchShareActiveCodeResponse.json | 11 ++ ...binLicenseBatchTransferLicenseRequest.json | 13 ++ ...inLicenseBatchTransferLicenseResponse.json | 11 ++ ...ibinLicenseGetActiveInfoByCodeRequest.json | 4 + ...binLicenseGetActiveInfoByCodeResponse.json | 21 +++ ...ibinLicenseGetActiveInfoByUserRequest.json | 4 + ...binLicenseGetActiveInfoByUserResponse.json | 21 +++ ...gibinLicenseListActivedAccountRequest.json | 5 + ...ibinLicenseListActivedAccountResponse.json | 20 +++ 41 files changed, 1076 insertions(+), 14 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/License/LicenseAutoActivateEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/License/LicenseAutoActivateEvent.cs index 1a7875ec..d0c5fa5b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/License/LicenseAutoActivateEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/License/LicenseAutoActivateEvent.cs @@ -67,7 +67,7 @@ public int Scene { get; set; } /// - /// 获取或设置激活的许可帐号列表。 + /// 获取或设置激活的许可账号列表。 /// [System.Xml.Serialization.XmlElement("AccountList", Type = typeof(Types.Account))] public Types.Account[] AccountList { get; set; } = default!; diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs index 93cbbc0d..8c09d070 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs @@ -131,6 +131,168 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion + #region Account + /// + /// 异步调用 [POST] /cgi-bin/license/active_account 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95553 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseActiveAccountAsync(this WechatWorkClient client, Models.CgibinLicenseActiveAccountRequest 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", "license", "active_account") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/batch_active_account 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95553 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseBatchActiveAccountAsync(this WechatWorkClient client, Models.CgibinLicenseBatchActiveAccountRequest 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", "license", "batch_active_account") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/get_active_info_by_code 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95552 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseGetActiveInfoByCodeAsync(this WechatWorkClient client, Models.CgibinLicenseGetActiveInfoByCodeRequest 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", "license", "get_active_info_by_code") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/batch_get_active_info_by_code 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95552 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseBatchGetActiveInfoByCodeAsync(this WechatWorkClient client, Models.CgibinLicenseBatchGetActiveInfoByCodeRequest 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", "license", "batch_get_active_info_by_code") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/list_actived_account 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95544 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseListActivedAccountAsync(this WechatWorkClient client, Models.CgibinLicenseListActivedAccountRequest 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", "license", "list_actived_account") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/get_active_info_by_user 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95555 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseGetActiveInfoByUserAsync(this WechatWorkClient client, Models.CgibinLicenseGetActiveInfoByUserRequest 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", "license", "get_active_info_by_user") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/batch_transfer_license 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95673 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseBatchTransferLicenseAsync(this WechatWorkClient client, Models.CgibinLicenseBatchTransferLicenseRequest 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", "license", "batch_transfer_license") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/batch_share_active_code 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/96059 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseBatchShareActiveCodeAsync(this WechatWorkClient client, Models.CgibinLicenseBatchShareActiveCodeRequest 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", "license", "batch_share_active_code") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion + #region App /// /// 异步调用 [POST] /cgi-bin/license/get_app_license_info 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpStatisticRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpStatisticRequest.cs index 95c700b1..f2190781 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpStatisticRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpStatisticRequest.cs @@ -6,7 +6,7 @@ public class CgibinKfGetCorpStatisticRequest : WechatWorkRequest { /// - /// 获取或设置客服帐号 ID。 + /// 获取或设置客服账号 ID。 /// [Newtonsoft.Json.JsonProperty("open_kfid")] [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetServicerStatisticRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetServicerStatisticRequest.cs index 3a357bfb..d61989e8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetServicerStatisticRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetServicerStatisticRequest.cs @@ -6,7 +6,7 @@ public class CgibinKfGetServicerStatisticRequest : WechatWorkRequest { /// - /// 获取或设置客服帐号 ID。 + /// 获取或设置客服账号 ID。 /// [Newtonsoft.Json.JsonProperty("open_kfid")] [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs index fde872d8..966734f2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs @@ -214,7 +214,7 @@ public int MessageOrigin { get; set; } /// - /// 获取或设置客服帐号 ID。 + /// 获取或设置客服账号 ID。 /// [Newtonsoft.Json.JsonProperty("open_kfid")] [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.cs new file mode 100644 index 00000000..8275edd2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/active_account 接口的请求。 + /// + public class CgibinLicenseActiveAccountRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = string.Empty; + + /// + /// 获取或设置待绑定激活的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountResponse.cs new file mode 100644 index 00000000..d24b83c3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseActiveAccountResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/active_account 接口的响应。 + /// + public class CgibinLicenseActiveAccountResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.cs new file mode 100644 index 00000000..df729d90 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_active_account 接口的请求。 + /// + public class CgibinLicenseBatchActiveAccountRequest : WechatWorkRequest + { + public static class Types + { + public class Account + { + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = string.Empty; + + /// + /// 获取或设置待绑定激活的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置激活账号列表。 + /// + [Newtonsoft.Json.JsonProperty("active_list")] + [System.Text.Json.Serialization.JsonPropertyName("active_list")] + public IList AccountList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.cs new file mode 100644 index 00000000..079e0837 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_active_account 接口的响应。 + /// + public class CgibinLicenseBatchActiveAccountResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = string.Empty; + + /// + /// 获取或设置待绑定激活的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置激活结果列表。 + /// + [Newtonsoft.Json.JsonProperty("active_result")] + [System.Text.Json.Serialization.JsonPropertyName("active_result")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.cs new file mode 100644 index 00000000..c7545775 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_get_active_info_by_code 接口的请求。 + /// + public class CgibinLicenseBatchGetActiveInfoByCodeRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置账号激活码列表。 + /// + [Newtonsoft.Json.JsonProperty("active_code_list")] + [System.Text.Json.Serialization.JsonPropertyName("active_code_list")] + public IList ActiveCodeList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.cs new file mode 100644 index 00000000..eea58f76 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_get_active_info_by_code 接口的响应。 + /// + public class CgibinLicenseBatchGetActiveInfoByCodeResponse : WechatWorkResponse + { + public static class Types + { + public class ActiveInfo : CgibinLicenseGetActiveInfoByCodeResponse.Types.ActiveInfo + { + } + } + + /// + /// 获取或设置账号激活列表。 + /// + [Newtonsoft.Json.JsonProperty("active_info_list")] + [System.Text.Json.Serialization.JsonPropertyName("active_info_list")] + public Types.ActiveInfo[] ActiveList { get; set; } = default!; + + /// + /// 获取或设置无效的激活码列表。 + /// + [Newtonsoft.Json.JsonProperty("invalid_active_code_list")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_active_code_list")] + public string[] InvalidActiveCodeList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.cs new file mode 100644 index 00000000..72c03e2b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_share_active_code 接口的请求。 + /// + public class CgibinLicenseBatchShareActiveCodeRequest : WechatWorkRequest + { + public static class Types + { + public class Share + { + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置上游企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("from_corpid")] + [System.Text.Json.Serialization.JsonPropertyName("from_corpid")] + public string FromCorpId { get; set; } = string.Empty; + + /// + /// 获取或设置下游企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("to_corpid")] + [System.Text.Json.Serialization.JsonPropertyName("to_corpid")] + public string ToCorpId { get; set; } = string.Empty; + + /// + /// 获取或设置转移列表。 + /// + [Newtonsoft.Json.JsonProperty("share_list")] + [System.Text.Json.Serialization.JsonPropertyName("share_list")] + public IList ShareList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.cs new file mode 100644 index 00000000..ffe22f75 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_share_active_code 接口的响应。 + /// + public class CgibinLicenseBatchShareActiveCodeResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置错误描述。 + /// + [Newtonsoft.Json.JsonProperty("errmsg")] + [System.Text.Json.Serialization.JsonPropertyName("errmsg")] + public string ErrorMessage { get; set; } = default!; + + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = default!; + } + } + + /// + /// 获取或设置结果列表。 + /// + [Newtonsoft.Json.JsonProperty("share_result")] + [System.Text.Json.Serialization.JsonPropertyName("share_result")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.cs new file mode 100644 index 00000000..767d198b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_transfer_license 接口的请求。 + /// + public class CgibinLicenseBatchTransferLicenseRequest : WechatWorkRequest + { + public static class Types + { + public class Transfer + { + /// + /// 获取或设置转移成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("handover_userid")] + [System.Text.Json.Serialization.JsonPropertyName("handover_userid")] + public string HandoverUserId { get; set; } = string.Empty; + + /// + /// 获取或设置接收成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("takeover_userid")] + [System.Text.Json.Serialization.JsonPropertyName("takeover_userid")] + public string TakeoverUserId { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置转移列表。 + /// + [Newtonsoft.Json.JsonProperty("transfer_list")] + [System.Text.Json.Serialization.JsonPropertyName("transfer_list")] + public IList TransferList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.cs new file mode 100644 index 00000000..251af6b2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/batch_transfer_license 接口的响应。 + /// + public class CgibinLicenseBatchTransferLicenseResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置转移成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("handover_userid")] + [System.Text.Json.Serialization.JsonPropertyName("handover_userid")] + public string HandoverUserId { get; set; } = default!; + + /// + /// 获取或设置接收成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("takeover_userid")] + [System.Text.Json.Serialization.JsonPropertyName("takeover_userid")] + public string TakeoverUserId { get; set; } = default!; + } + } + + /// + /// 获取或设置结果列表。 + /// + [Newtonsoft.Json.JsonProperty("transfer_result")] + [System.Text.Json.Serialization.JsonPropertyName("transfer_result")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.cs new file mode 100644 index 00000000..cac9eee4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_active_info_by_code 接口的请求。 + /// + public class CgibinLicenseGetActiveInfoByCodeRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.cs new file mode 100644 index 00000000..b0791f0b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.cs @@ -0,0 +1,121 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_active_info_by_code 接口的响应。 + /// + public class CgibinLicenseGetActiveInfoByCodeResponse : WechatWorkResponse + { + public static class Types + { + public class ActiveInfo + { + public static class Types + { + public class MergeInfo + { + /// + /// 获取或设置新激活码。 + /// + [Newtonsoft.Json.JsonProperty("to_active_code")] + [System.Text.Json.Serialization.JsonPropertyName("to_active_code")] + public string ToActiveCode { get; set; } = default!; + + /// + /// 获取或设置原激活码。 + /// + [Newtonsoft.Json.JsonProperty("from_active_code")] + [System.Text.Json.Serialization.JsonPropertyName("from_active_code")] + public string FromActiveCode { get; set; } = default!; + } + + public class ShareInfo + { + /// + /// 获取或设置新企业 ID。 + /// + [Newtonsoft.Json.JsonProperty("to_corpid")] + [System.Text.Json.Serialization.JsonPropertyName("to_corpid")] + public string ToCorpId { get; set; } = default!; + + /// + /// 获取或设置原企业 ID。 + /// + [Newtonsoft.Json.JsonProperty("from_corpid")] + [System.Text.Json.Serialization.JsonPropertyName("from_corpid")] + public string FromCorpId { get; set; } = default!; + } + } + + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = default!; + + /// + /// 获取或设置账号类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置账号状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + + /// + /// 获取或设置激活的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + + /// + /// 获取或设置激活时间戳。 + /// + [Newtonsoft.Json.JsonProperty("active_time")] + [System.Text.Json.Serialization.JsonPropertyName("active_time")] + public long? ActiveTimestamp { get; set; } + + /// + /// 获取或设置过期时间戳。 + /// + [Newtonsoft.Json.JsonProperty("expire_time")] + [System.Text.Json.Serialization.JsonPropertyName("expire_time")] + public long? ExpireTimestamp { get; set; } + + /// + /// 获取或设置合并信息。 + /// + [Newtonsoft.Json.JsonProperty("merge_info")] + [System.Text.Json.Serialization.JsonPropertyName("merge_info")] + public Types.MergeInfo? MergeInfo { get; set; } + + /// + /// 获取或设置分享信息。 + /// + [Newtonsoft.Json.JsonProperty("share_info")] + [System.Text.Json.Serialization.JsonPropertyName("share_info")] + public Types.ShareInfo? ShareInfo { get; set; } + } + } + + /// + /// 获取或设置账号激活信息。 + /// + [Newtonsoft.Json.JsonProperty("active_info")] + [System.Text.Json.Serialization.JsonPropertyName("active_info")] + public Types.ActiveInfo ActiveInfo { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.cs new file mode 100644 index 00000000..660aae79 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_active_info_by_user 接口的请求。 + /// + public class CgibinLicenseGetActiveInfoByUserRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.cs new file mode 100644 index 00000000..c629b79a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_active_info_by_user 接口的响应。 + /// + public class CgibinLicenseGetActiveInfoByUserResponse : WechatWorkResponse + { + public static class Types + { + public class Account : CgibinLicenseListActivedAccountResponse.Types.Account + { + /// + /// 获取或设置账号激活码。 + /// + [Newtonsoft.Json.JsonProperty("active_code")] + [System.Text.Json.Serialization.JsonPropertyName("active_code")] + public string ActiveCode { get; set; } = default!; + } + } + + /// + /// 获取或设置激活状态。 + /// + [Newtonsoft.Json.JsonProperty("active_status")] + [System.Text.Json.Serialization.JsonPropertyName("active_status")] + public int ActiveStatus { get; set; } + + /// + /// 获取或设置账号列表。 + /// + [Newtonsoft.Json.JsonProperty("active_info_list")] + [System.Text.Json.Serialization.JsonPropertyName("active_info_list")] + public Types.Account[] AccountList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.cs new file mode 100644 index 00000000..5a1c7cb3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/list_actived_account 接口的请求。 + /// + public class CgibinLicenseListActivedAccountRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置分页游标。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? Cursor { 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/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.cs new file mode 100644 index 00000000..61fc232a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.cs @@ -0,0 +1,65 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/list_actived_account 接口的响应。 + /// + public class CgibinLicenseListActivedAccountResponse : WechatWorkResponse + { + public static class Types + { + public class Account + { + /// + /// 获取或设置成员的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置账号类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置激活时间戳。 + /// + [Newtonsoft.Json.JsonProperty("active_time")] + [System.Text.Json.Serialization.JsonPropertyName("active_time")] + public long ActiveTimestamp { get; set; } + + /// + /// 获取或设置过期时间戳。 + /// + [Newtonsoft.Json.JsonProperty("expire_time")] + [System.Text.Json.Serialization.JsonPropertyName("expire_time")] + public long ExpireTimestamp { get; set; } + } + } + + /// + /// 获取或设置已激活成员列表。 + /// + [Newtonsoft.Json.JsonProperty("account_list")] + [System.Text.Json.Serialization.JsonPropertyName("account_list")] + public Types.Account[] AccountList { get; set; } = default!; + + /// + /// 获取或设置是否还有更多数据。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool HasMore { get; set; } + + /// + /// 获取或设置分页游标。 + /// + [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/CgibinLicense/Order/CgibinLicenseCreateNewOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateNewOrderRequest.cs index a9b160bf..6e23fb05 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateNewOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateNewOrderRequest.cs @@ -10,14 +10,14 @@ public class AccountCount { /// - /// 获取或设置基础帐号个数。 + /// 获取或设置基础账号个数。 /// [Newtonsoft.Json.JsonProperty("base_count")] [System.Text.Json.Serialization.JsonPropertyName("base_count")] public int? BaseCount { get; set; } /// - /// 获取或设置互通帐号个数。 + /// 获取或设置互通账号个数。 /// [Newtonsoft.Json.JsonProperty("external_contact_count")] [System.Text.Json.Serialization.JsonPropertyName("external_contact_count")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobRequest.cs index 87799df7..dfbfdd14 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobRequest.cs @@ -19,7 +19,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string UserId { get; set; } = string.Empty; /// - /// 获取或设置续期帐号类型。 + /// 获取或设置续期账号类型。 /// [Newtonsoft.Json.JsonProperty("type")] [System.Text.Json.Serialization.JsonPropertyName("type")] @@ -49,7 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? JobId { get; set; } /// - /// 获取或设置续期的帐号列表。 + /// 获取或设置续期的账号列表。 /// [Newtonsoft.Json.JsonProperty("account_list")] [System.Text.Json.Serialization.JsonPropertyName("account_list")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobResponse.cs index 360581e7..888a4fe1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseCreateRenewOrderJobResponse.cs @@ -31,7 +31,7 @@ public string UserId { get; set; } = default!; /// - /// 获取或设置续期帐号类型。 + /// 获取或设置续期账号类型。 /// [Newtonsoft.Json.JsonProperty("type")] [System.Text.Json.Serialization.JsonPropertyName("type")] @@ -47,7 +47,7 @@ public string JobId { get; set; } = default!; /// - /// 获取或设置无效的帐号列表。 + /// 获取或设置无效的账号列表。 /// [Newtonsoft.Json.JsonProperty("invalid_account_list")] [System.Text.Json.Serialization.JsonPropertyName("invalid_account_list")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs index b63affb0..c3cf049b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs @@ -14,14 +14,14 @@ public class AccountCount { /// - /// 获取或设置基础帐号个数。 + /// 获取或设置基础账号个数。 /// [Newtonsoft.Json.JsonProperty("base_count")] [System.Text.Json.Serialization.JsonPropertyName("base_count")] public int BaseCount { get; set; } /// - /// 获取或设置互通帐号个数。 + /// 获取或设置互通账号个数。 /// [Newtonsoft.Json.JsonProperty("external_contact_count")] [System.Text.Json.Serialization.JsonPropertyName("external_contact_count")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseListOrderAccountResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseListOrderAccountResponse.cs index 5ce13511..7e8bbcff 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseListOrderAccountResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseListOrderAccountResponse.cs @@ -10,7 +10,7 @@ public class Account { /// - /// 获取或设置帐号激活码。 + /// 获取或设置账号激活码。 /// [Newtonsoft.Json.JsonProperty("active_code")] [System.Text.Json.Serialization.JsonPropertyName("active_code")] @@ -24,7 +24,7 @@ public string? UserId { get; set; } /// - /// 获取或设置帐号类型。 + /// 获取或设置账号类型。 /// [Newtonsoft.Json.JsonProperty("type")] [System.Text.Json.Serialization.JsonPropertyName("type")] diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.json new file mode 100644 index 00000000..ce41b38b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseActiveAccountRequest.json @@ -0,0 +1,5 @@ +{ + "active_code": "XXXXXXXX", + "corpid": "CORPID", + "userid": "USERID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.json new file mode 100644 index 00000000..74562ace --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountRequest.json @@ -0,0 +1,13 @@ +{ + "corpid": "CORPID", + "active_list": [ + { + "active_code": "XXXXXXXX", + "userid": "USERID" + }, + { + "active_code": "XXXXXXXX", + "userid": "USERID" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.json new file mode 100644 index 00000000..855a30d8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchActiveAccountResponse.json @@ -0,0 +1,16 @@ +{ + "errcode": 0, + "errmsg": "ok", + "active_result": [ + { + "active_code": "XXXXXXXX", + "userid": "USERID", + "errcode": 0 + }, + { + "active_code": "XXXXXXXX", + "userid": "USERID", + "errcode": 0 + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.json new file mode 100644 index 00000000..c0b05050 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeRequest.json @@ -0,0 +1,4 @@ +{ + "corpid": "xxx", + "active_code_list": ["XXXXXXXX", "YYYYYYYY", "ZZZZZZZZ"] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.json new file mode 100644 index 00000000..23c52290 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchGetActiveInfoByCodeResponse.json @@ -0,0 +1,41 @@ +{ + "errcode": 0, + "errmsg": "ok", + "active_info_list": [ + { + "active_code": "XXXXXXXX", + "type": 1, + "status": 1, + "userid": "USERID1", + "create_time": 1640966400, + "active_time": 1640966400, + "expire_time": 1640966400, + "merge_info": { + "to_active_code": "code_new", + "from_active_code": "code_old" + }, + "share_info": { + "to_corpid": "CORPID", + "from_corpid": "CORPID" + } + }, + { + "active_code": "YYYYYYYY", + "type": 2, + "status": 1, + "userid": "USERID2", + "create_time": 1640966400, + "active_time": 1640966400, + "expire_time": 1640966400, + "merge_info": { + "to_active_code": "code_new", + "from_active_code": "code_old" + }, + "share_info": { + "to_corpid": "CORPID", + "from_corpid": "CORPID" + } + } + ], + "invalid_active_code_list": ["ZZZZZZZZ"] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.json new file mode 100644 index 00000000..e1490581 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeRequest.json @@ -0,0 +1,12 @@ +{ + "from_corpid": "FROMCORPID", + "to_corpid": "ToCORPID", + "share_list": [ + { + "active_code": "ACTIVE_CODE" + }, + { + "active_code": "ACTIVE_CODE" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.json new file mode 100644 index 00000000..9d072234 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchShareActiveCodeResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "share_result": [ + { + "active_code": "ACTIVE_CODE", + "errcode": 0, + "errmsg": "ok" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.json new file mode 100644 index 00000000..1b334afa --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseRequest.json @@ -0,0 +1,13 @@ +{ + "corpid": "CORPID", + "transfer_list": [ + { + "handover_userid": "USERID", + "takeover_userid": "USERID" + }, + { + "handover_userid": "USERID", + "takeover_userid": "USERID" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.json new file mode 100644 index 00000000..d8f83a3f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseBatchTransferLicenseResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "transfer_result": [ + { + "handover_userid": "USERID", + "takeover_userid": "USERID", + "errcode": 0 + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.json new file mode 100644 index 00000000..5d0ed929 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeRequest.json @@ -0,0 +1,4 @@ +{ + "corpid": "xxx", + "active_code": "XXXXXXXX" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.json new file mode 100644 index 00000000..1dc944ca --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByCodeResponse.json @@ -0,0 +1,21 @@ +{ + "errcode": 0, + "errmsg": "ok", + "active_info": { + "active_code": "code1", + "type": 1, + "status": 1, + "userid": "USERID", + "create_time": 1640966400, + "active_time": 1640966400, + "expire_time": 1640966400, + "merge_info": { + "to_active_code": "code_new", + "from_active_code": "code_old" + }, + "share_info": { + "to_corpid": "CORPID", + "from_corpid": "CORPID" + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.json new file mode 100644 index 00000000..c3c4af6c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserRequest.json @@ -0,0 +1,4 @@ +{ + "corpid": "CORPID", + "userid": "USERID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.json new file mode 100644 index 00000000..41474fed --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseGetActiveInfoByUserResponse.json @@ -0,0 +1,21 @@ +{ + "errcode": 0, + "errmsg": "ok", + "active_status": 1, + "active_info_list": [ + { + "active_code": "code1", + "type": 1, + "userid": "USERID", + "active_time": 1640966400, + "expire_time": 1640966400 + }, + { + "active_code": "code1", + "type": 2, + "userid": "USERID", + "active_time": 1640966400, + "expire_time": 1640966400 + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.json new file mode 100644 index 00000000..7b211ad0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountRequest.json @@ -0,0 +1,5 @@ +{ + "corpid": "CORPID", + "limit": 500, + "cursor": "xxxx" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.json new file mode 100644 index 00000000..f95a2262 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/Account/CgibinLicenseListActivedAccountResponse.json @@ -0,0 +1,20 @@ +{ + "errcode": 0, + "errmsg": "ok", + "next_cursor": "xxx", + "has_more": 1, + "account_list": [ + { + "userid": "user1", + "type": 1, + "expire_time": 1500000000, + "active_time": 1500000000 + }, + { + "userid": "user2", + "type": 1, + "expire_time": 1500000000, + "active_time": 1500000000 + } + ] +}