using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Localization; using Yi.Framework.Common.Helper; using Yi.Framework.Common.Models; using Yi.Framework.Interface; using Yi.Framework.Language; using Yi.Framework.Model.Models; using Yi.Framework.Model.Query; using Yi.Framework.Repository; using Yi.Framework.WebCore.AttributeExtend; namespace Yi.Framework.ApiMicroservice.Controllers { /// /// Json To Sql 类比模式,通用模型 /// /// [ApiController] public class BaseCrudController : BaseExcelController where T : class,new() { protected readonly ILogger _logger; protected IBaseService _baseService; public BaseCrudController(ILogger logger, IBaseService iBaseService):base(iBaseService._repository) { _logger = logger; _baseService = iBaseService; } /// /// 主键查询 /// /// /// [HttpGet] public virtual async Task GetById(long id) { return Result.Success().SetData(await _repository.GetByIdAsync(id)); } /// /// 列表查询 /// /// [HttpPost] public virtual async Task GetList(QueryCondition queryCondition) { return Result.Success().SetData(await _repository.GetListAsync(queryCondition)); } /// /// 条件分页查询 /// /// /// [HttpPost] public virtual async Task PageList(QueryPageCondition queryCondition) { return Result.Success().SetData(await _repository.CommonPageAsync(queryCondition)); } /// /// 添加 /// /// /// [HttpPost] public virtual async Task Add(T entity) { return Result.Success().SetData(await _repository.InsertReturnSnowflakeIdAsync(entity)); } /// /// 修改 /// /// /// [HttpPut] public virtual async Task Update(T entity) { return Result.Success().SetStatus(await _repository.UpdateIgnoreNullAsync(entity)); } /// /// 列表删除 /// /// /// [HttpDelete] public virtual async Task DeleteList(List ids) { return Result.Success().SetStatus(await _repository.DeleteByIdAsync(ids.ToDynamicArray())); } } }