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 BaseSimpleCrudController : BaseExcelController where T : class, new() { protected readonly ILogger _logger; protected IBaseService _baseService; public BaseSimpleCrudController(ILogger logger, IBaseService iBaseService):base(iBaseService._repository) { _logger = logger; _baseService = iBaseService; } /// /// 主键查询 /// /// /// [Route("{id}")] [HttpGet] public virtual async Task GetById([FromRoute]long id) { return Result.Success().SetData(await _repository.GetByIdAsync(id)); } /// /// 全部列表查询 /// /// [HttpGet] public virtual async Task GetList() { return Result.Success().SetData(await _repository.GetListAsync()); } /// /// 添加 /// /// /// [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 DelList(List ids) { return Result.Success().SetStatus(await _repository.DeleteByIdsAsync(ids.ToDynamicArray())); } } }