using Microsoft.AspNetCore.Mvc; using ZR.Model.Content; using ZR.Model.Content.Dto; using ZR.Service.Content.IService; namespace ZR.Admin.WebApi.Controllers { /// /// 内容管理 /// [Route("article")] [ApiExplorerSettings(GroupName = "article")] public class ArticleController : BaseController { /// /// 文章接口 /// private readonly IArticleService _ArticleService; private readonly IArticleCategoryService _ArticleCategoryService; public ArticleController( IArticleService ArticleService, IArticleCategoryService articleCategoryService) { _ArticleService = ArticleService; _ArticleCategoryService = articleCategoryService; _ArticleService = ArticleService; } /// /// 查询文章列表 /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "system:article:list")] public IActionResult Query([FromQuery] ArticleQueryDto parm) { var response = _ArticleService.GetList(parm); return SUCCESS(response); } /// /// 内容批量审核通过 /// /// [HttpPut("pass/{ids}")] [ActionPermissionFilter(Permission = "article:audit")] [Log(Title = "内容审核", BusinessType = BusinessType.UPDATE)] public IActionResult PassedMonents(string ids) { long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"审核通过失败Id 不能为空")); } return ToResponse(_ArticleService.Passed(idsArr)); } /// /// 内容批量审核拒绝 /// /// [HttpPut("reject/{ids}")] [ActionPermissionFilter(Permission = "article:audit")] [Log(Title = "内容审核", BusinessType = BusinessType.UPDATE)] public IActionResult RejectMonents(string ids, string reason = "") { long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"審核拒绝失败Id 不能为空")); } int result = _ArticleService.Reject(reason, idsArr); return ToResponse(result); } /// /// 查询我的文章列表 /// /// [HttpGet("mylist")] public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm) { parm.UserId = HttpContext.GetUId(); var response = _ArticleService.GetMyList(parm); return SUCCESS(response); } /// /// 查询文章详情 /// /// /// [HttpGet("{id}")] public IActionResult Get(int id) { long userId = HttpContext.GetUId(); var model = _ArticleService.GetArticle(id, userId); ApiResult apiResult = ApiResult.Success(model); return ToResponse(apiResult); } /// /// 发布文章 /// /// [HttpPost("add")] [ActionPermissionFilter(Permission = "system:article:add")] //[Log(Title = "发布文章", BusinessType = BusinessType.INSERT)] public IActionResult Publish([FromBody] ArticleDto parm) { var addModel = parm.Adapt
().ToCreate(context: HttpContext); return SUCCESS(_ArticleService.PublishArticle(addModel)); } /// /// 更新文章 /// /// [HttpPut("edit")] [ActionPermissionFilter(Permission = "system:article:update")] //[Log(Title = "文章修改", BusinessType = BusinessType.UPDATE)] public IActionResult Update([FromBody] ArticleDto parm) { parm.AuthorName = HttpContext.GetName(); var modal = parm.Adapt
().ToUpdate(HttpContext); var response = _ArticleService.UpdateArticle(modal); return SUCCESS(response); } /// /// 置顶 /// /// [HttpPut("top")] [ActionPermissionFilter(Permission = "system:article:update")] [Log(Title = "置顶文章", BusinessType = BusinessType.UPDATE)] public IActionResult Top([FromBody] Article parm) { var response = _ArticleService.TopArticle(parm); return SUCCESS(response); } /// /// 是否公开 /// /// [HttpPut("changePublic")] [ActionPermissionFilter(Permission = "system:article:update")] [Log(Title = "是否公开", BusinessType = BusinessType.UPDATE)] public IActionResult ChangePublic([FromBody] Article parm) { var response = _ArticleService.ChangeArticlePublic(parm); return SUCCESS(response); } /// /// 删除文章 /// /// [HttpDelete("{id}")] [ActionPermissionFilter(Permission = "system:article:delete")] [Log(Title = "文章删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete(int id = 0) { var response = _ArticleService.Delete(id); return SUCCESS(response); } } }