From 6a4fbf989fcdde0e4e379aba6d224737da3474eb Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 02 九月 2025 15:41:19 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs |   58 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 26 insertions(+), 32 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs
index 3e6d046..710425b 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs
@@ -20,16 +20,15 @@
     /// 鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠�
     /// </summary>
     public class AlipayFundExpandindirectCommandHandler(
-            IOptions<AlipayOptions> options,
             AlipayUtils alipayUtils,
             IHttpRemoteService httpRemoteService,
             IRepository<AlipayFundExpandindirectOrder> rep
         ) :
         IRequestHandler<AlipayFundExpandindirectCreateCommand, Guid>,
+        IRequestHandler<AlipayFundExpandindirectImageUploadCommand, string>,
         IRequestHandler<AlipayFundExpandindirectOrderCancelCommand, Guid>,
         IRequestHandler<AlipayFundExpandindirectCreateNotifyCommand, Guid>
     {
-        private readonly IOptions<AlipayOptions> options = options;
         private readonly AlipayUtils alipayUtils = alipayUtils;
         private readonly IHttpRemoteService httpRemoteService = httpRemoteService;
         private readonly IRepository<AlipayFundExpandindirectOrder> rep = rep;
@@ -54,18 +53,6 @@
             else
             {
                 entity = new AlipayFundExpandindirectOrder();
-            }
-            if (request.SceneImageOssUrl.IsNotNull() && entity.SceneImageOssUrl != request.SceneImageOssUrl)
-            {
-                entity.SceneImage = await GetAlipayImageIdAsync(request, request.SceneImageOssUrl);
-            }
-            if (request.SceneQualificationText.IsNotNull())
-            {
-                entity.SceneQualificationImage = request.SceneQualificationText;
-            }
-            else if (request.SceneQualificationImageOssUrl.IsNotNull() && entity.SceneQualificationImageOssUrl != request.SceneQualificationImageOssUrl)
-            {
-                entity.SceneQualificationImage = await GetAlipayImageIdAsync(request, request.SceneQualificationImageOssUrl);
             }
             entity.Sites = request.SitesInfo.ToJson();
             request.Adapt(entity);
@@ -94,7 +81,7 @@
             secondaryPartnerInfo.Name = entity.Name;
             secondaryPartnerInfo.IdentityType = entity.IdentityType;
             model.SecondaryPartnerInfo = secondaryPartnerInfo;
-            var result = alipayUtils.FundExpandindirectCreate(model, $"{options.Value.NotifyUrl}/api/user/enterpriseWallet/alipayFundExpandindirectCreateNotify");
+            var result = alipayUtils.FundExpandindirectCreate(model, $"/api/user/enterpriseWallet/alipayFundExpandindirectCreateNotify");
             if (result.IsError)
             {
                 entity.RiskReviewRemark = result.Msg;
@@ -108,6 +95,30 @@
                 throw Oops.Oh(EnumErrorCodeType.s510, result.Msg);
             }
             return entity.Id;
+        }
+
+        /// <summary>
+        /// 鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠舵枃浠朵笂浼犳帴鍙�
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<string> Handle(AlipayFundExpandindirectImageUploadCommand request, CancellationToken cancellationToken)
+        {
+            using (var memoryStream = new MemoryStream())
+            {
+                await request.File.CopyToAsync(memoryStream);
+                var bytes = memoryStream.ToArray();
+                var result = alipayUtils.FundExpandindirectImageUpload(new Aop.Api.Request.AlipayFundExpandindirectImageUploadRequest
+                {
+                    ProductCode = request.ProductCode,
+                    BizScene = request.BizScene,
+                    ImageType = Path.GetExtension(request.File.FileName).Trim('.').ToLower(),
+                    ImageContent = new Aop.Api.Util.FileItem(request.File.FileName, bytes)
+                });
+                if (result.IsError) throw Oops.Oh(EnumErrorCodeType.s510, result.Msg);
+                return result.ImageId;
+            }
         }
 
         /// <summary>
@@ -145,23 +156,6 @@
         public Task<Guid> Handle(AlipayFundExpandindirectCreateNotifyCommand request, CancellationToken cancellationToken)
         {
             return Task.FromResult(Guid.Empty);
-        }
-
-        private async Task<string> GetAlipayImageIdAsync(AlipayFundExpandindirectCreateCommand request, string ossUrl)
-        {
-            var url = AliyunOSSUtils.GetUrl(ossUrl);
-            var bytes = await httpRemoteService.GetAsByteArrayAsync(url);
-            var imageType = url.Substring(url.LastIndexOf(".") + 1);
-            var fileName = url.Substring(url.LastIndexOf("/") + 1);
-            var result = alipayUtils.FundExpandindirectImageUpload(new Aop.Api.Request.AlipayFundExpandindirectImageUploadRequest
-            {
-                ProductCode = request.ProductCode,
-                BizScene = request.BizScene,
-                ImageType = imageType,
-                ImageContent = new Aop.Api.Util.FileItem(fileName, bytes)
-            });
-            if (result.IsError) throw Oops.Oh(EnumErrorCodeType.s510, result.Msg);
-            return result.ImageId;
         }
     }
 }

--
Gitblit v1.9.1