From fa15407170f724ae1ddda4a3d4873eb68583aa30 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 26 Oct 2022 23:14:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(wxapi):=20=E6=96=B0=E5=A2=9E=E4=BB=A3?= =?UTF-8?q?=E5=95=86=E5=AE=B6=E7=AE=A1=E7=90=86=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=BC=80=E9=80=9A=E8=B4=AD=E7=89=A9=E8=AE=A2=E5=8D=95=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E6=9D=83=E9=99=90=E4=B8=8E=E6=8F=90=E4=BA=A4=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=AE=A2=E5=8D=95=E6=8E=A5=E5=85=A5=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...chatApiClientExecuteUserOrderExtensions.cs | 42 +++++++++++++++++++ ...UserOrderOrdersPermissionConfirmRequest.cs | 9 ++++ ...serOrderOrdersPermissionConfirmResponse.cs | 15 +++++++ .../UserOrderOrdersPermissionOpenRequest.cs | 9 ++++ .../UserOrderOrdersPermissionOpenResponse.cs | 9 ++++ 5 files changed, 84 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUserOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUserOrderExtensions.cs index 1a9ee99a..669aa5b6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUserOrderExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUserOrderExtensions.cs @@ -113,5 +113,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + #region OrdersPermission + /// + /// 异步调用 [POST] /user-order/orders-permission/open 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/shopping-orders/openShoppingOrderProductPermission.html + /// + /// + /// + /// + /// + public static async Task ExecuteUserOrderOrdersPermissionOpenAsync(this WechatApiClient client, Models.UserOrderOrdersPermissionOpenRequest 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, "user-order", "orders-permission", "open") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /user-order/orders-permission/confirm 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/shopping-orders/confirmProductPermission.html + /// + /// + /// + /// + /// + public static async Task ExecuteUserOrderOrdersPermissionConfirmAsync(this WechatApiClient client, Models.UserOrderOrdersPermissionConfirmRequest 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, "user-order", "orders-permission", "confirm") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmRequest.cs new file mode 100644 index 00000000..2dbe2339 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /user-order/orders-permission/confirm 接口的请求。 + /// + public class UserOrderOrdersPermissionConfirmRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmResponse.cs new file mode 100644 index 00000000..b71ef104 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionConfirmResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /user-order/orders-permission/confirm 接口的响应。 + /// + public class UserOrderOrdersPermissionConfirmResponse : WechatApiResponse + { + /// + /// 获取或设置最近一次审核的结果。 + /// + [Newtonsoft.Json.JsonProperty("last_result")] + [System.Text.Json.Serialization.JsonPropertyName("last_result")] + public string? LastResult { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenRequest.cs new file mode 100644 index 00000000..8f95baac --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /user-order/orders-permission/open 接口的请求。 + /// + public class UserOrderOrdersPermissionOpenRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenResponse.cs new file mode 100644 index 00000000..54103f60 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/OrdersPermission/UserOrderOrdersPermissionOpenResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /user-order/orders-permission/open 接口的响应。 + /// + public class UserOrderOrdersPermissionOpenResponse : WechatApiResponse + { + } +}