From 582011fe0778b89312a3a9f886a24d687530aad4 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 02 九月 2025 14:45:47 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs | 88 ++++++++++++++++++++++++++++--------------- 1 files changed, 57 insertions(+), 31 deletions(-) diff --git a/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs index acc878d..f363e67 100644 --- a/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs +++ b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs @@ -5,11 +5,14 @@ using Aop.Api.Request; using Aop.Api.Response; using Aop.Api.Util; +using Furion; using Furion.FriendlyException; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -23,11 +26,15 @@ { private readonly IAopClient alipayClient; private readonly ILogger<AlipayUtils> logger; + private readonly IOptions<AlipayOptions> options; public AlipayUtils( ILogger<AlipayUtils> logger, IOptions<AlipayOptions> options) { + var appCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.AppCertPath); + var alipayPublicCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.AlipayPublicCertPath); + var rootCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.RootCertPath); alipayClient = new DefaultAopClient(new AlipayConfig { ServerUrl = options.Value.ServerUrl, @@ -36,44 +43,62 @@ Format = options.Value.Format, Charset = options.Value.Charset, SignType = options.Value.SignType, - AppCertPath = options.Value.AppCertPath, - AlipayPublicCertPath = options.Value.AlipayPublicCertPath, - RootCertContent = options.Value.RootCertContent, + AppCertPath = appCertPath, + AlipayPublicCertPath = alipayPublicCertPath, + RootCertPath = rootCertPath, AlipayPublicKey = options.Value.AlipayPublicKey, EncryptKey = options.Value.EncryptKey, }); this.logger = logger; + this.options = options; } - public void UserAgreementPageSign(AlipayUserAgreementPageSignModel model) + /// <summary> + /// 鏀粯瀹濅釜浜哄崗璁〉闈㈢绾︽帴鍙� + /// </summary> + /// <param name="model"></param> + /// <param name="notifyUrl"></param> + public AlipayUserAgreementPageSignResponse UserAgreementPageSign(AlipayUserAgreementPageSignModel model, string notifyUrl = null) { - // 鍒濆鍖朣DK - // 鏋勯�犺姹傚弬鏁颁互璋冪敤鎺ュ彛 + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜哄崗璁〉闈㈢绾︽帴鍙o細{model.ToJson()}"); AlipayUserAgreementPageSignRequest request = new AlipayUserAgreementPageSignRequest(); - model.PersonalProductCode = "FUND_SAFT_SIGN_WITHHOLDING_P"; - model.SignScene = "INDUSTRY|SATF_ACC"; - model.ThirdPartyType = "PARTNER"; - model.AccessParams = new AccessParams - { - Channel = "" - }; - // 璁剧疆绛剧害鏈夋晥鏃堕棿闄愬埗 - model.EffectTime = 300; - request.SetBizModel(model); - //request.SetNotifyUrl(); + if (notifyUrl.IsNotNull()) + { + notifyUrl = $"{options.Value.NotifyUrl}{notifyUrl}"; + request.SetNotifyUrl(notifyUrl); + } AlipayUserAgreementPageSignResponse response = alipayClient.pageExecute(request, null, "GET"); - string pageRedirectionData = response.Body; - Console.WriteLine(pageRedirectionData); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; + } - if (!response.IsError) - { - Console.WriteLine("璋冪敤鎴愬姛"); - } - else - { - Console.WriteLine("璋冪敤澶辫触"); - } + /// <summary> + /// 鏀粯瀹濅釜浜轰唬鎵e崗璁煡璇㈡帴鍙� + /// </summary> + /// <param name="model"></param> + public AlipayUserAgreementQueryResponse UserAgreementQuery(AlipayUserAgreementQueryModel model) + { + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜轰唬鎵e崗璁煡璇㈡帴鍙o細{model.ToJson()}"); + AlipayUserAgreementQueryRequest request = new AlipayUserAgreementQueryRequest(); + request.SetBizModel(model); + AlipayUserAgreementQueryResponse response = alipayClient.CertificateExecute(request); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; + } + + /// <summary> + /// 鏀粯瀹濅釜浜轰唬鎵e崗璁В绾︽帴鍙� + /// </summary> + /// <param name="model"></param> + public AlipayUserAgreementUnsignResponse UserAgreementUnsign(AlipayUserAgreementUnsignModel model) + { + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜轰唬鎵e崗璁В绾︽帴鍙o細{model.ToJson()}"); + AlipayUserAgreementUnsignRequest request = new AlipayUserAgreementUnsignRequest(); + request.SetBizModel(model); + AlipayUserAgreementUnsignResponse response = alipayClient.CertificateExecute(request); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; } /// <summary> @@ -83,7 +108,7 @@ public AlipayFundExpandindirectImageUploadResponse FundExpandindirectImageUpload(AlipayFundExpandindirectImageUploadRequest request) { logger.LogInformation("姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠舵枃浠朵笂浼犳帴鍙�"); - AlipayFundExpandindirectImageUploadResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectImageUploadResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -101,9 +126,10 @@ request.SetBizModel(model); if (notifyUrl.IsNotNull()) { + notifyUrl = $"{options.Value.NotifyUrl}{notifyUrl}"; request.SetNotifyUrl(notifyUrl); } - AlipayFundExpandindirectCreateResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectCreateResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -118,7 +144,7 @@ logger.LogInformation($"姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鏌ヨ鎺ュ彛锛歿model.ToJson()}"); AlipayFundExpandindirectOrderQueryRequest request = new AlipayFundExpandindirectOrderQueryRequest(); request.SetBizModel(model); - AlipayFundExpandindirectOrderQueryResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectOrderQueryResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -134,7 +160,7 @@ logger.LogInformation($"姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鍙栨秷鎺ュ彛锛歿model.ToJson()}"); AlipayFundExpandindirectOrderCancelRequest request = new AlipayFundExpandindirectOrderCancelRequest(); request.SetBizModel(model); - AlipayFundExpandindirectOrderCancelResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectOrderCancelResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } -- Gitblit v1.9.1