using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Yi.Framework.Common.Models; using Yi.Framework.DTOModel.Vo; using Yi.Framework.Interface; using Yi.Framework.Model.Models; using Yi.Framework.Repository; using Yi.Framework.WebCore; using Yi.Framework.WebCore.AttributeExtend; using Yi.Framework.WebCore.AuthorizationPolicy; namespace Yi.Framework.ApiMicroservice.Controllers { /// /// 文章控制器 /// [ApiController] [Route("api/[controller]/[action]")] public class ArticleController : BaseSimpleCrudController { private IArticleService _iArticleService; private IMapper _mapper; public ArticleController(ILogger logger, IArticleService iArticleService, IMapper mapper) : base(logger, iArticleService) { _iArticleService = iArticleService; _mapper = mapper; } /// /// 动态条件分页查询 /// /// /// /// [HttpGet] public async Task PageList([FromQuery] ArticleEntity entity, [FromQuery] PageParModel page) { var pageData = await _iArticleService.SelctPageList(entity, page); return Result.Success().SetData(new PageModel() { Data = _mapper.Map>(pageData.Data), Total = pageData.Total }); } /// /// 添加 /// /// /// public override Task Add(ArticleEntity entity) { //如果标题为空,默认为内容的前20个字符 entity.Title = string.IsNullOrEmpty(entity.Title) ? (entity.Content?.Length > 20 ? entity.Content.Substring(0, 20) : entity.Content) : entity.Title; entity.UserId = HttpContext.GetUserIdInfo(); return base.Add(entity); } } }