using Microsoft.AspNetCore.Mvc;
using ZR.Model.Public;
using ZR.Model.Public.Dto;
using ZR.Service.Public.IPublicService;
//创建时间:2024-05-11
namespace ZR.Admin.WebApi.Controllers.Public
{
///
/// 广告管理
///
[Route("public/BannerConfig")]
public class BannerConfigController : BaseController
{
///
/// 广告管理接口
///
private readonly IBannerConfigService _BannerConfigService;
public BannerConfigController(IBannerConfigService BannerConfigService)
{
_BannerConfigService = BannerConfigService;
}
///
/// 查询广告管理列表
///
///
///
[HttpGet("list")]
[ActionPermissionFilter(Permission = "bannerconfig:list")]
public IActionResult QueryBannerConfig([FromQuery] BannerConfigQueryDto parm)
{
var response = _BannerConfigService.GetList(parm);
return SUCCESS(response);
}
///
/// 查询广告管理详情
///
///
///
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "bannerconfig:query")]
public IActionResult GetBannerConfig(int Id)
{
var response = _BannerConfigService.GetInfo(Id);
var info = response.Adapt();
return SUCCESS(info);
}
///
/// 添加广告管理
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "bannerconfig:add")]
[Log(Title = "广告管理", BusinessType = BusinessType.INSERT)]
public IActionResult AddBannerConfig([FromBody] BannerConfigDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _BannerConfigService.AddBannerConfig(modal);
return SUCCESS(response);
}
///
/// 更新广告管理
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "bannerconfig:edit")]
[Log(Title = "广告管理", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateBannerConfig([FromBody] BannerConfigDto parm)
{
var modal = parm.Adapt();
var response = _BannerConfigService.UpdateBannerConfig(modal);
return ToResponse(response);
}
///
/// 删除广告管理
///
///
[HttpDelete("delete/{ids}")]
[ActionPermissionFilter(Permission = "bannerconfig:delete")]
[Log(Title = "广告管理", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteBannerConfig([FromRoute] string ids)
{
var idArr = Tools.SplitAndConvert(ids);
return ToResponse(_BannerConfigService.Delete(idArr, "删除广告管理"));
}
///
/// 导出广告管理
///
///
[Log(Title = "广告管理", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("export")]
[ActionPermissionFilter(Permission = "bannerconfig:export")]
public IActionResult Export([FromQuery] BannerConfigQueryDto parm)
{
parm.PageNum = 1;
parm.PageSize = 100000;
var list = _BannerConfigService.ExportList(parm).Result;
if (list == null || list.Count <= 0)
{
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
var result = ExportExcelMini(list, "广告管理", "广告管理");
return ExportExcel(result.Item2, result.Item1);
}
///
/// 保存排序
///
/// 主键
/// 排序值
///
[ActionPermissionFilter(Permission = "bannerconfig:edit")]
[HttpGet("ChangeSort")]
[Log(Title = "保存排序", BusinessType = BusinessType.UPDATE)]
public IActionResult ChangeSort(int id = 0, int value = 0)
{
if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
var response = _BannerConfigService.Update(w => w.Id == id, it => new BannerConfig()
{
SortId = value,
});
return ToResponse(response);
}
///
/// 查询广告管理列表
///
///
///
[HttpGet("bannerList")]
[AllowAnonymous]
public IActionResult QueryBannerList([FromQuery] BannerConfigQueryDto parm)
{
var response = _BannerConfigService.GetBannerList(parm);
return SUCCESS(new { list = response });
}
}
}