| | |
| | | /// 支付宝通知回传 |
| | | /// </summary> |
| | | public class GetAlipayNotifyCommandHandler( |
| | | IRepository<EnterpriseWallet> rep |
| | | IRepository<EnterpriseWallet> rep, |
| | | IMediator mediator |
| | | ) : |
| | | IRequestHandler<GetAlipayNotifyCommand, bool>, |
| | | IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool> |
| | | { |
| | | private readonly IRepository<EnterpriseWallet> rep = rep; |
| | | private readonly IMediator mediator = mediator; |
| | | |
| | | /// <summary> |
| | | /// 支付宝通知回传 |
| | |
| | | .Where(it => it.Code == request.external_agreement_no) |
| | | .FirstOrDefaultAsync(); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业钱包"); |
| | | entity.AgreementNo = request.agreement_no; |
| | | entity.SignTime = request.sign_time.ToDateTime(); |
| | | entity.ValidTime = request.valid_time.ToDateTime(); |
| | | entity.InvalidTime = request.invalid_time.ToDateTime(); |
| | | entity.SignStatus = request.status == "TEMP" |
| | | ? EnumEnterpriseWalletSignStatus.Apply |
| | | : request.status == "NORMAL" |
| | | ? EnumEnterpriseWalletSignStatus.Normal |
| | | : request.status == "STOP" |
| | | ? EnumEnterpriseWalletSignStatus.Stop |
| | | : throw Oops.Oh(EnumErrorCodeType.s510, "状态异常"); |
| | | entity.AlipayLogonId = request.alipay_logon_id; |
| | | entity.PrincipalId = request.alipay_user_id; |
| | | entity.PrincipalOpenId = request.alipay_open_id; |
| | | entity.ZmOpenId = request.zm_open_id; |
| | | entity.CreditAuthMode = request.credit_auth_mode; |
| | | await rep.UpdateAsync(entity); |
| | | await mediator.Send(new GetEnterpriseWalletQuery |
| | | { |
| | | EnterpriseId = entity.EnterpriseId, |
| | | Access = EnumEnterpriseWalletAccess.Alipay |
| | | }); |
| | | return true; |
| | | } |
| | | } |