From afb94293d9db6f3204a1a9ffc6f130ce5d08109e Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 24 May 2023 21:10:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=94=E7=94=A8=E5=BC=80=E5=8F=91=E5=A4=9A?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E6=96=B0=E8=B4=AD=E8=AE=A2=E5=8D=95=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tWorkClientExecuteCgibinAgentExtensions.cs | 22 +- ...orkClientExecuteCgibinLicenseExtensions.cs | 330 +++++++++++------- .../CgibinAgentGetPermissionsRequest.cs | 9 + .../CgibinAgentGetPermissionsResponse.cs | 15 + .../Order/CgibinLicenseGetOrderResponse.cs | 3 +- .../CgibinLicenseCreateNewOrderJobRequest.cs | 78 +++++ .../CgibinLicenseCreateNewOrderJobResponse.cs | 49 +++ .../CgibinLicenseGetUnionOrderRequest.cs | 36 ++ .../CgibinLicenseGetUnionOrderResponse.cs | 128 +++++++ .../CgibinLicenseNewOrderJobResultRequest.cs | 22 ++ .../CgibinLicenseNewOrderJobResultResponse.cs | 36 ++ .../CgibinLicenseSubmitNewOrderJobRequest.cs | 29 ++ .../CgibinLicenseSubmitNewOrderJobResponse.cs | 15 + .../WechatWorkResponse.cs | 2 +- .../CgibinAgentGetPermissionsResponse.json | 5 + ...CgibinLicenseCreateNewOrderJobRequest.json | 17 + ...gibinLicenseCreateNewOrderJobResponse.json | 12 + .../CgibinLicenseGetUnionOrderRequest.json | 5 + .../CgibinLicenseGetUnionOrderResponse.json | 28 ++ ...CgibinLicenseNewOrderJobResultRequest.json | 3 + ...gibinLicenseNewOrderJobResultResponse.json | 13 + ...CgibinLicenseSubmitNewOrderJobRequest.json | 4 + ...gibinLicenseSubmitNewOrderJobResponse.json | 5 + 23 files changed, 739 insertions(+), 127 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetPermissionsResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs index cca3367a..6cc40850 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -124,6 +124,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } + /// + /// 异步调用 [POST] /cgi-bin/agent/get_permissions 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/99052 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinAgentGetPermissionsAsync(this WechatWorkClient client, Models.CgibinAgentGetPermissionsRequest 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", "agent", "get_permissions") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + #region Workbench /// /// 异步调用 [POST] /cgi-bin/agent/set_workbench_template 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs index 8c09d070..11739c55 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLicenseExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -9,128 +9,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work { public static class WechatWorkClientExecuteCgibinLicenseExtensions { - #region Order - /// - /// 异步调用 [POST] /cgi-bin/license/create_new_order 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95644 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseCreateNewOrderAsync(this WechatWorkClient client, Models.CgibinLicenseCreateNewOrderRequest 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", "create_new_order") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /cgi-bin/license/create_renew_order_job 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95646 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseCreateRenewOrderJobAsync(this WechatWorkClient client, Models.CgibinLicenseCreateRenewOrderJobRequest 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", "create_renew_order_job") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /cgi-bin/license/list_order 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95647 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseListOrderAsync(this WechatWorkClient client, Models.CgibinLicenseListOrderRequest 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_order") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /cgi-bin/license/get_order 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95648 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseGetOrderAsync(this WechatWorkClient client, Models.CgibinLicenseGetOrderRequest 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_order") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /cgi-bin/license/list_order_account 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/95649 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseListOrderAccountAsync(this WechatWorkClient client, Models.CgibinLicenseListOrderAccountRequest 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_order_account") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /cgi-bin/license/cancel_order 接口。 - /// REF: https://developer.work.weixin.qq.com/document/path/96106 - /// - /// - /// - /// - /// - public static async Task ExecuteCgibinLicenseCancelOrderAsync(this WechatWorkClient client, Models.CgibinLicenseCancelOrderRequest 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", "cancel_order") - .SetQueryParam("provider_access_token", request.ProviderAccessToken); - - return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); - } - #endregion - #region Account /// /// 异步调用 [POST] /cgi-bin/license/active_account 接口。 @@ -318,7 +196,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion - #region App + #region AutoActive /// /// 异步调用 [POST] /cgi-bin/license/set_auto_active_status 接口。 /// REF: https://developer.work.weixin.qq.com/document/path/95873 @@ -360,6 +238,210 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion + #region Order + /// + /// 异步调用 [POST] /cgi-bin/license/create_new_order 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95644 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseCreateNewOrderAsync(this WechatWorkClient client, Models.CgibinLicenseCreateNewOrderRequest 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", "create_new_order") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/create_renew_order_job 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95646 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseCreateRenewOrderJobAsync(this WechatWorkClient client, Models.CgibinLicenseCreateRenewOrderJobRequest 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", "create_renew_order_job") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/list_order 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95647 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseListOrderAsync(this WechatWorkClient client, Models.CgibinLicenseListOrderRequest 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_order") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/get_order 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95648 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseGetOrderAsync(this WechatWorkClient client, Models.CgibinLicenseGetOrderRequest 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_order") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/list_order_account 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95649 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseListOrderAccountAsync(this WechatWorkClient client, Models.CgibinLicenseListOrderAccountRequest 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_order_account") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/cancel_order 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/96106 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseCancelOrderAsync(this WechatWorkClient client, Models.CgibinLicenseCancelOrderRequest 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", "cancel_order") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion + + #region OrderJob + /// + /// 异步调用 [POST] /cgi-bin/license/create_new_order_job 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98892 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseCreateNewOrderJobAsync(this WechatWorkClient client, Models.CgibinLicenseCreateNewOrderJobRequest 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", "create_new_order_job") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/submit_new_order_job 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98892 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseSubmitNewOrderJobAsync(this WechatWorkClient client, Models.CgibinLicenseSubmitNewOrderJobRequest 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", "submit_new_order_job") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/new_order_job_result 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98892 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseNewOrderJobResultAsync(this WechatWorkClient client, Models.CgibinLicenseNewOrderJobResultRequest 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", "new_order_job_result") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/license/get_union_order 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98893 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinLicenseGetUnionOrderAsync(this WechatWorkClient client, Models.CgibinLicenseGetUnionOrderRequest 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_union_order") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion + /// /// 异步调用 [POST] /cgi-bin/license/support_policy_query 接口。 /// REF: https://developer.work.weixin.qq.com/document/path/96515 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsRequest.cs new file mode 100644 index 00000000..002052c1 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/agent/get_permissions 接口的请求。 + /// + public class CgibinAgentGetPermissionsRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsResponse.cs new file mode 100644 index 00000000..24cf59df --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetPermissionsResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/agent/get_permissions 接口的响应。 + /// + public class CgibinAgentGetPermissionsResponse : WechatWorkResponse + { + /// + /// 获取或设置需要添加的权限列表。 + /// + [Newtonsoft.Json.JsonProperty("app_permissions")] + [System.Text.Json.Serialization.JsonPropertyName("app_permissions")] + public string[] AppPermissionList { get; set; } = default!; + } +} 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 c3cf049b..902e6ed8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/Order/CgibinLicenseGetOrderResponse.cs @@ -1,4 +1,4 @@ -namespace SKIT.FlurlHttpClient.Wechat.Work.Models +namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// /// 表示 [POST] /cgi-bin/license/get_order 接口的响应。 @@ -52,6 +52,7 @@ public long? NewExpireTimestamp { get; set; } } } + /// /// 获取或设置订单状态。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.cs new file mode 100644 index 00000000..2e60da84 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.cs @@ -0,0 +1,78 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/create_new_order_job 接口的请求。 + /// + public class CgibinLicenseCreateNewOrderJobRequest : WechatWorkRequest + { + public static class Types + { + public class Buy + { + public static class Types + { + public class AccountCount : CgibinLicenseCreateNewOrderRequest.Types.AccountCount + { + } + + public class AccountDuration : CgibinLicenseCreateNewOrderRequest.Types.AccountDuration + { + } + } + + /// + /// 获取或设置企业 ID。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + + /// + /// 获取或设置账号个数信息。 + /// + [Newtonsoft.Json.JsonProperty("account_count")] + [System.Text.Json.Serialization.JsonPropertyName("account_count")] + public Types.AccountCount AccountCount { get; set; } = new Types.AccountCount(); + + /// + /// 获取或设置账号时长信息。 + /// + [Newtonsoft.Json.JsonProperty("account_duration")] + [System.Text.Json.Serialization.JsonPropertyName("account_duration")] + public Types.AccountDuration AccountDuration { get; set; } = new Types.AccountDuration(); + + /// + /// 获取或设置是否自动激活。 + /// + [Newtonsoft.Json.JsonProperty("auto_active_status")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("auto_active_status")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))] + public bool? IsAutoActive { get; set; } + } + } + + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置多企业新购任务 ID。 + /// + [Newtonsoft.Json.JsonProperty("jobid")] + [System.Text.Json.Serialization.JsonPropertyName("jobid")] + public string? JobId { get; set; } + + /// + /// 获取或设置多企业购买信息列表。 + /// + [Newtonsoft.Json.JsonProperty("buy_list")] + [System.Text.Json.Serialization.JsonPropertyName("buy_list")] + public IList BuyList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.cs new file mode 100644 index 00000000..aaf4f232 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.cs @@ -0,0 +1,49 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/create_new_order_job 接口的响应。 + /// + public class CgibinLicenseCreateNewOrderJobResponse : WechatWorkResponse + { + public static class Types + { + public class FailedCorp + { + /// + /// 获取或设置企业 ID。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = default!; + + /// + /// 获取或设置错误码。 + /// + [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!; + } + } + + /// + /// 获取或设置多企业新购任务 ID。 + /// + [Newtonsoft.Json.JsonProperty("jobid")] + [System.Text.Json.Serialization.JsonPropertyName("jobid")] + public string? JobId { get; set; } + + /// + /// 获取或设置失败企业列表。 + /// + [Newtonsoft.Json.JsonProperty("invalid_list")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_list")] + public Types.FailedCorp[]? FailedCorpList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.cs new file mode 100644 index 00000000..1cf35dcb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_union_order 接口的请求。 + /// + public class CgibinLicenseGetUnionOrderRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { 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/OrderJob/CgibinLicenseGetUnionOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.cs new file mode 100644 index 00000000..f9045306 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.cs @@ -0,0 +1,128 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/get_union_order 接口的响应。 + /// + public class CgibinLicenseGetUnionOrderResponse : WechatWorkResponse + { + public static class Types + { + public class Order + { + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + + /// + /// 获取或设置订单类型。 + /// + [Newtonsoft.Json.JsonProperty("order_type")] + [System.Text.Json.Serialization.JsonPropertyName("order_type")] + public int OrderType { get; set; } + + /// + /// 获取或设置订单状态。 + /// + [Newtonsoft.Json.JsonProperty("order_status")] + [System.Text.Json.Serialization.JsonPropertyName("order_status")] + public int OrderStatus { get; set; } + + /// + /// 获取或设置订单金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("price")] + [System.Text.Json.Serialization.JsonPropertyName("price")] + public int Price { get; set; } + + /// + /// 获取或设置下单时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + + /// + /// 获取或设置支付时间戳。 + /// + [Newtonsoft.Json.JsonProperty("pay_time")] + [System.Text.Json.Serialization.JsonPropertyName("pay_time")] + public long? PayTimestamp { get; set; } + } + + public class Buy + { + public static class Types + { + public class AccountCount : CgibinLicenseGetOrderResponse.Types.Order.Types.AccountCount + { + } + + public class AccountDuration : CgibinLicenseGetOrderResponse.Types.Order.Types.AccountDuration + { + } + } + + /// + /// 获取或设置子订单号。 + /// + [Newtonsoft.Json.JsonProperty("sub_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("sub_order_id")] + public string SubOrderId { get; set; } = default!; + + /// + /// 获取或设置企业 ID。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = default!; + + /// + /// 获取或设置账号个数信息。 + /// + [Newtonsoft.Json.JsonProperty("account_count")] + [System.Text.Json.Serialization.JsonPropertyName("account_count")] + public Types.AccountCount AccountCount { get; set; } = default!; + + /// + /// 获取或设置账号时长信息。 + /// + [Newtonsoft.Json.JsonProperty("account_duration")] + [System.Text.Json.Serialization.JsonPropertyName("account_duration")] + public Types.AccountDuration AccountDuration { get; set; } = default!; + } + } + + /// + /// 获取或设置订单信息。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public Types.Order Order { get; set; } = default!; + + /// + /// 获取或设置多企业购买信息列表。 + /// + [Newtonsoft.Json.JsonProperty("buy_list")] + [System.Text.Json.Serialization.JsonPropertyName("buy_list")] + public Types.Buy[] BuyList { 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/OrderJob/CgibinLicenseNewOrderJobResultRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.cs new file mode 100644 index 00000000..4516bb6a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/new_order_job_result 接口的请求。 + /// + public class CgibinLicenseNewOrderJobResultRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置多企业新购任务 ID。 + /// + [Newtonsoft.Json.JsonProperty("jobid")] + [System.Text.Json.Serialization.JsonPropertyName("jobid")] + public string JobId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.cs new file mode 100644 index 00000000..65840c82 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/new_order_job_result 接口的响应。 + /// + public class CgibinLicenseNewOrderJobResultResponse : WechatWorkResponse + { + public static class Types + { + public class FailedCorp : CgibinLicenseCreateNewOrderJobResponse.Types.FailedCorp + { + } + } + + /// + /// 获取或设置订单创建结果。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string? OrderId { get; set; } + + /// + /// 获取或设置失败企业列表。 + /// + [Newtonsoft.Json.JsonProperty("fail_list")] + [System.Text.Json.Serialization.JsonPropertyName("fail_list")] + public Types.FailedCorp[]? FailedCorpList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.cs new file mode 100644 index 00000000..e5d5fe09 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/submit_new_order_job 接口的请求。 + /// + public class CgibinLicenseSubmitNewOrderJobRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置多企业新购任务 ID。 + /// + [Newtonsoft.Json.JsonProperty("jobid")] + [System.Text.Json.Serialization.JsonPropertyName("jobid")] + public string JobId { get; set; } = string.Empty; + + /// + /// 获取或设置下单人成员账号。 + /// + [Newtonsoft.Json.JsonProperty("buyer_userid")] + [System.Text.Json.Serialization.JsonPropertyName("buyer_userid")] + public string BuyerUserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.cs new file mode 100644 index 00000000..42ad14ba --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/license/submit_new_order_job 接口的响应。 + /// + public class CgibinLicenseSubmitNewOrderJobResponse : WechatWorkResponse + { + /// + /// 获取或设置多企业新购任务 ID。 + /// + [Newtonsoft.Json.JsonProperty("jobid")] + [System.Text.Json.Serialization.JsonPropertyName("jobid")] + public string JobId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkResponse.cs index 1e457fd5..dd04f170 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkResponse.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work { diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetPermissionsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetPermissionsResponse.json new file mode 100644 index 00000000..ecc01181 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetPermissionsResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "app_permissions": [ "xxx::xxx::xx" ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.json new file mode 100644 index 00000000..698572d0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobRequest.json @@ -0,0 +1,17 @@ +{ + "buy_list": [ + { + "corpid": "CORPID", + "account_count": { + "base_count": 100, + "external_contact_count": 100 + }, + "account_duration": { + "months": 2, + "days": 20 + }, + "auto_active_status": 1 + } + ], + "jobid": "JOBID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.json new file mode 100644 index 00000000..ebee5889 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseCreateNewOrderJobResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "jobid": "BUYJOBID", + "invalid_list": [ + { + "corpid": "CORPID", + "errcode": 1, + "errmsg": "xxx" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.json new file mode 100644 index 00000000..239ca81e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderRequest.json @@ -0,0 +1,5 @@ +{ + "order_id": "ORDERID", + "limit": 1000, + "cursor": "CURSOR" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.json new file mode 100644 index 00000000..ad3d44b4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseGetUnionOrderResponse.json @@ -0,0 +1,28 @@ +{ + "errcode": 0, + "errmsg": "ok", + "order": { + "order_id": "ORDERID", + "order_type": 1, + "order_status": 1, + "price": 10000, + "create_time": 150000000, + "pay_time": 1550000000 + }, + "has_more": 1, + "next_cursor": "CURSOR", + "buy_list": [ + { + "sub_order_id": "SUBORDERID", + "corpid": "CORPID", + "account_count": { + "base_count": 100, + "external_contact_count": 100 + }, + "account_duration": { + "months": 2, + "days": 20 + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.json new file mode 100644 index 00000000..93cdca03 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultRequest.json @@ -0,0 +1,3 @@ +{ + "jobid": "BUYJOBID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.json new file mode 100644 index 00000000..eb28729c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseNewOrderJobResultResponse.json @@ -0,0 +1,13 @@ +{ + "errcode": 0, + "errmsg": "ok", + "status": 1, + "order_id": "xxxx", + "fail_list": [ + { + "corpid": "CORPID", + "errcode": 700400, + "errmsg": "xxx" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.json new file mode 100644 index 00000000..eb3351e1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobRequest.json @@ -0,0 +1,4 @@ +{ + "jobid": "BUYJOBID", + "buyer_userid": "xxxx" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.json new file mode 100644 index 00000000..55cef446 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinLicense/OrderJob/CgibinLicenseSubmitNewOrderJobResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "jobid": "BUYJOBID" +}