From 611af5472b33cbe81a1433ab29e26502a9aac795 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 01 九月 2025 15:46:55 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs | 132 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 132 insertions(+), 0 deletions(-) diff --git a/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs new file mode 100644 index 0000000..8fe6911 --- /dev/null +++ b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs @@ -0,0 +1,132 @@ +锘縰sing Aliyun.OSS; +using Aop.Api; +using Aop.Api.Domain; +using Aop.Api.Request; +using Aop.Api.Response; +using Aop.Api.Util; +using Furion.FriendlyException; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 闃块噷鏀粯宸ュ叿 + /// </summary> + public class AlipayUtils + { + private readonly IAopClient alipayClient; + + public AlipayUtils(IOptions<AlipayOptions> options) + { + alipayClient = new DefaultAopClient(new AlipayConfig + { + ServerUrl = options.Value.ServerUrl, + AppId = options.Value.AppId, + PrivateKey = options.Value.PrivateKey, + Format = options.Value.Format, + Charset = options.Value.Charset, + SignType = options.Value.SignType, + AppCertPath = options.Value.AppCertPath, + AlipayPublicCertPath = options.Value.AlipayPublicCertPath, + RootCertContent = options.Value.RootCertContent, + AlipayPublicKey = options.Value.AlipayPublicKey, + EncryptKey = options.Value.EncryptKey, + }); + } + + public void UserAgreementPageSign(AlipayUserAgreementPageSignModel model) + { + // 鍒濆鍖朣DK + // 鏋勯�犺姹傚弬鏁颁互璋冪敤鎺ュ彛 + 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(); + AlipayUserAgreementPageSignResponse response = alipayClient.pageExecute(request, null, "GET"); + string pageRedirectionData = response.Body; + Console.WriteLine(pageRedirectionData); + + if (!response.IsError) + { + Console.WriteLine("璋冪敤鎴愬姛"); + } + else + { + Console.WriteLine("璋冪敤澶辫触"); + } + } + + /// <summary> + /// 璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠� + /// </summary> + /// <returns></returns> + public AlipayFundExpandindirectImageUploadResponse FundExpandindirectImageUpload(AlipayFundExpandindirectImageUploadRequest request) + { + AlipayFundExpandindirectImageUploadResponse response = alipayClient.Execute(request); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.Msg); + return response; + } + + /// <summary> + /// 璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠� + /// </summary> + /// <param name="model"></param> + /// <param name="notifyUrl"></param> + /// <returns></returns> + public AlipayFundExpandindirectCreateResponse FundExpandindirectCreate(AlipayFundExpandindirectCreateModel model, string notifyUrl = null) + { + AlipayFundExpandindirectCreateRequest request = new AlipayFundExpandindirectCreateRequest(); + request.SetBizModel(model); + if (notifyUrl.IsNotNull()) + { + request.SetNotifyUrl(notifyUrl); + } + AlipayFundExpandindirectCreateResponse response = alipayClient.Execute(request); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.Msg); + return response; + } + + /// <summary> + /// 璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鏌ヨ鎺ュ彛 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public AlipayFundExpandindirectOrderQueryResponse FundExpandindirectOrderQuery(AlipayFundExpandindirectOrderQueryModel model) + { + AlipayFundExpandindirectOrderQueryRequest request = new AlipayFundExpandindirectOrderQueryRequest(); + request.SetBizModel(model); + AlipayFundExpandindirectOrderQueryResponse response = alipayClient.Execute(request); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.Msg); + return response; + } + + + /// <summary> + /// 璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鍙栨秷鎺ュ彛 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public AlipayFundExpandindirectOrderCancelResponse FundExpandindirectOrderCancel(AlipayFundExpandindirectOrderCancelModel model) + { + AlipayFundExpandindirectOrderCancelRequest request = new AlipayFundExpandindirectOrderCancelRequest(); + request.SetBizModel(model); + AlipayFundExpandindirectOrderCancelResponse response = alipayClient.Execute(request); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.Msg); + return response; + } + } +} -- Gitblit v1.9.1