From 45c8d6d024161c63da0a9f95071ff612a81807e1 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 30 Sep 2021 17:19:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E5=AE=A2?= =?UTF-8?q?=E6=9C=8D=E8=8E=B7=E5=8F=96=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= =?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 --- ...chatWorkClientExecuteCgibinKfExtensions.cs | 41 ++++++++++++ .../CgibinKfGetCorpQualificationRequest.cs | 9 +++ .../CgibinKfGetCorpQualificationResponse.cs | 15 +++++ .../CgibinKfCustomerBatchGetRequest.cs | 17 +++++ .../CgibinKfCustomerBatchGetResponse.cs | 63 +++++++++++++++++++ ...inKfCustomerCancelUpgradeServiceRequest.cs | 0 ...nKfCustomerCancelUpgradeServiceResponse.cs | 0 ...fCustomerGetUpgradeServiceConfigRequest.cs | 0 ...CustomerGetUpgradeServiceConfigResponse.cs | 0 .../CgibinKfCustomerUpgradeServiceRequest.cs | 0 .../CgibinKfCustomerUpgradeServiceResponse.cs | 0 ... CgibinKfGetCorpQualificationRequest.json} | 0 .../CgibinKfGetCorpQualificationResponse.json | 5 ++ .../CgibinKfCustomerBatchGetRequest.json | 6 ++ .../CgibinKfCustomerBatchGetResponse.json | 16 +++++ ...KfCustomerCancelUpgradeServiceRequest.json | 0 ...fCustomerCancelUpgradeServiceResponse.json | 0 ...ustomerGetUpgradeServiceConfigRequest.json | 1 + ...stomerGetUpgradeServiceConfigResponse.json | 0 ...CgibinKfCustomerUpgradeServiceRequest.json | 0 ...gibinKfCustomerUpgradeServiceResponse.json | 0 21 files changed, 173 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerCancelUpgradeServiceRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerCancelUpgradeServiceResponse.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerGetUpgradeServiceConfigRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerGetUpgradeServiceConfigResponse.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerUpgradeServiceRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerUpgradeServiceResponse.cs (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/{Customer/CgibinKfCustomerGetUpgradeServiceConfigRequest.json => CgibinKfGetCorpQualificationRequest.json} (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.json rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerCancelUpgradeServiceRequest.json (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerCancelUpgradeServiceResponse.json (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.json rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerGetUpgradeServiceConfigResponse.json (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerUpgradeServiceRequest.json (100%) rename test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/{ => UpgradeService}/CgibinKfCustomerUpgradeServiceResponse.json (100%) diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs index 446d80e2..47253ced 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs @@ -289,6 +289,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /cgi-bin/kf/customer/batchget 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/95159 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95149 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfCustomerBatchGetAsync(this WechatWorkClient client, Models.CgibinKfCustomerBatchGetRequest 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", "kf", "customer", "batchget") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/kf/get_corp_qualification 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95153 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfGetCorpQualificationAsync(this WechatWorkClient client, Models.CgibinKfGetCorpQualificationRequest 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.Get, "cgi-bin", "kf", "get_corp_qualification") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationRequest.cs new file mode 100644 index 00000000..bf3a324d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/kf/get_corp_qualification 接口的请求。 + /// + public class CgibinKfGetCorpQualificationRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationResponse.cs new file mode 100644 index 00000000..9a1a3cc4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfGetCorpQualificationResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/kf/get_corp_qualification 接口的响应。 + /// + public class CgibinKfGetCorpQualificationResponse : WechatWorkResponse + { + /// + /// 获取或设置是否已绑定视频号。 + /// + [Newtonsoft.Json.JsonProperty("wechat_channels_binding")] + [System.Text.Json.Serialization.JsonPropertyName("wechat_channels_binding")] + public bool IsWechatChannelsBound { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.cs new file mode 100644 index 00000000..1ca48e27 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/customer/batchget 接口的请求。 + /// + public class CgibinKfCustomerBatchGetRequest : WechatWorkRequest + { + /// + /// 获取或设置外部联系人账号列表。 + /// + [Newtonsoft.Json.JsonProperty("external_userid_list")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid_list")] + public IList ExternalUserIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.cs new file mode 100644 index 00000000..f4efb51c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.cs @@ -0,0 +1,63 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/customer/batchget 接口的响应。 + /// + public class CgibinKfCustomerBatchGetResponse : WechatWorkResponse + { + public static class Types + { + public class Customer + { + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string ExternalUserId { get; set; } = default!; + + /// + /// 获取或设置昵称。 + /// + [Newtonsoft.Json.JsonProperty("nickname")] + [System.Text.Json.Serialization.JsonPropertyName("nickname")] + public string Nickname { get; set; } = default!; + + /// + /// 获取或设置头像 URL。 + /// + [Newtonsoft.Json.JsonProperty("avatar")] + [System.Text.Json.Serialization.JsonPropertyName("avatar")] + public string AvatarUrl { get; set; } = default!; + + /// + /// 获取或设置性别。 + /// + [Newtonsoft.Json.JsonProperty("gender")] + [System.Text.Json.Serialization.JsonPropertyName("gender")] + public int Gender { get; set; } + + /// + /// 获取或设置用户 UnionId。 + /// + [Newtonsoft.Json.JsonProperty("unionid")] + [System.Text.Json.Serialization.JsonPropertyName("unionid")] + public string? UnionId { get; set; } + } + } + + /// + /// 获取或设置客户列表。 + /// + [Newtonsoft.Json.JsonProperty("customer_list")] + [System.Text.Json.Serialization.JsonPropertyName("customer_list")] + public Types.Customer[] CustomerLsit { get; set; } = default!; + + /// + /// 获取或设置无效的外部联系人账号列表。 + /// + [Newtonsoft.Json.JsonProperty("invalid_external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_external_userid")] + public string[] InvalidExternalUserIdList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceResponse.cs diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationResponse.json new file mode 100644 index 00000000..302f0b4d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfGetCorpQualificationResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "wechat_channels_binding": true +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.json new file mode 100644 index 00000000..7c815d5f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetRequest.json @@ -0,0 +1,6 @@ +{ + "external_userid_list": [ + "wmxxxxxxxxxxxxxxxxxxxxxx", + "zhangsan" + ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.json new file mode 100644 index 00000000..718aa6b4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerBatchGetResponse.json @@ -0,0 +1,16 @@ +{ + "errcode": 0, + "errmsg": "ok", + "customer_list": [ + { + "external_userid": "wmxxxxxxxxxxxxxxxxxxxxxx", + "nickname": "张三", + "avatar": "http://xxxxx", + "gender": 1, + "unionid": "oxasdaosaosdasdasdasd" + } + ], + "invalid_external_userid": [ + "zhangsan" + ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerCancelUpgradeServiceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerCancelUpgradeServiceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerGetUpgradeServiceConfigResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerGetUpgradeServiceConfigResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/CgibinKfCustomerUpgradeServiceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Customer/UpgradeService/CgibinKfCustomerUpgradeServiceResponse.json