using Dlhis.Canteen.Order.Request;
using Dlhis.Canteen.Order.Request.Common;
using Dlhis.Canteen.Order.Response;
using Dlhis.Canteen.Order.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Canteen.Order.Controllers;
///
/// 消费统计
///
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class BalanceSummaryController : ControllerBase
{
private readonly IBalanceSummaryService _balanceSummaryService;
public BalanceSummaryController(IBalanceSummaryService balanceSummaryService)
{
_balanceSummaryService = balanceSummaryService;
}
///
/// 用餐分析
///
///
///
[HttpGet("analysis")]
public async Task BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
{
return await _balanceSummaryService.BalanceRecordAnalysisAsync(request);
}
///
/// 部门用餐分析,统计部门金额和消费人数
///
[HttpGet("department/analysis/amountAndCount")]
public async Task> BalanceRecordAnalysisByDepartmentAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByDepartmentAsync(request);
}
///
/// 成本中心用餐分析,统计成本中心金额和消费人数
///
[HttpGet("costId/analysis/amountAndCount")]
public async Task> BalanceRecordAnalysisByCostAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByCostAsync(request);
}
///
/// 餐次用餐分析,统计金额
///
[HttpGet("shift/analysis/amount")]
public async Task BalanceRecordShiftAnalysisAmountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
{
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAsync(request);
}
///
/// 餐次用餐分析,统计金额和人数
///
///
///
[HttpGet("shift/analysis/amountAndCount")]
public async Task BalanceRecordShiftAnalysisAmountAndCountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
{
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAndCountAsync(request);
}
///
/// 厂区就餐分析,统计金额和人数
///
///
///
[HttpGet("factory/analysis/amountAndUserCount")]
public async Task> BalanceRecordAnalysisByFactoryAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByFactoryAsync(request);
}
///
/// 餐次和营业点就餐分析,统计金额和人数/人次
///
///
///
[HttpGet("shiftAndBusinessPlace/analysis/amountAndUserCountAndCostCount")]
public async Task ShiftAndBusinessPlaceAnalysisAsync([FromQuery] BalanceRecordPageDetailRequest request)
{
return await _balanceSummaryService.ShiftAndBusinessPlaceAnalysisAsync(request);
}
}