2025-06-06 16:55:14 +08:00

140 lines
4.1 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using VOL.Business.IServices;
using VOL.Business.Services;
using VOL.Core.Filters;
using VOL.Core.ManageUser;
using VOL.Core.Utilities;
using VOL.Entity.DomainModels;
using VOL.Entity.DomainModels.YD;
using VOL.Entity.Enum;
using VOL.Model;
using VOL.Model.Ai;
using VOL.Model.Ai.Request;
using VOL.Model.IOT.Response;
using VOL.Model.Stadium;
using VOL.WebApi.Filter;
namespace VOL.WebApi.Controllers.Business
{
/// <summary>
/// 场馆
/// </summary>
[Route("api/[controller]")]
[ApiController]
[ApiExplorerSettings(GroupName = "v3")]
[TypeFilter(typeof(CustomApiResponseFilter))]
public class StadiumController : ControllerBase
{
#region
private readonly IStadiumService _stadiumService;
public StadiumController(
IStadiumService stadiumService)
{
_stadiumService = stadiumService;
}
#endregion
/// <summary>
/// 场馆列表
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpGet(nameof(StadiumList))]
public async Task<PageDataDto<StadiumListDto>> StadiumList([FromQuery] StadiumListVo dto)
{
var result = await _stadiumService.StadiumList(dto);
return result;
}
/// <summary>
/// 获取场馆详情
/// </summary>
/// <param name="stadiumId"></param>
/// <returns></returns>
[HttpGet(nameof(StadiumDetails))]
public async Task<StadiumDetailsDto> StadiumDetails(int stadiumId)
{
var result = await _stadiumService.StadiumDetails(stadiumId);
return result;
}
/// <summary>
/// 新增场馆
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost(nameof(Add))]
public async Task<ActionResult> Add([FromBody] StadiumDetailsDto dto)
{
await _stadiumService.Add(dto);
return Ok("新增成功");
}
/// <summary>
/// 更新场馆
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost(nameof(Update))]
public async Task<ActionResult> Update([FromBody] StadiumDetailsDto dto)
{
await _stadiumService.Update(dto);
return Ok("更新成功");
}
/// <summary>
/// 更新场馆状态
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost(nameof(UpdateStatus))]
public async Task<ActionResult> UpdateStatus([FromBody] StadiumDetailsDto dto)
{
await _stadiumService.UpdateStatus(dto);
return Ok("更新成功");
}
/// <summary>
/// 删除场馆
/// </summary>
/// <param name="stadiumId"></param>
/// <returns></returns>
[HttpPost(nameof(Delete))]
public async Task<ActionResult> Delete([FromQuery] int stadiumId)
{
await _stadiumService.Delete(stadiumId);
return Ok("删除成功");
}
/// <summary>
/// 预约列表
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpGet(nameof(StadiumVisitingList))]
public async Task<PageDataDto<StadiumVisitingDto>> StadiumVisitingList([FromQuery] StadiumVisitingVo dto)
{
var result = await _stadiumService.StadiumVisitingList(dto);
return result;
}
/// <summary>
/// 上传图片/视频
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
[HttpPost(nameof(UploadImage))]
public Y_StadiumResource UploadImage(IFormFile file)
{
var url = _stadiumService.UploadImage(file);
return url;
}
}
}