feat(wxapi): 新增代商家管理小程序开通购物订单产品权限与提交购物订单接入审核接口

This commit is contained in:
Fu Diwei
2022-10-26 23:14:36 +08:00
parent b6861aab89
commit fa15407170
5 changed files with 84 additions and 0 deletions

View File

@@ -113,5 +113,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendRequestWithJsonAsync<Models.UserOrderShoppingInfoVerifyResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#region OrdersPermission
/// <summary>
/// <para>异步调用 [POST] /user-order/orders-permission/open 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/shopping-orders/openShoppingOrderProductPermission.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.UserOrderOrdersPermissionOpenResponse> 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<Models.UserOrderOrdersPermissionOpenResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /user-order/orders-permission/confirm 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/shopping-orders/confirmProductPermission.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.UserOrderOrdersPermissionConfirmResponse> 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<Models.UserOrderOrdersPermissionConfirmResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /user-order/orders-permission/confirm 接口的请求。</para>
/// </summary>
public class UserOrderOrdersPermissionConfirmRequest : WechatApiRequest, IInferable<UserOrderOrdersPermissionConfirmRequest, UserOrderOrdersPermissionConfirmResponse>
{
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /user-order/orders-permission/confirm 接口的响应。</para>
/// </summary>
public class UserOrderOrdersPermissionConfirmResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置最近一次审核的结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("last_result")]
[System.Text.Json.Serialization.JsonPropertyName("last_result")]
public string? LastResult { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /user-order/orders-permission/open 接口的请求。</para>
/// </summary>
public class UserOrderOrdersPermissionOpenRequest : WechatApiRequest, IInferable<UserOrderOrdersPermissionOpenRequest, UserOrderOrdersPermissionOpenResponse>
{
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /user-order/orders-permission/open 接口的响应。</para>
/// </summary>
public class UserOrderOrdersPermissionOpenResponse : WechatApiResponse
{
}
}