From df19a6d58ef1d94e11c4dbfd76074e0e54d3d32c Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 05 九月 2025 10:59:32 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.CommonServer.Application/CodeUrls/Queries/CodeUrlQueryHandler.cs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/FlexJobApi.CommonServer.Application/CodeUrls/Queries/CodeUrlQueryHandler.cs b/FlexJobApi.CommonServer.Application/CodeUrls/Queries/CodeUrlQueryHandler.cs new file mode 100644 index 0000000..5848b3d --- /dev/null +++ b/FlexJobApi.CommonServer.Application/CodeUrls/Queries/CodeUrlQueryHandler.cs @@ -0,0 +1,43 @@ +锘縰sing 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 +{ + /// <summary> + /// 鏌ヨ缂栧彿鍦板潃 + /// </summary> + /// <param name="rep"></param> + public class CodeUrlQueryHandler( + IRepository<CodeUrl> rep + ) : + IRequestHandler<GetCodeUrlQuery, string?> + { + private readonly IRepository<CodeUrl> rep = rep; + + /// <summary> + /// 鏌ヨ缂栧彿鍦板潃 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<string?> 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(); + } + } +} -- Gitblit v1.9.1