using Microsoft.AspNetCore.Mvc; using ZR.LiveForum.Model.Liveforum.Dto; using ZR.LiveForum.Model.Liveforum; using ZR.Service.Liveforum.ILiveforumService; //创建时间:2025-11-22 namespace ZR.Admin.WebApi.Controllers.Liveforum { /// /// 首页轮播图 /// [Route("liveforum/tbanners")] public class T_BannersController : BaseController { /// /// 首页轮播图接口 /// private readonly IT_BannersService _T_BannersService; public T_BannersController(IT_BannersService T_BannersService) { _T_BannersService = T_BannersService; } /// /// 查询首页轮播图列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "tbanners:list")] public IActionResult QueryT_Banners([FromQuery] T_BannersQueryDto parm) { var response = _T_BannersService.GetList(parm); return SUCCESS(response); } /// /// 查询首页轮播图详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "tbanners:query")] public IActionResult GetT_Banners(int Id) { var response = _T_BannersService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加首页轮播图 /// /// [HttpPost] [ActionPermissionFilter(Permission = "tbanners:add")] [Log(Title = "首页轮播图", BusinessType = BusinessType.INSERT)] public IActionResult AddT_Banners([FromBody] T_BannersDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); modal.Type = 0; modal.ClickCount = 0; modal.ViewCount = 0; var response = _T_BannersService.AddT_Banners(modal); return SUCCESS(response); } /// /// 更新首页轮播图 /// /// [HttpPut] [ActionPermissionFilter(Permission = "tbanners:edit")] [Log(Title = "首页轮播图", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateT_Banners([FromBody] T_BannersDto parm) { if (parm.Id == 0) { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); } var oldal = _T_BannersService.GetById(parm.Id); if (oldal == null) { throw new CustomException(ResultCode.CUSTOM_ERROR, "数据不存在"); } var modal = parm.Adapt(oldal); var response = _T_BannersService.UpdateT_Banners(modal); return ToResponse(response); } /// /// 删除首页轮播图 /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "tbanners:delete")] [Log(Title = "首页轮播图", BusinessType = BusinessType.DELETE)] public IActionResult DeleteT_Banners([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_T_BannersService.Delete(idArr)); } } }