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