using FlexJobApi.Core; using Furion.DatabaseAccessor; using MediatR; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.CommonServer.Application { /// /// 查询编号地址 /// /// public class CodeUrlQueryHandler( IRepository rep ) : IRequestHandler { private readonly IRepository rep = rep; /// /// 查询编号地址 /// /// /// /// public async Task Handle(GetCodeUrlQuery request, CancellationToken cancellationToken) { var now = DateTime.Now; return await rep.AsQueryable().AsNoTracking() .Where(it => it.Scene == request.Scene && it.Code == request.Code && (it.ExpiredTime == null || it.ExpiredTime > now)) .Select(it => it.Url) .FirstOrDefaultAsync(); } } }