Files
f9-web-ai-test/backend/F9WebAiTest.Application/CQRS/SYS/YuanliaoZhuangkous/Queries/YuanliaoZhuangkouQueries.cs
T
2026-10-08 15:44:07 +08:00

41 lines
2.2 KiB
C#

using F9WebAiTest.Application.Common;
using F9WebAiTest.Application.Dtos.SYS.WuziMulus;
using F9WebAiTest.Application.Dtos.SYS.YuanliaoZhuangkous;
using F9WebAiTest.Application.Interfaces.Repositories.SYS.YuanliaoZhuangkous;
using MediatR;
namespace F9WebAiTest.Application.CQRS.SYS.YuanliaoZhuangkous.Queries;
/// <summary>原料庄口分页查询(年度 + 产地/站点/季别 + 关键字)</summary>
public record GetYuanliaoZhuangkouPagedQuery(
int Year = 0, string Chandi = "", string Zhandian = "", string Jibie = "", string Like = "",
int PageIndex = 1, int PageSize = 20) : IRequest<PageResult<YuanliaoZhuangkouReadDto_Table>>;
public class GetYuanliaoZhuangkouPagedQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
: IRequestHandler<GetYuanliaoZhuangkouPagedQuery, PageResult<YuanliaoZhuangkouReadDto_Table>>
{
public async Task<PageResult<YuanliaoZhuangkouReadDto_Table>> Handle(GetYuanliaoZhuangkouPagedQuery query, CancellationToken ct)
=> await readRepository.GetPagedAsync(query.Year, query.Chandi, query.Zhandian, query.Jibie,
query.Like, query.PageIndex, query.PageSize);
}
/// <summary>按 Id 查询原料庄口(编辑回显)</summary>
public record GetYuanliaoZhuangkouByIdQuery(long Id) : IRequest<YuanliaoZhuangkouReadDto_Edit>;
public class GetYuanliaoZhuangkouByIdQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
: IRequestHandler<GetYuanliaoZhuangkouByIdQuery, YuanliaoZhuangkouReadDto_Edit>
{
public async Task<YuanliaoZhuangkouReadDto_Edit> Handle(GetYuanliaoZhuangkouByIdQuery query, CancellationToken ct)
=> await readRepository.GetByIdForEditAsync(query.Id);
}
/// <summary>物资(茧别)下拉选项:来自物资目录中名称含"茧"的物资,支持关键字过滤</summary>
public record GetYuanliaoZhuangkouWuziOptionsQuery(string Keyword = "") : IRequest<List<WuziMuluOptionDto>>;
public class GetYuanliaoZhuangkouWuziOptionsQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
: IRequestHandler<GetYuanliaoZhuangkouWuziOptionsQuery, List<WuziMuluOptionDto>>
{
public async Task<List<WuziMuluOptionDto>> Handle(GetYuanliaoZhuangkouWuziOptionsQuery query, CancellationToken ct)
=> await readRepository.GetWuziOptionsAsync(query.Keyword);
}