using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Util.Applications.Controllers;
using Util.Tests.Dtos;
using Util.Tests.Queries;
using Util.Tests.Services;
namespace Util.Tests.Controllers;
///
/// 产品控制器
///
public class ProductController : CrudControllerBase {
///
/// 初始化产品控制器
///
/// 产品服务
public ProductController( IProductService service ) : base( service ) {
ProductService = service;
}
///
/// 产品服务
///
public IProductService ProductService { get; }
///
/// 获取单个实体
///
/// 标识
[HttpGet( "{id}" )]
public new async Task GetAsync( string id ) {
return await base.GetAsync( id );
}
///
/// 查询
///
/// 查询参数
[HttpGet( "Query" )]
public new async Task QueryAsync( [FromQuery] ProductQuery query ) {
return await base.QueryAsync( query );
}
///
/// 分页查询
///
/// 查询参数
[HttpGet]
public new async Task PageQueryAsync( [FromQuery] ProductQuery query ) {
return await base.PageQueryAsync( query );
}
///
/// 创建
///
/// 创建参数
[HttpPost]
public new async Task CreateAsync( ProductDto request ) {
return await base.CreateAsync( request );
}
///
/// 修改
///
/// 标识
/// 修改参数
[HttpPut( "{id?}" )]
public new async Task UpdateAsync( string id, ProductDto request ) {
return await base.UpdateAsync( id, request );
}
///
/// 删除,注意:该方法用于删除单个实体,批量删除请使用POST提交,否则可能失败
///
/// 标识
[HttpDelete( "{id}" )]
public new async Task DeleteAsync( string id ) {
return await base.DeleteAsync( id );
}
///
/// 批量删除
///
/// 标识列表,多个Id用逗号分隔,范例:1,2,3
[HttpPost( "delete" )]
public async Task BatchDeleteAsync( [FromBody] string ids ) {
return await base.DeleteAsync( ids );
}
}