YD_SmartSports.Api/VOL.WebApi/Controllers/Business/ActivitiesEntryController.cs
2025-06-06 16:00:39 +08:00

118 lines
3.9 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using VOL.Business.IServices;
using VOL.Business.IServices.School;
using VOL.Business.Services;
using VOL.Business.Services.Norm;
using VOL.Business.Services.School;
using VOL.Core.Filters;
using VOL.Core.ManageUser;
using VOL.Core.Utilities;
using VOL.Model;
using VOL.Model.Norm.Request;
namespace VOL.WebApi.Controllers.Business
{
/// <summary>
/// 赛事报名管理
/// </summary>
[Route("api/[controller]")]
[ApiController]
[ApiExplorerSettings(GroupName = "v3")]
[TypeFilter(typeof(CustomApiResponseFilter))]
public class ActivitiesEntryController : ControllerBase
{
#region
private readonly IG_ActivitiesEntryService _activitiesEntryService;
public ActivitiesEntryController(
IG_ActivitiesEntryService activitiesEntryService)
{
_activitiesEntryService = activitiesEntryService;
}
#endregion
/// <summary>
/// 分页列表
/// </summary>
/// <returns></returns>
[HttpGet(nameof(GetActivitiesEntryPageList))]
public async Task<PageDataDto<ActivitiesEntryListModel>> GetActivitiesEntryPageList(ActivitiesEntryPageListParam paramDto)
{
return await _activitiesEntryService.GetActivitiesEntryPageList(paramDto);
}
/// <summary>
/// 导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpGet(nameof(Export))]
public async Task<ActionResult> Export(ActivitiesEntryExportParam paramDto)
{
var rseList = await _activitiesEntryService.GetActivitiesEntryList(paramDto);
var disList = new Dictionary<string, List<ActivitiesEntryListModel>>();
disList.Add("赛事报名列表", rseList);
var exportColumns = Tool.GetPropertyNames<ActivitiesEntryListModel>();
var excelBytes = Tool.ExportToExcel(disList, exportColumns);
Response.Headers.Add("Content-Disposition", "attachment; filename=ExportedData.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
return File(excelBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"赛事报名列表{DateTime.Now.ToString("yyyyMMddHHmmss")}");
}
/// <summary>
/// 报名
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpPost(nameof(Add))]
public async Task<ActionResult> Add([FromBody] AddActivitiesEntryParam paramDto)
{
await _activitiesEntryService.AddActivitiesEntry(paramDto);
return Ok("新增成功");
}
/// <summary>
/// 更新
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpPost(nameof(Modify))]
public async Task<ActionResult> Modify([FromBody] AddActivitiesEntryParam paramDto)
{
await _activitiesEntryService.ModifyActivitiesEntry(paramDto);
return Ok("更新成功");
}
/// <summary>
/// 取消报名
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpPost(nameof(Delete))]
public async Task<ActionResult> Delete(int id)
{
await _activitiesEntryService.DeleteActivitiesEntry(id);
return Ok("删除成功");
}
/// <summary>
/// 详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost(nameof(Details))]
public async Task<ActivitiesEntryDetailsModel> Details(int id)
{
return await _activitiesEntryService.Details(id);
}
}
}