using F9WebAiTest.Application.Common; using F9WebAiTest.Application.Dtos.SYS.Gongyingshangs; using F9WebAiTest.Application.Interfaces.Repositories.SYS.Gongyingshangs; using F9WebAiTest.Domain.Enums.SYS.Gongyingshangs; using MediatR; namespace F9WebAiTest.Application.CQRS.SYS.Gongyingshangs.Queries; /// 往来单位分页查询(业务类型 + 销售类型 + 关键字) public record GetGongyingshangPagedQuery(Gys_Type_Enum Type = Gys_Type_Enum.干茧, Gys_SaleType_Enum? SaleType = null, string Like = "", int PageIndex = 1, int PageSize = 20) : IRequest>; public class GetGongyingshangPagedQueryHandler(IGongyingshangReadRepository readRepository) : IRequestHandler> { public async Task> Handle(GetGongyingshangPagedQuery query, CancellationToken ct) => await readRepository.GetPagedAsync(query.Type, query.SaleType, query.Like, query.PageIndex, query.PageSize); } /// 按 Id 查询往来单位(编辑回显) public record GetGongyingshangByIdQuery(long Id) : IRequest; public class GetGongyingshangByIdQueryHandler(IGongyingshangReadRepository readRepository) : IRequestHandler { public async Task Handle(GetGongyingshangByIdQuery query, CancellationToken ct) => await readRepository.GetByIdForEditAsync(query.Id); }