From 11e0c46d96a9de0c77cbc7509d34f470823bbc65 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 03 九月 2025 13:48:35 +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