using Microsoft.AspNetCore.Mvc; using QYZH.InteractiveMagazine.IService; using QYZH.InteractiveMagazine.Models.Dto; using QYZH.InteractiveMagazine.Models.Dto.Banner; using QYZH.InteractiveMagazine.Models.Enum; namespace QYZH.InteractiveMagazine.WebApi.Controllers; /// /// 轮播图管理控制器 /// [Route("api/[controller]")] [ApiController] [ApiExplorerSettings(GroupName = nameof(ApiVersionEnum.Platform))] public class BannerController(IBannerService bannerService) : BaseController { /// /// 创建轮播图 /// /// 轮播图信息 /// 创建后的轮播图信息 [HttpPost] public async Task> CreateAsync([FromBody] BannerInput input) { var result = await bannerService.CreateAsync(input); return Success(result, "创建轮播图成功"); } /// /// 更新轮播图 /// /// 轮播图ID /// 轮播图信息 /// 更新后的轮播图信息 [HttpPut("{id}")] public async Task> UpdateAsync(long id, [FromBody] BannerInput input) { var result = await bannerService.UpdateAsync(id, input); return Success(result, "更新轮播图成功"); } /// /// 删除轮播图 /// /// 轮播图ID /// 操作结果 [HttpDelete("{id}")] public async Task> DeleteAsync(long id) { await bannerService.DeleteAsync(id); return Success(new object(), "删除轮播图成功"); } /// /// 根据ID获取轮播图 /// /// 轮播图ID /// 轮播图信息 [HttpGet("{id}")] public async Task> GetByIdAsync(long id) { var result = await bannerService.GetByIdAsync(id); return Success(result); } /// /// 分页查询轮播图列表 /// /// 查询条件 /// 分页结果 [HttpPost("list")] public async Task>> GetListAsync([FromBody] BannerQueryInput input) { var result = await bannerService.GetListAsync(input); return Success(result); } /// /// 更新轮播图启用/禁用状态 /// /// 轮播图ID /// 操作结果 [HttpPut("{id}/status")] public async Task> UpdateStatusAsync(long id) { var result = await bannerService.UpdateStatusAsync(id); return Success(result, "更新轮播图状态成功"); } }