using BBWYB.Server.Business;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Dto;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace BBWYB.Server.API.Controllers
{
///
/// 限时任务
///
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class TimeLimitTaskController : BaseApiController
{
private TimeLimitTaskBusiness timeLimitTaskBusiness;
public TimeLimitTaskController(IHttpContextAccessor httpContextAccessor, TimeLimitTaskBusiness timeLimitTaskBusiness) : base(httpContextAccessor)
{
this.timeLimitTaskBusiness = timeLimitTaskBusiness;
}
///
/// 检查任务过期(自动任务,前端无需对接)
///
[HttpPost]
[AllowAnonymous]
public void CheckTask()
{
timeLimitTaskBusiness.CheckTask();
}
///
/// 修复订单缺失的待核算任务
///
[HttpPost]
[AllowAnonymous]
public void RepairOrderComputationTask()
{
timeLimitTaskBusiness.RepairOrderComputationTask();
}
///
/// 查询限时任务列表
///
///
///
[HttpPost]
public TimeLimitTaskListResponse QueryTimeLimitTask([FromBody] QueryTimeLimitTaskRequest request)
{
return timeLimitTaskBusiness.QueryTimeLimitTask(request);
}
///
/// 限时任务统计
///
///
///
[HttpPost]
public IList TimeOutStatistics([FromBody] QueryTimeOutRequest request)
{
return timeLimitTaskBusiness.TimeOutStatistics(request);
}
///
/// 修改备注
///
///
[HttpPost]
public void EditTimeLimitTaskRemark([FromBody] EditTimeLimitTaskRemarkRequest request)
{
timeLimitTaskBusiness.EditTimeLimitTaskRemark(request);
}
///
/// 测试计算过期时间
///
///
/// 起点时间
[HttpGet]
[AllowAnonymous]
public DateTime TestExpireTime([FromQuery] Enums.TimeLimitTaskType timeLimitTaskType, [FromQuery] DateTime startTime)
{
return timeLimitTaskBusiness.TestExpireTime(timeLimitTaskType, startTime);
}
///
/// 测试计算剩余时间
///
///
///
[HttpGet]
[AllowAnonymous]
public (long, TimeSpan) TextLessTime([FromQuery] DateTime expireTime)
{
return timeLimitTaskBusiness.TextLessTime(expireTime);
}
}
}