using FlexJobApi.Core; using Furion.DatabaseAccessor; using Furion.FriendlyException; using Mapster; using MediatR; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.UserServer.Application { /// /// 查询支付宝资金二级商户KYB代进件单详情 /// public class AlipayFundExpandindirectQueryHandler( IRepository rep, AlipayUtils alipayUtils ) : IRequestHandler { private readonly IRepository rep = rep; private readonly AlipayUtils alipayUtils = alipayUtils; /// /// 查询支付宝资金二级商户KYB代进件单详情 /// /// /// /// public async Task Handle(GetAlipayFundExpandindirectOrderQuery request, CancellationToken cancellationToken) { var entity = await rep.AsQueryable() .Where(it => it.Id == request.Id) .FirstOrDefaultAsync(); if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "代进件单"); var result = alipayUtils.FundExpandindirectOrderQuery(new Aop.Api.Domain.AlipayFundExpandindirectOrderQueryModel { BizScene = entity.BizScene, OrderId = entity.OrderId, OutBizNo = entity.OutBizNo, ProductCode = entity.ProductCode, }); if (result.IsError) throw Oops.Oh(EnumErrorCodeType.s510, result.Msg); entity.Status = result.Status; entity.TaskFinishTime = result.TaskFinishTime; entity.RiskReviewRemark = result.RiskReviewRemark; await rep.UpdateAsync(entity); return entity.Adapt(); } } }