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 | 75 ++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 31 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs index b5f099a..710425b 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs @@ -7,6 +7,7 @@ using Mapster; using MediatR; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; @@ -24,6 +25,7 @@ IRepository<AlipayFundExpandindirectOrder> rep ) : IRequestHandler<AlipayFundExpandindirectCreateCommand, Guid>, + IRequestHandler<AlipayFundExpandindirectImageUploadCommand, string>, IRequestHandler<AlipayFundExpandindirectOrderCancelCommand, Guid>, IRequestHandler<AlipayFundExpandindirectCreateNotifyCommand, Guid> { @@ -52,18 +54,6 @@ { 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); if (request.Id.HasValue) @@ -74,8 +64,24 @@ { await rep.InsertNowAsync(entity); } - var model = entity.Adapt<AlipayFundExpandindirectCreateModel>(); - var result = alipayUtils.FundExpandindirectCreate(model); + + var model = new AlipayFundExpandindirectCreateModel(); + model.ProductCode = entity.ProductCode; + model.BizScene = entity.BizScene; + model.OutBizNo = entity.OutBizNo; + model.BizType = entity.BizType; + model.OriginalOrderId = entity.OriginalOrderId; + model.SceneCode = entity.SceneCode; + model.SceneDirections = entity.SceneDirections; + model.SceneImage = entity.SceneImage; + model.SceneQualificationImage = entity.SceneQualificationImage; + model.Sites = entity.Sites; + var secondaryPartnerInfo = new SecondaryPartnerInfo(); + secondaryPartnerInfo.Identity = entity.Identity; + secondaryPartnerInfo.Name = entity.Name; + secondaryPartnerInfo.IdentityType = entity.IdentityType; + model.SecondaryPartnerInfo = secondaryPartnerInfo; + var result = alipayUtils.FundExpandindirectCreate(model, $"/api/user/enterpriseWallet/alipayFundExpandindirectCreateNotify"); if (result.IsError) { entity.RiskReviewRemark = result.Msg; @@ -89,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> @@ -126,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