using Microsoft.AspNetCore.Mvc; using Yi.Framework.Common.Models; using Yi.Framework.Model.Query; using Yi.Framework.Repository; using Yi.Framework.WebCore.AttributeExtend; namespace Yi.Framework.ApiMicroservice.Controllers { /// /// 6666 /// /// [ApiController] [Route("api/[controller]/[action]")] public class BaseCrudController : ControllerBase where T : class,new() { private readonly ILogger _logger; public IRepository _iRepository; /// /// jb /// /// /// public BaseCrudController(ILogger logger, IRepository iRepository) { _logger = logger; _iRepository = iRepository; } /// /// 主键查询 /// /// /// [Permission($"{nameof(T)}:get:one")] [HttpGet] public async Task Get(object id) { return Result.Success().SetData(await _iRepository.GetByIdAsync(id)); } /// /// 列表查询 /// /// [Permission($"{nameof(T)}:get:list")] [HttpGet] public async Task GetList() { return Result.Success().SetData(await _iRepository.GetListAsync()); } /// /// 条件分页查询 /// /// /// [Permission($"{nameof(T)}:get:page")] [HttpPost] public async Task Page(QueryCondition queryCondition) { return Result.Success().SetData(await _iRepository.CommonPage(queryCondition)); } /// /// 添加 /// /// /// [Permission($"{nameof(T)}:add")] [HttpPost] public async Task Add(T entity) { return Result.Success().SetData(await _iRepository.InsertReturnEntityAsync(entity)); } /// /// 修改 /// /// /// [Permission($"{nameof(T)}:update")] [HttpPut] public async Task Update(T entity) { return Result.Success().SetStatus(await _iRepository.UpdateAsync(entity)); } /// /// 列表删除 /// /// /// [Permission($"{nameof(T)}:delete:list")] [HttpDelete] public async Task DeleteList(object[] ids) { return Result.Success().SetStatus(await _iRepository.DeleteByIdsAsync(ids)); } } }