track/src/TrackCenter.Application/Services/ProvideServices/TrackTemplateService.cs
2025-07-30 22:00:02 +08:00

52 lines
2.0 KiB
C#

using Fake.Application.Dtos;
using TrackCenter.Application.Dtos.ProvideServices;
using TrackCenter.Application.Services.ProvideServices;
using TrackCenter.Domain.Aggregates.TrackTemplateAggregate;
using TrackCenter.Domain.Dtos.TrackTemplate;
namespace TrackCenter.Application.Services.ProvideServices;
/// <summary>
/// 轨迹模版服务
/// </summary>
[ApiExplorerSettings(GroupName = "提供接口")]
[Route("/ProviderService")]
public class TrackTemplateService : ApplicationServiceBase
{
private readonly ITrackTemplateRepository _trackTemplateRepository;
public TrackTemplateService(ITrackTemplateRepository trackTemplateRepository)
{
_trackTemplateRepository = trackTemplateRepository;
}
/// <summary>
/// 获取轨迹模版列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="BusinessException"></exception>
[HttpPost("Template/GetTrackTemplateList")]
public async Task<List<TrackTemplateOutput>> GetTrackTemplateListAsync(GetTrackTemplateListInput input)
{
var inputVo = ObjectMapper.Map<GetTrackTemplateListInput, GetTrackTemplateListInputVo>(input);
var templates = await _trackTemplateRepository.GetTrackTemplateListAsync(inputVo);
var res = ObjectMapper.Map<List<TrackTemplateOutputVo>, List<TrackTemplateOutput>>(templates);
return res;
}
/// <summary>
/// 分页获取轨迹模版列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("Template/GetTrackTemplateListByPage")]
public async Task<PagedResult<TemplateContentDto>> GetTrackTemplateListByPageAsync(GetPageTrackTemplateListInput input)
{
var inputVo = ObjectMapper.Map<GetPageTrackTemplateListInput, GetPageTrackTemplateListInputVo>(input);
var templates = await _trackTemplateRepository.GetPageTrackTemplateListAsync(inputVo);
var res = ObjectMapper.Map<PagedResult<TemplateContentDtoVo>, PagedResult<TemplateContentDto>>(templates);
return res;
}
}