From b14e9dab48de0d615be0b99c484da2b24881ea0d Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Sun, 11 Jul 2021 00:55:41 +0800 Subject: [PATCH] refactor(tenpayv3) --- .../FlurlHttpRequestOptionsExtensions.cs | 27 -------- ...entExecuteApplyForSubMerchantExtensions.cs | 21 +++--- ...yClientExecuteApplyForSubjectExtensions.cs | 24 +++---- ...WechatTenpayClientExecuteBillExtensions.cs | 15 ++--- ...ientExecuteBrandProfitSharingExtensions.cs | 40 +++++------ ...ayClientExecuteBusinessCircleExtensions.cs | 8 +-- ...npayClientExecuteCertificatesExtensions.cs | 5 +- ...ientExecuteCombineTransactionExtensions.cs | 20 ++---- ...npayClientExecuteDiscountCardExtensions.cs | 14 ++-- ...entExecuteEcommerceApplymentsExtensions.cs | 13 ++-- ...payClientExecuteEcommerceBillExtensions.cs | 5 +- ...ntExecuteEcommerceFundBalanceExtensions.cs | 10 ++- ...tExecuteEcommerceFundWithdrawExtensions.cs | 14 ++-- ...ExecuteEcommerceProfitSharingExtensions.cs | 41 ++++++------ ...ClientExecuteEcommerceRefundsExtensions.cs | 23 +++---- ...ientExecuteEcommerceSubsidiesExtensions.cs | 9 +-- ...atTenpayClientExecuteGoldPlanExtensions.cs | 15 ++--- ...ientExecuteMarketingBusifavorExtensions.cs | 64 +++++++----------- ...ayClientExecuteMarketingFavorExtensions.cs | 66 +++++++++---------- ...ayClientExecuteMarketingMediaExtensions.cs | 26 +++----- ...tExecuteMarketingPartnershipsExtensions.cs | 11 ++-- ...ecuteMarketingPayGiftActivityExtensions.cs | 32 ++++----- ...entExecuteMerchantFundBalanceExtensions.cs | 10 ++- ...ntExecuteMerchantFundWithdrawExtensions.cs | 18 ++--- ...payClientExecuteMerchantMediaExtensions.cs | 63 +++++------------- ...yClientExecuteMerchantServiceExtensions.cs | 61 +++++++---------- ...ExecutePayPartnerTransactionsExtensions.cs | 25 +++---- ...utePayScorePartnerPermissionsExtensions.cs | 19 ++---- ...tePayScorePartnerServiceOrderExtensions.cs | 28 +++----- ...entExecutePayScorePermissionsExtensions.cs | 19 ++---- ...ntExecutePayScoreServiceOrderExtensions.cs | 31 ++++----- ...yClientExecutePayTransactionsExtensions.cs | 25 +++---- ...payClientExecuteProfitSharingExtensions.cs | 35 ++++------ ...chatTenpayClientExecuteRefundExtensions.cs | 8 +-- ...TenpayClientExecuteSmartGuideExtensions.cs | 14 ++-- .../WechatTenpaySignInterceptor.cs | 2 +- .../CreateEcommerceApplymentRequest.cs | 2 +- .../Internal/FileNameToContentTypeMapper.cs | 57 ++++++++++++++++ .../WechatTenpayClient.cs | 37 +++++++++-- .../WechatTenpayClientOptions.cs | 2 +- 40 files changed, 404 insertions(+), 555 deletions(-) delete mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/Internal/FlurlHttpRequestOptionsExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/Internal/FileNameToContentTypeMapper.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/Internal/FlurlHttpRequestOptionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/Internal/FlurlHttpRequestOptionsExtensions.cs deleted file mode 100644 index 936f4e79..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/Internal/FlurlHttpRequestOptionsExtensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - internal static class FlurlHttpRequestOptionsExtensions - { - public static IFlurlRequest SetOptions(this IFlurlRequest request, WechatTenpayRequest options) - { - if (request == null) throw new ArgumentNullException(nameof(request)); - if (options == null) throw new ArgumentNullException(nameof(options)); - - if (options.Timeout.HasValue) - { - request.WithTimeout(TimeSpan.FromMilliseconds(options.Timeout.Value)); - } - - if (options.WechatpayCertSerialNumber != null) - { - request.Headers.Remove("Wechatpay-Serial"); - request.WithHeader("Wechatpay-Serial", options.WechatpayCertSerialNumber); - } - - return request; - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubMerchantExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubMerchantExtensions.cs index 60d98d3e..7e139848 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubMerchantExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubMerchantExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "applyment4sub", "applyment") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "applyment4sub", "applyment"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,10 +47,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "applyment4sub", "applyment", "business_code", request.BusinessCode) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "applyment4sub", "applyment", "business_code", request.BusinessCode); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -68,10 +66,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "applyment4sub", "applyment", "applyment_id", request.ApplymentId.ToString()) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "applyment4sub", "applyment", "applyment_id", request.ApplymentId.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -89,8 +86,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "apply4sub", "sub_merchants", request.SubMerchantId, "modify-settlement") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "apply4sub", "sub_merchants", request.SubMerchantId, "modify-settlement"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -110,10 +106,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "apply4sub", "sub_merchants", request.SubMerchantId, "settlement") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "apply4sub", "sub_merchants", request.SubMerchantId, "settlement"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubjectExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubjectExtensions.cs index a9de4265..6fcc3fd7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubjectExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteApplyForSubjectExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "apply4subject", "applyment") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "apply4subject", "applyment"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,11 +47,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "apply4subject", "applyment") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "apply4subject", "applyment") .SetQueryParam("business_code", request.BusinessCode); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -69,11 +67,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "apply4subject", "applyment") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "apply4subject", "applyment") .SetQueryParam("applyment_id", request.ApplymentId.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -90,8 +87,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "apply4subject", "applyment", request.BusinessCode, "cancel") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "apply4subject", "applyment", request.BusinessCode, "cancel"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -110,8 +106,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "apply4subject", "applyment", request.ApplymentId.ToString(), "cancel") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "apply4subject", "applyment", request.ApplymentId.ToString(), "cancel"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -130,10 +125,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "apply4subject", "applyment", "merchants", request.SubMerchantId, "state") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "apply4subject", "applyment", "merchants", request.SubMerchantId, "state"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBillExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBillExtensions.cs index 37e3fb65..ac377597 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBillExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBillExtensions.cs @@ -40,8 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "bill", "tradebill") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "bill", "tradebill") .SetQueryParam("bill_date", request.BillDateString); if (!string.IsNullOrEmpty(request.SubMerchantId)) @@ -53,7 +52,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.TarType)) flurlReq.SetQueryParam("tar_type", request.TarType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -82,8 +81,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "bill", "fundflowbill") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "bill", "fundflowbill") .SetQueryParam("bill_date", request.BillDateString); if (!string.IsNullOrEmpty(request.AccountType)) @@ -92,7 +90,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.TarType)) flurlReq.SetQueryParam("tar_type", request.TarType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -121,10 +119,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, request.DownloadUrl) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, request.DownloadUrl); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandProfitSharingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandProfitSharingExtensions.cs index a2e1ef03..4d371c26 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandProfitSharingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandProfitSharingExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "brand", "profitsharing", "orders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "brand", "profitsharing", "orders"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,13 +47,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "brand", "profitsharing", "orders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "brand", "profitsharing", "orders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("transaction_id", request.TransactionId) .SetQueryParam("out_order_no", request.OutOrderNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -71,8 +69,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "brand", "profitsharing", "returnorders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "brand", "profitsharing", "returnorders"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -91,13 +88,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "brand", "profitsharing", "returnorders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "brand", "profitsharing", "returnorders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("out_order_no", request.OutOrderNumber) .SetQueryParam("out_return_no", request.OutReturnNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -114,13 +110,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "brand", "profitsharing", "returnorders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "brand", "profitsharing", "returnorders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("order_id", request.OrderId) .SetQueryParam("out_return_no", request.OutReturnNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -137,8 +132,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "brand", "profitsharing", "finish-order") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "brand", "profitsharing", "finish-order"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -157,10 +151,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "brand", "profitsharing", "orders", request.TransactionId, "amounts") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "brand", "profitsharing", "orders", request.TransactionId, "amounts"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -177,10 +170,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "brand", "profitsharing", "brand-configs", request.BrandMerchantId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "brand", "profitsharing", "brand-configs", request.BrandMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -197,8 +189,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "brand", "profitsharing", "receivers", "add") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "brand", "profitsharing", "receivers", "add"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -217,8 +208,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "brand", "profitsharing", "receivers", "delete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "brand", "profitsharing", "receivers", "delete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBusinessCircleExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBusinessCircleExtensions.cs index 8b177717..54441c9f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBusinessCircleExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBusinessCircleExtensions.cs @@ -29,8 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "businesscircle", "points", "notify") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "businesscircle", "points", "notify"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -50,14 +49,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "businesscircle", "user-authorizations", request.OpenId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "businesscircle", "user-authorizations", request.OpenId) .SetQueryParam("appid", request.AppId); if (!string.IsNullOrEmpty(request.SubMerchantId)) flurlReq.SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCertificatesExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCertificatesExtensions.cs index 9d821dd5..0ec0457b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCertificatesExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCertificatesExtensions.cs @@ -29,10 +29,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "certificates") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "certificates"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs index 0f402339..91b89ac0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs @@ -41,8 +41,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "combine-transactions", "app") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "combine-transactions", "app"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -76,8 +75,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "combine-transactions", "jsapi") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "combine-transactions", "jsapi"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -109,8 +107,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "combine-transactions", "h5") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "combine-transactions", "h5"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -142,8 +139,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "combine-transactions", "native") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "combine-transactions", "native"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -163,10 +159,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "combine-transactions", "out-trade-no", request.CombineOutTradeNumber) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "combine-transactions", "out-trade-no", request.CombineOutTradeNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -193,8 +188,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "combine-transactions", "out-trade-no", request.CombineOutTradeNumber, "close") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "combine-transactions", "out-trade-no", request.CombineOutTradeNumber, "close"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteDiscountCardExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteDiscountCardExtensions.cs index c64f8fc9..32c14fb5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteDiscountCardExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteDiscountCardExtensions.cs @@ -28,8 +28,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "discount-card", "cards") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "discount-card", "cards") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,8 +48,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "discount-card", "cards", request.OutCardCode, "add-user-records") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "discount-card", "cards", request.OutCardCode, "add-user-records") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -68,10 +68,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "discount-card", "cards", request.OutCardCode) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "discount-card", "cards", request.OutCardCode) + ; - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs index 0d077b15..6033b0fa 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "applyments") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "applyments"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,10 +47,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "applyments", request.ApplymentId.ToString()) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", request.ApplymentId.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -68,10 +66,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "applyments", "out-request-no", request.OutRequestNumber) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", "out-request-no", request.OutRequestNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs index 8fc43ac4..33b03008 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "bill", "fundflowbill") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "bill", "fundflowbill") .SetQueryParam("bill_date", request.BillDateString) .SetQueryParam("account_type", request.AccountType) .SetQueryParam("algorithm", request.Algorithm); @@ -37,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.TarType)) flurlReq.SetQueryParam("tar_type", request.TarType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs index b2ae36e7..ed344dc7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs @@ -29,13 +29,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "fund", "balance", request.SubMerchantId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "balance", request.SubMerchantId); if (!string.IsNullOrEmpty(request.AccountType)) flurlReq.SetQueryParam("account_type", request.AccountType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -52,11 +51,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "fund", "enddaybalance", request.SubMerchantId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "enddaybalance", request.SubMerchantId) .SetQueryParam("date", request.DateString); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs index 321da050..23a4a707 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs @@ -28,8 +28,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "fund", "withdraw") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "fund", "withdraw") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,11 +48,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "fund", "withdraw", "out-request-no", request.OutRequestNumber) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", "out-request-no", request.OutRequestNumber) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -69,11 +68,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "fund", "withdraw", request.WithdrawId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", request.WithdrawId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs index 896a9713..e408d819 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs @@ -28,8 +28,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "profitsharing", "orders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "orders") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,13 +48,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "profitsharing", "orders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("transaction_id", request.TransactionId) .SetQueryParam("out_order_no", request.OutOrderNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -71,8 +70,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "profitsharing", "returnorders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "returnorders") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -91,13 +90,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("out_order_no", request.OutOrderNumber) .SetQueryParam("out_return_no", request.OutReturnNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -114,13 +112,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("order_id", request.OrderId) .SetQueryParam("out_return_no", request.OutReturnNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -137,8 +134,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "profitsharing", "finish-order") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "finish-order") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -157,10 +154,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "profitsharing", "orders", request.TransactionId, "amounts") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders", request.TransactionId, "amounts") + ; - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -177,8 +174,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "add") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "add") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -197,8 +194,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "delete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "delete") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs index 4320fa45..f7d10fd6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs @@ -28,8 +28,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "refunds", "apply") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", "apply") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,11 +48,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -69,11 +68,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -90,8 +88,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "refunds", request.RefundId, "return-advance") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", request.RefundId, "return-advance") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -110,11 +108,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "ecommerce", "refunds", request.RefundId, "return-advance") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", request.RefundId, "return-advance") .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs index 21d05313..babc610b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "subsidies", "create") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "create"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,8 +47,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "subsidies", "return") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "return"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -68,8 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "ecommerce", "subsidies", "cancel") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "cancel"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteGoldPlanExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteGoldPlanExtensions.cs index d46301ed..d3eb2f4c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteGoldPlanExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteGoldPlanExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "goldplan", "merchants", "changegoldplanstatus") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "changegoldplanstatus"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,8 +47,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "goldplan", "merchants", "changecustompagestatus") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "changecustompagestatus"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -68,8 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "goldplan", "merchants", "set-advertising-industry-filter") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "set-advertising-industry-filter"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -88,8 +85,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "goldplan", "merchants", "open-advertising-show") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "open-advertising-show"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -108,8 +104,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "goldplan", "merchants", "close-advertising-show") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "close-advertising-show"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingBusifavorExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingBusifavorExtensions.cs index bf8ccd9f..b3077726 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingBusifavorExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingBusifavorExtensions.cs @@ -32,8 +32,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.BelongMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "stocks") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "stocks"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -53,10 +52,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "busifavor", "stocks", request.StockId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "busifavor", "stocks", request.StockId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -74,8 +72,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(new HttpMethod("PATCH"), "marketing", "busifavor", "stocks", request.StockId) - .SetOptions(request); + .CreateRequest(request, new HttpMethod("PATCH"), "marketing", "busifavor", "stocks", request.StockId); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -95,8 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(new HttpMethod("PATCH"), "marketing", "busifavor", "stocks", request.StockId, "budget") - .SetOptions(request); + .CreateRequest(request, new HttpMethod("PATCH"), "marketing", "busifavor", "stocks", request.StockId, "budget"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -116,8 +112,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "stocks", request.StockId, "couponcodes") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "stocks", request.StockId, "couponcodes"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -137,10 +132,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "busifavor", "users", request.OpenId, "coupons", request.CouponCode, "appids", request.AppId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "busifavor", "users", request.OpenId, "coupons", request.CouponCode, "appids", request.AppId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -158,8 +152,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "busifavor", "users", request.OpenId, "coupons") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "busifavor", "users", request.OpenId, "coupons") .SetQueryParam("appid", request.AppId); if (!string.IsNullOrEmpty(request.StockId)) @@ -183,7 +176,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -201,8 +194,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", "use") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", "use"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -222,8 +214,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", "associate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", "associate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -243,8 +234,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", "disassociate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", "disassociate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -264,8 +254,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", "return") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", "return"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -285,8 +274,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", "deactivate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", "deactivate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -305,8 +293,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "coupons", request.CardId, "send") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "coupons", request.CardId, "send"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -329,11 +316,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "busifavor", "callbacks") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "busifavor", "callbacks") .SetQueryParam("mchid", request.MerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -354,8 +340,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "callbacks") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "callbacks"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -381,8 +366,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.PayeeMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "subsidy", "pay-receipts") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "subsidy", "pay-receipts"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -402,10 +386,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "busifavor", "subsidy", "pay-receipts", request.SubsidyReceiptId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "busifavor", "subsidy", "pay-receipts", request.SubsidyReceiptId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -429,8 +412,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.PayeeMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "busifavor", "subsidy", "return-receipts") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "busifavor", "subsidy", "return-receipts"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs index 55bc911a..80a48577 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs @@ -32,8 +32,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.BelongMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "coupon-stocks") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "coupon-stocks") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -56,8 +56,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "start") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "start") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -80,8 +80,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "pause") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "pause") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -104,8 +104,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "restart") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "stocks", request.StockId, "restart") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -128,11 +128,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks", request.StockId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks", request.StockId) .SetQueryParam("stock_creator_mchid", request.StockCreatorMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -153,8 +152,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks") .SetQueryParam("stock_creator_mchid", request.StockCreatorMerchantId) .SetQueryParam("limit", request.Limit.ToString()) .SetQueryParam("offset", request.Offset.ToString()); @@ -168,7 +166,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.Status)) flurlReq.SetQueryParam("status", request.Status); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -189,13 +187,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "merchants") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "merchants") .SetQueryParam("stock_creator_mchid", request.StockCreatorMerchantId) .SetQueryParam("limit", request.Limit.ToString()) .SetQueryParam("offset", request.Offset.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -216,13 +213,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "items") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "items") .SetQueryParam("stock_creator_mchid", request.StockCreatorMerchantId) .SetQueryParam("limit", request.Limit.ToString()) .SetQueryParam("offset", request.Offset.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -240,10 +236,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "use-flow") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "use-flow") + ; - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -261,10 +257,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "refund-flow") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "stocks", request.StockId, "refund-flow") + ; - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -285,8 +281,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.StockCreatorMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "users", request.OpenId, "coupons") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "users", request.OpenId, "coupons") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -306,11 +302,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "users", request.OpenId, "coupons", request.CouponId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "users", request.OpenId, "coupons", request.CouponId) .SetQueryParam("appid", request.AppId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -328,8 +323,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "favor", "users", request.OpenId, "coupons") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "favor", "users", request.OpenId, "coupons") .SetQueryParam("appid", request.AppId); if (!string.IsNullOrEmpty(request.StockId)) @@ -353,7 +347,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -374,8 +368,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "callbacks") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "callbacks") + ; return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs index 7216d65c..73d6d7a2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs @@ -5,6 +5,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Web; using Flurl; using Flurl.Http; @@ -36,31 +37,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.FileHash = Security.SHA256Utility.Hash(request.FileBytes).ToLower(); if (string.IsNullOrEmpty(request.FileContentType)) - { - if (request.FileName!.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/bmp"; - else if (request.FileName!.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else if (request.FileName!.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else - request.FileContentType = "image/png"; - } + request.FileContentType = Utilities.FileNameToContentTypeMapper.GetContentTypeForImage(request.FileName!) ?? "image/png"; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "marketing", "favor", "media", "image-upload"); string boundary = "--BOUNDARY--" + DateTimeOffset.Now.Ticks.ToString("x"); using var fileContent = new ByteArrayContent(request.FileBytes); using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.FlurlJsonSerializer.Serialize(request))); using var httpContent = new MultipartFormDataContent(boundary); - httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号 - httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号 - httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号 + httpContent.Add(metaContent, $"\"{Constants.FormDataFields.FORMDATA_META}\""); + httpContent.Add(fileContent, "\"file\"", $"\"{HttpUtility.UrlEncode(request.FileName)}\""); + httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse(request.FileContentType); - IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "favor", "media", "image-upload") - .SetOptions(request); - return await client.SendRequestAsync(flurlReq, content: httpContent, cancellationToken: cancellationToken); + return await client.SendRequestAsync(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPartnershipsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPartnershipsExtensions.cs index 3475f6d8..a7b119b9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPartnershipsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPartnershipsExtensions.cs @@ -29,8 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "partnerships", "build") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Post, "marketing", "partnerships", "build") .WithHeader("Idempotency-Key", request.IdempotencyKey); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); @@ -51,8 +50,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "partnerships", "terminate") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Post, "marketing", "partnerships", "terminate") .WithHeader("Idempotency-Key", request.IdempotencyKey); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); @@ -73,8 +71,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "partnerships") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "partnerships"); if (request.Partner != null) flurlReq.SetQueryParam("partner", client.FlurlJsonSerializer.Serialize(request.Partner)); @@ -88,7 +85,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPayGiftActivityExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPayGiftActivityExtensions.cs index b16b9450..a2cc3298 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPayGiftActivityExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingPayGiftActivityExtensions.cs @@ -29,8 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "paygiftactivity", "unique-threshold-activity") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "paygiftactivity", "unique-threshold-activity"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -50,10 +49,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -71,8 +69,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "paygiftactivity", "activities") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "marketing", "paygiftactivity", "activities") .SetQueryParam("limit", request.Limit.ToString()) .SetQueryParam("offset", request.Offset.ToString()); @@ -85,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.AwardType)) flurlReq.SetQueryParam("award_type", request.AwardType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -103,8 +100,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "terminate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "terminate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -124,8 +120,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants", "add") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants", "add"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -145,8 +140,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants"); if (request.Limit.HasValue) flurlReq.SetQueryParam("limit", request.Limit.Value.ToString()); @@ -154,7 +148,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -172,8 +166,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants", "delete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "marketing", "paygiftactivity", "activities", request.ActivityId, "merchants", "delete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -193,8 +186,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId, "goods") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "marketing", "paygiftactivity", "activities", request.ActivityId, "goods"); if (request.Limit.HasValue) flurlReq.SetQueryParam("limit", request.Limit.Value.ToString()); @@ -202,7 +194,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs index 897f4cb8..74eceecc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs @@ -28,10 +28,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant", "fund", "balance", request.AccountType) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "balance", request.AccountType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -48,11 +47,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant", "fund", "dayendbalance", request.AccountType) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "dayendbalance", request.AccountType) .SetQueryParam("date", request.DateString); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs index 81409bde..ea437c37 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant", "fund", "withdraw") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "merchant", "fund", "withdraw"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,10 +47,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant", "fund", "withdraw", "out-request-no", request.OutRequestNumber) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "out-request-no", request.OutRequestNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -68,10 +66,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant", "fund", "withdraw", request.WithdrawId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", request.WithdrawId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -88,14 +85,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant", "fund", "withdraw", "bill-type", request.BillType) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "bill-type", request.BillType) .SetQueryParam("bill_date", request.BillDateString); if (!string.IsNullOrEmpty(request.TarType)) flurlReq.SetQueryParam("tar_type", request.TarType); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs index 6add27ac..2294389e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs @@ -5,6 +5,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Web; using Flurl; using Flurl.Http; @@ -36,31 +37,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.FileHash = Security.SHA256Utility.Hash(request.FileBytes).ToLower(); if (string.IsNullOrEmpty(request.FileContentType)) - { - if (request.FileName!.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/bmp"; - else if (request.FileName!.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else if (request.FileName!.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else - request.FileContentType = "image/png"; - } + request.FileContentType = Utilities.FileNameToContentTypeMapper.GetContentTypeForImage(request.FileName!) ?? "image/png"; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "merchant", "media", "upload"); string boundary = "--BOUNDARY--" + DateTimeOffset.Now.Ticks.ToString("x"); using var fileContent = new ByteArrayContent(request.FileBytes); using var metaContent = new StringContent(client.FlurlJsonSerializer.Serialize(request), Encoding.UTF8, "application/json"); using var httpContent = new MultipartFormDataContent(boundary); - httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号 - httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号 - httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号 + httpContent.Add(metaContent, $"\"{Constants.FormDataFields.FORMDATA_META}\""); + httpContent.Add(fileContent, "\"file\"", $"\"{HttpUtility.UrlEncode(request.FileName)}\""); + httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse(request.FileContentType); - IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant", "media", "upload") - .SetOptions(request); - return await client.SendRequestAsync(flurlReq, content: httpContent, cancellationToken: cancellationToken); + return await client.SendRequestAsync(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); } /// @@ -84,43 +76,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.FileHash = Security.SHA256Utility.Hash(request.FileBytes).ToLower(); if (string.IsNullOrEmpty(request.FileContentType)) - { - if (request.FileName!.EndsWith(".avi", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/x-msvideo"; - else if (request.FileName!.EndsWith(".wmv", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/x-ms-wmv"; - else if (request.FileName!.EndsWith(".mpeg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/mpeg"; - else if (request.FileName!.EndsWith(".mov", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/quicktime"; - else if (request.FileName!.EndsWith(".mkv", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/mkv"; - else if (request.FileName!.EndsWith(".m4v", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/x-m4v"; - else if (request.FileName!.EndsWith(".flv", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/x-flv"; - else if (request.FileName!.EndsWith(".f4v", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/x-f4v"; - else if (request.FileName!.EndsWith(".rmvb", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "video/vnd.rn-realvideo"; - else - request.FileContentType = "video/mp4"; - } + request.FileContentType = Utilities.FileNameToContentTypeMapper.GetContentTypeForVideo(request.FileName!) ?? "video/mp4"; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "merchant", "media", "video_upload"); string boundary = "--BOUNDARY--" + DateTimeOffset.Now.Ticks.ToString("x"); using var fileContent = new ByteArrayContent(request.FileBytes); using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.FlurlJsonSerializer.Serialize(request))); using var httpContent = new MultipartFormDataContent(boundary); - httpContent.Add(metaContent, "\"meta\""); // NOTICE: meta 必须要加双引号 - httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号 - httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号 + httpContent.Add(metaContent, $"\"{Constants.FormDataFields.FORMDATA_META}\""); + httpContent.Add(fileContent, "\"file\"", $"\"{HttpUtility.UrlEncode(request.FileName)}\""); + httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse(request.FileContentType); - IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant", "media", "video_upload") - .SetOptions(request); - return await client.SendRequestAsync(flurlReq, content: httpContent, cancellationToken: cancellationToken); + return await client.SendRequestAsync(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs index 6ed51691..2fd311c9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs @@ -5,6 +5,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Web; using Flurl; using Flurl.Http; @@ -30,8 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant-service", "complaints-v2") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "merchant-service", "complaints-v2") .SetQueryParam("begin_date", request.BeginDateString) .SetQueryParam("end_date", request.EndDateString); @@ -44,7 +44,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -62,10 +62,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant-service", "complaints-v2", request.ComplaintId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant-service", "complaints-v2", request.ComplaintId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -83,8 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant-service", "complaints-v2", request.ComplaintId, "negotiation-historys") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant-service", "complaints-v2", request.ComplaintId, "negotiation-historys"); if (request.Limit.HasValue) flurlReq.SetQueryParam("limit", request.Limit.Value.ToString()); @@ -92,7 +90,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -113,8 +111,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.ComplaintedMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant-service", "complaints-v2", request.ComplaintId, "response") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "merchant-service", "complaints-v2", request.ComplaintId, "response"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -137,8 +134,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.ComplaintedMerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant-service", "complaints-v2", request.ComplaintId, "complete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "merchant-service", "complaints-v2", request.ComplaintId, "complete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -158,8 +154,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant-service", "complaint-notifications") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "merchant-service", "complaint-notifications"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -179,10 +174,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "merchant-service", "complaint-notifications") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "merchant-service", "complaint-notifications"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -200,8 +194,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Put, "merchant-service", "complaint-notifications") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Put, "merchant-service", "complaint-notifications"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -221,8 +214,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Delete, "merchant-service", "complaint-notifications") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Delete, "merchant-service", "complaint-notifications"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -248,31 +240,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.FileHash = Security.SHA256Utility.Hash(request.FileBytes).ToLower(); if (string.IsNullOrEmpty(request.FileContentType)) - { - if (request.FileName!.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/bmp"; - else if (request.FileName!.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else if (request.FileName!.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)) - request.FileContentType = "image/jpeg"; - else - request.FileContentType = "image/png"; - } + request.FileContentType = Utilities.FileNameToContentTypeMapper.GetContentTypeForImage(request.FileName!) ?? "image/png"; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "merchant-service", "images", "upload"); string boundary = "--BOUNDARY--" + DateTimeOffset.Now.Ticks.ToString("x"); using var fileContent = new ByteArrayContent(request.FileBytes); using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.FlurlJsonSerializer.Serialize(request))); using var httpContent = new MultipartFormDataContent(boundary); - httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号 - httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号 - httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号 + httpContent.Add(metaContent, $"\"{Constants.FormDataFields.FORMDATA_META}\""); + httpContent.Add(fileContent, "\"file\"", $"\"{HttpUtility.UrlEncode(request.FileName)}\""); + httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse(request.FileContentType); - IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "merchant-service", "images", "upload") - .SetOptions(request); - return await client.SendRequestAsync(flurlReq, content: httpContent, cancellationToken: cancellationToken); + return await client.SendRequestAsync(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayPartnerTransactionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayPartnerTransactionsExtensions.cs index de7b3f4e..00c625ce 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayPartnerTransactionsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayPartnerTransactionsExtensions.cs @@ -32,8 +32,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "partner", "transactions", "app") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "partner", "transactions", "app"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -58,8 +57,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "partner", "transactions", "jsapi") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "partner", "transactions", "jsapi"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -82,8 +80,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "partner", "transactions", "h5") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "partner", "transactions", "h5"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -105,8 +102,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "partner", "transactions", "native") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "partner", "transactions", "native"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -133,12 +129,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "pay", "partner", "transactions", "out-trade-no", request.OutTradeNumber) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "pay", "partner", "transactions", "out-trade-no", request.OutTradeNumber) .SetQueryParam("sp_mchid", request.MerchantId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -163,12 +158,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "pay", "partner", "transactions", "id", request.TransactionId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "pay", "partner", "transactions", "id", request.TransactionId) .SetQueryParam("sp_mchid", request.MerchantId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -193,8 +187,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "partner", "transactions", "out-trade-no", request.OutTradeNumber, "close") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "partner", "transactions", "out-trade-no", request.OutTradeNumber, "close"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs index b6c595ca..ca4ded96 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,12 +47,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode) .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -70,8 +68,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode, "terminate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -90,8 +87,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "partner", "permissions", "search") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "search") .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("sub_mchid", request.SubMerchantId) .SetQueryParam("appid", request.AppId) @@ -103,7 +99,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (!string.IsNullOrEmpty(request.SubOpenId)) flurlReq.SetQueryParam("sub_openid", request.SubOpenId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -120,8 +116,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions", "terminate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "terminate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs index a0934fbb..aa2c640a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,13 +47,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "partner", "serviceorder") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "serviceorder") .SetQueryParam("out_order_no", request.OutOrderNumber) .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -71,13 +69,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "partner", "serviceorder") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "serviceorder") .SetQueryParam("query_id", request.QueryId) .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -94,8 +91,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "cancel") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "cancel"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -114,8 +110,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "modify") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "modify"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -134,8 +129,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "complete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "complete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -154,8 +148,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "pay") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "pay"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -174,8 +167,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "sync") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "sync"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs index b8c473db..31ba2327 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "permissions") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,11 +47,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "permissions", "authorization-code", request.AuthorizationCode) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "authorization-code", request.AuthorizationCode) .SetQueryParam("service_id", request.ServiceId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -69,8 +67,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "permissions", "authorization-code", request.AuthorizationCode, "terminate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -89,12 +86,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId!) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId!) .SetQueryParam("appid", request.AppId) .SetQueryParam("service_id", request.ServiceId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -111,8 +107,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId!, "terminate") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId!, "terminate"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs index a00c2eea..5b11d95d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs @@ -28,8 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", "direct-complete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", "direct-complete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -48,8 +47,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -68,13 +66,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "serviceorder") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "serviceorder") .SetQueryParam("out_order_no", request.OutOrderNumber) .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("appid", request.AppId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -91,13 +88,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "serviceorder") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "payscore", "serviceorder") .SetQueryParam("query_id", request.QueryId) .SetQueryParam("service_id", request.ServiceId) .SetQueryParam("appid", request.AppId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -114,8 +110,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "cancel") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "cancel"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -134,8 +129,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "modify") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "modify"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -154,8 +148,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "complete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "complete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -174,8 +167,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "pay") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "pay"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -194,8 +186,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "sync") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "sync"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayTransactionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayTransactionsExtensions.cs index 0ae9296a..dcc6b957 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayTransactionsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayTransactionsExtensions.cs @@ -31,8 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "transactions", "app") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "transactions", "app"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -55,8 +54,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "transactions", "jsapi") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "transactions", "jsapi"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -78,8 +76,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "transactions", "h5") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "transactions", "h5"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -101,8 +98,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "transactions", "native") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "transactions", "native"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -128,11 +124,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "pay", "transactions", "out-trade-no", request.OutTradeNumber) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "pay", "transactions", "out-trade-no", request.OutTradeNumber) .SetQueryParam("mchid", request.MerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -156,11 +151,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "pay", "transactions", "id", request.TransactionId) - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "pay", "transactions", "id", request.TransactionId) .SetQueryParam("mchid", request.MerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -184,8 +178,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 request.MerchantId = client.WechatMerchantId; IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "pay", "transactions", "out-trade-no", request.OutTradeNumber, "close") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "pay", "transactions", "out-trade-no", request.OutTradeNumber, "close"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs index cbcf705b..86d077fd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs @@ -29,8 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "profitsharing", "orders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "profitsharing", "orders"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -50,12 +49,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "profitsharing", "orders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "profitsharing", "orders") .SetQueryParam("transaction_id", request.TransactionId) .SetQueryParam("out_order_no", request.OutOrderNumber); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -73,8 +71,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "profitsharing", "return-orders") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "profitsharing", "return-orders"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -94,15 +91,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "profitsharing", "return-orders") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "profitsharing", "return-orders") .SetQueryParam("out_order_no", request.OutOrderNumber) .SetQueryParam("out_return_no", request.OutReturnNumber); if (!string.IsNullOrEmpty(request.SubMerchantId)) flurlReq.SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -120,8 +116,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "profitsharing", "orders", "unfreeze") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "profitsharing", "orders", "unfreeze"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -141,10 +136,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "profitsharing", "transactions", request.TransactionId, "amounts") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "profitsharing", "transactions", request.TransactionId, "amounts"); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -161,10 +155,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "profitsharing", "merchant-configs", request.SubMerchantId) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "profitsharing", "merchant-configs", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -182,8 +175,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "profitsharing", "receivers", "add") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "profitsharing", "receivers", "add"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -203,8 +195,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "profitsharing", "receivers", "delete") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "profitsharing", "receivers", "delete"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRefundExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRefundExtensions.cs index 8c80f9ed..9e80ed00 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRefundExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRefundExtensions.cs @@ -40,8 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "refund", "domestic", "refunds") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "refund", "domestic", "refunds"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -72,13 +71,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "refund", "domestic", "refunds", request.OutRefundNumber) - .SetOptions(request); + .CreateRequest(request, HttpMethod.Get, "refund", "domestic", "refunds", request.OutRefundNumber); if (!string.IsNullOrEmpty(request.SubMerchantId)) flurlReq.SetQueryParam("sub_mchid", request.SubMerchantId); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteSmartGuideExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteSmartGuideExtensions.cs index 0d1e50ea..a52ad3be 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteSmartGuideExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteSmartGuideExtensions.cs @@ -29,8 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "smartguide", "guides") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "smartguide", "guides"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -50,8 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "smartguide", "guides", request.GuideId, "assign") - .SetOptions(request); + .CreateRequest(request, HttpMethod.Post, "smartguide", "guides", request.GuideId, "assign"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } @@ -71,8 +69,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "smartguide", "guides") - .SetOptions(request) + .CreateRequest(request, HttpMethod.Get, "smartguide", "guides") .SetQueryParam("store_id", request.StoreId.ToString()); if (!string.IsNullOrEmpty(request.SubMerchantId)) @@ -93,7 +90,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request.Offset.HasValue) flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); - return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } /// @@ -111,8 +108,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(new HttpMethod("PATCH"), "smartguide", "guides", request.GuideId) - .SetOptions(request); + .CreateRequest(request, new HttpMethod("PATCH"), "smartguide", "guides", request.GuideId); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpaySignInterceptor.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpaySignInterceptor.cs index f015ab87..6f8e101e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpaySignInterceptor.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpaySignInterceptor.cs @@ -45,7 +45,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Interceptors } else { - body = flurlCall.RequestBody; + body = flurlCall.RequestBody ?? string.Empty; } string plainText = $"{method}\n{url}\n{timestamp}\n{nonce}\n{body}\n"; diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs index 22c81288..acea858f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs @@ -179,7 +179,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string ContactIdCardNumber { get; set; } = string.Empty; /// - /// 获取或设置联系邮箱(需使用微信支付平台公钥加密)。与字段 二选一。 + /// 获取或设置联系邮箱(需使用微信支付平台公钥加密)。 /// [Newtonsoft.Json.JsonProperty("contact_email")] [System.Text.Json.Serialization.JsonPropertyName("contact_email")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/Internal/FileNameToContentTypeMapper.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/Internal/FileNameToContentTypeMapper.cs new file mode 100644 index 00000000..2168e0cc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/Internal/FileNameToContentTypeMapper.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities +{ + internal static class FileNameToContentTypeMapper + { + public static string? GetContentTypeForImage(string fileName) + { + string extension = Path.GetExtension(fileName ?? "/")?.ToLower() ?? string.Empty; + switch (extension) + { + case ".jpg": + case ".jpeg": + return "image/jpeg"; + case ".bmp": + return "image/bmp"; + case ".png": + return "image/png"; + } + + return null; + } + + public static string? GetContentTypeForVideo(string fileName) + { + string extension = Path.GetExtension(fileName ?? "/")?.ToLower() ?? string.Empty; + switch (extension) + { + case ".avi": + return "video/x-msvideo"; + case ".wmv": + return "video/x-ms-wmv"; + case ".mpeg": + return "video/mpeg"; + case ".mov": + return "video/quicktime"; + case ".mkv": + return "video/mkv"; + case ".m4v": + return "video/x-m4v"; + case ".flv": + return "video/x-flv"; + case ".f4v": + return "video/x-f4v"; + case ".rmvb": + return "video/vnd.rn-realvideo"; + case ".mp4": + return "video/mp4"; + } + + return null; + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClient.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClient.cs index ce00061c..a7afc7a2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClient.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClient.cs @@ -77,26 +77,51 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 )); } + /// + /// 使用当前客户端生成一个新的 对象。 + /// + /// + /// + /// + /// + public IFlurlRequest CreateRequest(WechatTenpayRequest request, HttpMethod method, params object[] urlSegments) + { + IFlurlRequest flurlRequest = FlurlClient.Request(urlSegments).WithVerb(method); + + if (request.Timeout.HasValue) + { + flurlRequest.WithTimeout(TimeSpan.FromMilliseconds(request.Timeout.Value)); + } + + if (!string.IsNullOrEmpty(request.WechatpayCertSerialNumber)) + { + flurlRequest.Headers.Remove("Wechatpay-Serial"); + flurlRequest.WithHeader("Wechatpay-Serial", request.WechatpayCertSerialNumber); + } + + return flurlRequest; + } + /// /// 异步发起请求。 /// /// /// - /// + /// /// /// - public async Task SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? content = null, CancellationToken cancellationToken = default) + public async Task SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? httpContent = null, CancellationToken cancellationToken = default) where T : WechatTenpayResponse, new() { - if (content != null) + if (httpContent != null) { - if (string.IsNullOrEmpty(content.Headers.ContentType?.MediaType)) - content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); + if (string.IsNullOrEmpty(httpContent.Headers.ContentType?.MediaType)) + httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); } try { - using IFlurlResponse flurlResponse = await base.SendRequestAsync(flurlRequest, content, cancellationToken).ConfigureAwait(false); + using IFlurlResponse flurlResponse = await base.SendRequestAsync(flurlRequest, httpContent, cancellationToken).ConfigureAwait(false); return await GetResposneAsync(flurlResponse).ConfigureAwait(false); } catch (FlurlHttpException ex) diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClientOptions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClientOptions.cs index 9b5377b0..a73a442d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClientOptions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClientOptions.cs @@ -4,7 +4,7 @@ using System.Reflection; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 { /// - /// 一个用于构造 时使用的配置项。 + /// 一个用于构造 时使用的配置项。 /// public class WechatTenpayClientOptions {