using StopShopping.Services; using StopShopping.Services.Models.Req; using StopShopping.Services.Models.Resp; namespace StopShopping.Api.Routes; public static class Request { public static RouteGroupBuilder MapRequest(this RouteGroupBuilder routes) { routes.MapPost("/request/publish", PublishRequestAsync) .WithTags(OpenApiTags.需求.ToString()); routes.MapGet("/request/orders", OrderSearchAsync) .WithTags(OpenApiTags.需求.ToString()); routes.MapPost("/request/delete", DeleteRequestAsync) .WithTags(OpenApiTags.需求.ToString()); return routes; } public static RouteGroupBuilder MapRequestAnonymous(this RouteGroupBuilder routes) { routes.MapGet("/request/search", SearchAsync) .WithTags(OpenApiTags.需求.ToString()); return routes; } private static async Task PublishRequestAsync( CreateRequestParams model, IRequestService requestService) { return await requestService.PublishRequestAsync(model); } private static async Task>> SearchAsync( [AsParameters] RequestSearchParams model, IRequestService requestService ) { return await requestService.SearchAsync(model); } private static async Task>> OrderSearchAsync( [AsParameters] RequestSearchWithStatusParams model, IRequestService requestService ) { return await requestService.RequestOrderSearchAsync(model); } private static async Task DeleteRequestAsync( RequestIdParams model, IRequestService requestService ) { return await requestService.DeleteRequestAsync(model); } }