/*********************************************************************** * Project: CoreCms * ProjectName: 核心内容管理系统 * Web: https://www.corecms.net * Author: 大灰灰 * Email: jianweie@163.com * CreateTime: 2021/1/31 21:45:10 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using CoreCms.Net.Auth.HttpContextUser; using CoreCms.Net.Configuration; using CoreCms.Net.IServices; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.FromBody; using CoreCms.Net.Model.ViewModels.UI; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace CoreCms.Net.Web.WebApi.Controllers { /// /// 广告api控制器 /// [Route("api/[controller]/[action]")] [ApiController] public class AdvertController : ControllerBase { private IHttpContextUser _user; private readonly ICoreCmsArticleServices _articleServices; private readonly ICoreCmsAdvertPositionServices _advertPositionServices; private readonly ICoreCmsAdvertisementServices _advertisementServices; /// /// 构造函数 /// /// /// /// /// public AdvertController(IHttpContextUser user , ICoreCmsArticleServices articleServices , ICoreCmsAdvertPositionServices advertPositionServices , ICoreCmsAdvertisementServices advertisementServices ) { _user = user; _articleServices = articleServices; _advertPositionServices = advertPositionServices; _advertisementServices = advertisementServices; } #region 获取广告列表============================================================================= /// /// 获取广告列表 /// /// /// [HttpPost] public async Task GetAdvertList([FromBody] FMPageByIntId entity) { var jm = new WebApiCallBack(); var list = await _advertisementServices.QueryPageAsync(p => p.code == entity.where, p => p.createTime, OrderByType.Desc, entity.page, entity.limit); jm.status = true; jm.data = list; return jm; } #endregion #region 获取广告位置信息============================================================================= /// /// 获取广告位置信息 /// /// /// [HttpPost] public async Task GetPositionList([FromBody] WxAdvert entity) { var jm = new WebApiCallBack(); var position = await _advertPositionServices.QueryByClauseAsync(p => p.isEnable && p.code == entity.code && p.platform == entity.platform); if (position == null) { jm.msg = "未获取到广告位置信息"; return jm; } jm.status = true; jm.data = new { position, childs = await _advertisementServices.QueryListByClauseAsync(p => p.positionId == position.id, p => p.sort, OrderByType.Desc, true) }; return jm; } #endregion } }