/***********************************************************************
|
* Project: CoreCms
|
* ProjectName: 百分兵法管理系统
|
* Web: hhtp://chuanyin.com
|
* Author:
|
* Email:
|
* CreateTime: 202403/02
|
* 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
|
{
|
/// <summary>
|
/// 广告api控制器
|
/// </summary>
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
public class AdvertController : ControllerBase
|
{
|
|
private IHttpContextUser _user;
|
private readonly ICoreCmsArticleServices _articleServices;
|
private readonly ICoreCmsAdvertPositionServices _advertPositionServices;
|
private readonly ICoreCmsAdvertisementServices _advertisementServices;
|
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
/// <param name="user"></param>
|
/// <param name="articleServices"></param>
|
/// <param name="advertPositionServices"></param>
|
/// <param name="advertisementServices"></param>
|
public AdvertController(IHttpContextUser user
|
, ICoreCmsArticleServices articleServices
|
, ICoreCmsAdvertPositionServices advertPositionServices
|
, ICoreCmsAdvertisementServices advertisementServices
|
)
|
{
|
_user = user;
|
_articleServices = articleServices;
|
_advertPositionServices = advertPositionServices;
|
_advertisementServices = advertisementServices;
|
}
|
|
#region 获取广告列表=============================================================================
|
/// <summary>
|
/// 获取广告列表
|
/// </summary>
|
/// <param name="entity"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<WebApiCallBack> 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 获取广告位置信息=============================================================================
|
/// <summary>
|
/// 获取广告位置信息
|
/// </summary>
|
/// <param name="entity"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<WebApiCallBack> 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
|
|
}
|
}
|