From 0ca361f14b7e199ed82fba600ae74fc7c1802690 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 31 Oct 2022 12:34:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E8=87=AA?= =?UTF-8?q?=E5=BB=BA=E5=BA=94=E7=94=A8=E4=BB=A3=E5=BC=80=E5=8F=91=20ID=20?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=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 --- ...tWorkClientExecuteCgibinBatchExtensions.cs | 20 +++++++++ ...tExecuteCgibinExternalContactExtensions.cs | 44 +++++++++++++++++++ ...orkClientExecuteCgibinServiceExtensions.cs | 42 +++++++++--------- .../CgibinBatchUserIdToOpenUserIdRequest.cs | 17 +++++++ .../CgibinBatchUserIdToOpenUserIdResponse.cs | 42 ++++++++++++++++++ ...ernalContactGetNewExternalUserIdRequest.cs | 0 ...rnalContactGetNewExternalUserIdResponse.cs | 0 ...actGroupChatGetNewExternalUserIdRequest.cs | 15 +++++++ ...ctGroupChatGetNewExternalUserIdResponse.cs | 22 ++++++++++ .../CgibinServiceCorpIdToOpenCorpIdRequest.cs | 22 ++++++++++ ...CgibinServiceCorpIdToOpenCorpIdResponse.cs | 15 +++++++ ...actFinishExternalUserIdMigrationRequest.cs | 0 ...ctFinishExternalUserIdMigrationResponse.cs | 0 ...ontactUnionIdToExternalUserId3rdRequest.cs | 0 ...ntactUnionIdToExternalUserId3rdResponse.cs | 0 .../CgibinBatchUserIdToOpenUserIdRequest.json | 3 ++ ...CgibinBatchUserIdToOpenUserIdResponse.json | 11 +++++ ...nalContactGetNewExternalUserIdRequest.json | 0 ...alContactGetNewExternalUserIdResponse.json | 0 ...tGroupChatGetNewExternalUserIdRequest.json | 4 ++ ...GroupChatGetNewExternalUserIdResponse.json | 14 ++++++ ...ibinServiceCorpIdToOpenCorpIdRequest.json} | 0 ...ibinServiceCorpIdToOpenCorpIdResponse.json | 5 +++ ...tFinishExternalUserIdMigrationRequest.json | 3 ++ ...tactUnionIdToExternalUserId3rdRequest.json | 0 ...actUnionIdToExternalUserId3rdResponse.json | 0 26 files changed, 258 insertions(+), 21 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/{CgibinService/ExternalContactMigration => CgibinExternalContact/Migration}/CgibinExternalContactGetNewExternalUserIdRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/{CgibinService/ExternalContactMigration => CgibinExternalContact/Migration}/CgibinExternalContactGetNewExternalUserIdResponse.cs (100%) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.json rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/{CgibinService/ExternalContactMigration => CgibinExternalContact/Migration}/CgibinExternalContactGetNewExternalUserIdRequest.json (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/{CgibinService/ExternalContactMigration => CgibinExternalContact/Migration}/CgibinExternalContactGetNewExternalUserIdResponse.json (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.json rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/{ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json => Migration/CgibinServiceCorpIdToOpenCorpIdRequest.json} (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/{ExternalContactMigration => Migration}/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json (100%) diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinBatchExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinBatchExtensions.cs index 2c85778a..26bbc92a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinBatchExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinBatchExtensions.cs @@ -119,5 +119,25 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /cgi-bin/batch/userid_to_openuserid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95435 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinBatchUserIdToOpenUserIdAsync(this WechatWorkClient client, Models.CgibinBatchUserIdToOpenUserIdRequest 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", "batch", "userid_to_openuserid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs index 8cf1cad5..1b0b4a53 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs @@ -1745,5 +1745,49 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region Migration + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/get_new_external_userid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95327 + /// REF: https://developer.work.weixin.qq.com/document/path/95435 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGetNewExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactGetNewExternalUserIdRequest 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", "get_new_external_userid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/groupchat/get_new_external_userid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95327 + /// REF: https://developer.work.weixin.qq.com/document/path/95435 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGroupChatGetNewExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatGetNewExternalUserIdRequest 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", "groupchat", "get_new_external_userid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs index 0d6bf119..c52cc8d8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs @@ -657,27 +657,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion - #region ExternalContactMigration - /// - /// 异步调用 [POST] /cgi-bin/externalcontact/get_new_external_userid 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95327 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinExternalContactGetNewExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactGetNewExternalUserIdRequest 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", "get_new_external_userid") - .SetQueryParam("access_token", request.AccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - + #region Migration /// /// 异步调用 [POST] /cgi-bin/service/externalcontact/finish_external_userid_migration 接口。 /// REF: https://developer.work.weixin.qq.com/document/path/95327 @@ -717,6 +697,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /cgi-bin/service/corpid_to_opencorpid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95435 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinServiceCorpIdToOpenCorpIdAsync(this WechatWorkClient client, Models.CgibinServiceCorpIdToOpenCorpIdRequest 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", "service", "corpid_to_opencorpid") + .SetQueryParam("access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.cs new file mode 100644 index 00000000..b6c7b256 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/batch/userid_to_openuserid 接口的请求。 + /// + public class CgibinBatchUserIdToOpenUserIdRequest : WechatWorkRequest + { + /// + /// 获取或设置成员 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("userid_list")] + [System.Text.Json.Serialization.JsonPropertyName("userid_list")] + public IList UserIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.cs new file mode 100644 index 00000000..7afa3c3b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/batch/userid_to_openuserid 接口的响应。 + /// + public class CgibinBatchUserIdToOpenUserIdResponse : WechatWorkResponse + { + public static class Types + { + public class User + { + /// + /// 获取或设置转换成功的 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置转换成功的 UserId 对应的服务商主体下的密文。 + /// + [Newtonsoft.Json.JsonProperty("open_userid")] + [System.Text.Json.Serialization.JsonPropertyName("open_userid")] + public string OpenUserId { get; set; } = default!; + } + } + + /// + /// 获取或设置转换成功的成员列表。 + /// + [Newtonsoft.Json.JsonProperty("open_userid_list")] + [System.Text.Json.Serialization.JsonPropertyName("open_userid_list")] + public Types.User[] UserList { get; set; } = default!; + + /// + /// 获取或设置无效的成员 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("invalid_userid_list")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_userid_list")] + public string[] InvalidUserIdList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.cs new file mode 100644 index 00000000..4bcc55b4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/groupchat/get_new_external_userid 接口的请求。 + /// + public class CgibinExternalContactGroupChatGetNewExternalUserIdRequest : CgibinExternalContactGetNewExternalUserIdRequest + { + /// + /// 获取或设置客户群 ID。 + /// + [Newtonsoft.Json.JsonProperty("chat_id")] + [System.Text.Json.Serialization.JsonPropertyName("chat_id")] + public string GroupChatId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.cs new file mode 100644 index 00000000..16917671 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/groupchat/get_new_external_userid 接口的响应。 + /// + public class CgibinExternalContactGroupChatGetNewExternalUserIdResponse : WechatWorkResponse + { + public static class Types + { + public class Result : CgibinExternalContactGetNewExternalUserIdResponse.Types.Result + { + } + } + + /// + /// 获取或设置转换结果列表。 + /// + [Newtonsoft.Json.JsonProperty("items")] + [System.Text.Json.Serialization.JsonPropertyName("items")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.cs new file mode 100644 index 00000000..86f51b8f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/corpid_to_opencorpid 接口的请求。 + /// + public class CgibinServiceCorpIdToOpenCorpIdRequest : 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; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.cs new file mode 100644 index 00000000..a6cf64af --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/corpid_to_opencorpid 接口的响应。 + /// + public class CgibinServiceCorpIdToOpenCorpIdResponse : WechatWorkResponse + { + /// + /// 获取或设置服务商第主体下的密文 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("open_corpid")] + [System.Text.Json.Serialization.JsonPropertyName("open_corpid")] + public string OpenCorpId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.json new file mode 100644 index 00000000..834c2802 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdRequest.json @@ -0,0 +1,3 @@ +{ + "userid_list": ["aaa", "bbb"] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.json new file mode 100644 index 00000000..c1d39d5b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinBatch/CgibinBatchUserIdToOpenUserIdResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "", + "open_userid_list": [ + { + "userid": "aaa", + "open_userid": "xxxxx" + } + ], + "invalid_userid_list": ["bbb"] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGetNewExternalUserIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.json new file mode 100644 index 00000000..beacd564 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdRequest.json @@ -0,0 +1,4 @@ +{ + "chat_id": "wrOgQhDgAAMYQiS5ol9G7gK9JVAAAA", + "external_userid_list": ["xxxxx", "yyyyyy"] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.json new file mode 100644 index 00000000..56a04fe2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinExternalContact/Migration/CgibinExternalContactGroupChatGetNewExternalUserIdResponse.json @@ -0,0 +1,14 @@ +{ + "errcode": 0, + "errmsg": "ok", + "items": [ + { + "external_userid": "xxxxx", + "new_external_userid": "AAAA" + }, + { + "external_userid": "yyyyy", + "new_external_userid": "BBBB" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.json new file mode 100644 index 00000000..638e845b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceCorpIdToOpenCorpIdResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "open_corpid": "AAAAAA" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json new file mode 100644 index 00000000..9a53a5a8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json @@ -0,0 +1,3 @@ +{ + "corpid": "xxxxx" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/Migration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json