118 lines
3.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|