using StopShopping.Services; using StopShopping.Services.Models.Req; using StopShopping.Services.Models.Resp; namespace StopShopping.AdminApi.Routes; /// /// 商品相关路由 /// public static class Product { public static RouteGroupBuilder MapProduct(this RouteGroupBuilder routes) { routes.MapGet("/product/list", SearchProductsAsync) .WithTags(OpenApiTags.商品.ToString()); routes.MapGet("/product/detail", Detail) .WithTags(OpenApiTags.商品.ToString()); routes.MapPost("/product/edit", EditAsync) .WithTags(OpenApiTags.商品.ToString()); routes.MapPost("/product/delete", DeleteAsync) .WithTags(OpenApiTags.商品.ToString()); return routes; } private static async Task>> SearchProductsAsync( [AsParameters] ProductSearchParms model, IProductService productService ) { return await productService.SearchAsync(model); } private static ApiResponse Detail( [AsParameters] ProductIdParams model, IProductService productService) { return productService.Detail(model); } private static async Task EditAsync( EditProductParams model, IProductService productService ) { return await productService.EditAsync(model); } private static async Task DeleteAsync( ProductIdParams model, IProductService productService ) { return await productService.DeleteAsync(model); } }