From a9b167cb33e5c40a41ba09c551702806ab64c230 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 03 九月 2025 11:03:12 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 41 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs index 5fd388d..e34811a 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs @@ -23,7 +23,8 @@ AlipayUtils alipayUtils ) : IRequestHandler<OpenEnterpriseWalletCommand, OpenEnterpriseWalletCommandResult>, - IRequestHandler<CloseEnterpriseWalletCommand, Guid> + IRequestHandler<CloseEnterpriseWalletCommand, Guid>, + IRequestHandler<AlipayTransferCommand, Guid> { private readonly IRepository<EnterpriseWallet> rep = rep; private readonly IRepository<Enterprise> repEnterprise = repEnterprise; @@ -76,10 +77,10 @@ { Channel = "QRCODE" }; - var response = alipayUtils.UserAgreementPageSign(model, $"/api/user/enterpriseWallet/getAlipayUserAgreementPageSignNotify"); + var response = alipayUtils.UserAgreementPageSign(model, $"/api/user/enterpriseWallet/alipayUserAgreementPageSignNotify"); if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg); var result = new OpenEnterpriseWalletCommandResult(); - result.SignUrl = response.PageRedirectionData; + result.SignUrl = response.Body; return result; } @@ -108,6 +109,43 @@ return entity.Id; } + public async Task<Guid> Handle(AlipayTransferCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entity = await rep.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == EnumEnterpriseWalletAccess.Alipay) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘"); + var response = alipayUtils.FundTransUniTransfer(new AlipayFundTransUniTransferModel + { + OutBizNo = $"Test{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}", + TransAmount = "0.01", + ProductCode = "TRANS_ACCOUNT_NO_PWD", + PayeeInfo = new Participant + { + IdentityType = "BANKCARD_ACCOUNT", + Identity = "6214180000016351382", + Name = "瀛欓箯椋�", + BankcardExtInfo = new BankcardExtInfo + { + AccountType = "2", + InstName = "瀹佹尝閾惰" + } + }, + PayerInfo = new Participant + { + IdentityType = "ALIPAY_OPEN_ID", + Identity = entity.PrincipalOpenId, + Name = "瀛欓箯椋�" + }, + BizScene = "CAE_TRANSFER", + OrderTitle = "娴嬭瘯浠f墸", + Remark = "娴嬭瘯浠f墸澶囨敞" + }); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg); + return entity.Id; + } + private async Task SetCode(EnterpriseWallet entity) { entity.Code = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}"; -- Gitblit v1.9.1