refactor(tenpayv3)

This commit is contained in:
Fu Diwei
2024-05-06 21:21:08 +08:00
parent da4897fa02
commit 4b5cf1cd4d
9 changed files with 70 additions and 18 deletions

View File

@@ -30,7 +30,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "app");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionAppResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionAppResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -81,7 +81,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "jsapi");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionJsapiResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionJsapiResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -106,7 +106,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "native");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreatePartnerTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>

View File

@@ -30,7 +30,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "app");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateTransactionAppResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreateTransactionAppResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -55,7 +55,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "mweb");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateTransactionMWebResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreateTransactionMWebResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -81,7 +81,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "jsapi");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateTransactionJsapiResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreateTransactionJsapiResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -106,7 +106,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Post, "transactions", "native");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
return await ((WechatTenpayClient)client).SendFlurlRequestAsJsonAsync<Models.CreateTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>

View File

@@ -6,7 +6,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models
/// <para>表示 [GET] /certificates 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class QueryCertificatesResponse : _ROOT_.Models.QueryCertificatesResponse
public class QueryCertificatesResponse : WechatTenpayGlobalResponse
{
public static class Types
{
public class Certificate : _ROOT_.Models.QueryCertificatesResponse.Types.Certificate
{
}
}
/// <summary>
/// 获取或设置微信服务器证书列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Certificate[] CertificateList { get; set; } = default!;
}
}

View File

@@ -1,11 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models
{
using _ROOT_ = SKIT.FlurlHttpClient.Wechat.TenpayV3;
/// <summary>
/// <para>表示 [POST] /transactions/out-trade-no/{out_trade_no}/close 接口的响应。</para>
/// </summary>
public class CloseTransactionResponse : _ROOT_.Models.ClosePayTransactionResponse
public class CloseTransactionResponse : WechatTenpayGlobalResponse
{
}
}

View File

@@ -3,7 +3,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models
/// <summary>
/// <para>表示 [POST] /transactions/out-trade-no/{out_trade_no}/reverse 接口的响应。</para>
/// </summary>
public class ReverseTransactionResponse : CloseTransactionResponse
public class ReverseTransactionResponse : WechatTenpayGlobalResponse
{
}
}

View File

@@ -1,11 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models
{
using _ROOT_ = SKIT.FlurlHttpClient.Wechat.TenpayV3;
/// <summary>
/// <para>表示 [POST] /transactions/out-trade-no/{out_trade_no}/close 接口的响应。</para>
/// </summary>
public class ClosePartnerTransactionResponse : _ROOT_.Models.ClosePayPartnerTransactionResponse
public class ClosePartnerTransactionResponse : WechatTenpayGlobalResponse
{
}
}

View File

@@ -3,7 +3,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models
/// <summary>
/// <para>表示 [POST] /transactions/out-trade-no/{out_trade_no}/reverse 接口的响应。</para>
/// </summary>
public class ReversePartnerTransactionResponse : ClosePartnerTransactionResponse
public class ReversePartnerTransactionResponse : WechatTenpayGlobalResponse
{
}
}

View File

@@ -1,5 +1,8 @@
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Flurl.Http;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
{
@@ -54,5 +57,45 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global
FlurlClient.BaseUrl = options.Endpoint ?? WechatTenpayGlobalEndpoints.DEFAULT;
}
/// <summary>
/// 使用当前客户端生成一个新的 <see cref="IFlurlRequest"/> 对象。
/// </summary>
/// <param name="request"></param>
/// <param name="httpMethod"></param>
/// <param name="urlSegments"></param>
/// <returns></returns>
public IFlurlRequest CreateFlurlRequest(WechatTenpayGlobalRequest request, HttpMethod httpMethod, params object[] urlSegments)
{
return base.CreateFlurlRequest(request, httpMethod, urlSegments);
}
/// <summary>
/// 异步发起请求。
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="flurlRequest"></param>
/// <param name="httpContent"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public new Task<T> SendFlurlRequestAsync<T>(IFlurlRequest flurlRequest, HttpContent? httpContent = null, CancellationToken cancellationToken = default)
where T : WechatTenpayGlobalResponse, new()
{
return base.SendFlurlRequestAsync<T>(flurlRequest, httpContent, cancellationToken);
}
/// <summary>
/// 异步发起请求。
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="flurlRequest"></param>
/// <param name="data"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public new Task<T> SendFlurlRequestAsJsonAsync<T>(IFlurlRequest flurlRequest, object? data = null, CancellationToken cancellationToken = default)
where T : WechatTenpayGlobalResponse, new()
{
return base.SendFlurlRequestAsJsonAsync<T>(flurlRequest, data, cancellationToken);
}
}
}

View File

@@ -1,9 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /pay/partner/transactions/out-trade-no/{out_trade_no}/close 接口的响应。</para>
/// </summary>
public class ClosePayPartnerTransactionResponse : ClosePayTransactionResponse
public class ClosePayPartnerTransactionResponse : WechatTenpayResponse
{
}
}