using 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; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.UserServer.Application { /// /// 支付宝通知回传 /// public class GetAlipayNotifyCommandHandler( IRepository rep ) : IRequestHandler, IRequestHandler { private readonly IRepository rep = rep; /// /// 支付宝通知回传 /// /// /// /// public Task Handle(GetAlipayNotifyCommand request, CancellationToken cancellationToken) { return Task.FromResult(true); } /// /// 支付宝用户授权协议签约通知 /// /// /// /// public async Task 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, "企业钱包"); 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); return true; } } }