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/GetAlipayNotifyCommandHandler.cs | 40 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 37 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs index b34a4c8..f826fed 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs @@ -1,5 +1,12 @@ -锘縰sing FlexJobApi.Core; +锘縰sing Azure; +using FlexJobApi.Core; +using Furion; +using Furion.DatabaseAccessor; +using Furion.FriendlyException; using MediatR; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore; +using Org.BouncyCastle.Ocsp; using System; using System.Collections.Generic; using System.Linq; @@ -11,9 +18,16 @@ /// <summary> /// 鏀粯瀹濋�氱煡鍥炰紶 /// </summary> - public class GetAlipayNotifyCommandHandler : - IRequestHandler<GetAlipayNotifyCommand, bool> + public class GetAlipayNotifyCommandHandler( + IRepository<EnterpriseWallet> rep, + IMediator mediator + ) : + IRequestHandler<GetAlipayNotifyCommand, bool>, + IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool> { + private readonly IRepository<EnterpriseWallet> rep = rep; + private readonly IMediator mediator = mediator; + /// <summary> /// 鏀粯瀹濋�氱煡鍥炰紶 /// </summary> @@ -24,5 +38,25 @@ { return Task.FromResult(true); } + + /// <summary> + /// 鏀粯瀹濈敤鎴锋巿鏉冨崗璁绾﹂�氱煡 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken) + { + var entity = await rep.AsQueryable() + .Where(it => it.Code == request.external_agreement_no) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘"); + await mediator.Send(new GetEnterpriseWalletQuery + { + EnterpriseId = entity.EnterpriseId, + Access = EnumEnterpriseWalletAccess.Alipay + }); + return true; + } } } -- Gitblit v1.9.1