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);
}