Files
jinko.yikatong/Src/Dlhis.Canteen/Order/Controllers/BalanceSummaryController.cs

96 lines
3.6 KiB
C#

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;
/// <summary>
/// 消费统计
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class BalanceSummaryController : ControllerBase
{
private readonly IBalanceSummaryService _balanceSummaryService;
public BalanceSummaryController(IBalanceSummaryService balanceSummaryService)
{
_balanceSummaryService = balanceSummaryService;
}
/// <summary>
/// 用餐分析
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("analysis")]
public async Task<BalanceRecordAnalysisSummaryResponse> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
{
return await _balanceSummaryService.BalanceRecordAnalysisAsync(request);
}
/// <summary>
/// 部门用餐分析,统计部门金额和消费人数
/// </summary>
[HttpGet("department/analysis/amountAndCount")]
public async Task<Pagination<BalanceRecordAnalysisDResponse>> BalanceRecordAnalysisByDepartmentAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByDepartmentAsync(request);
}
/// <summary>
/// 成本中心用餐分析,统计成本中心金额和消费人数
/// </summary>
[HttpGet("costId/analysis/amountAndCount")]
public async Task<Pagination<BalanceRecordAnalysisDResponse>> BalanceRecordAnalysisByCostAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByCostAsync(request);
}
/// <summary>
/// 餐次用餐分析,统计金额
/// </summary>
[HttpGet("shift/analysis/amount")]
public async Task<BalanceRecordAnalysisShiftAmountResponse> BalanceRecordShiftAnalysisAmountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
{
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAsync(request);
}
/// <summary>
/// 餐次用餐分析,统计金额和人数
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("shift/analysis/amountAndCount")]
public async Task<BalanceRecordAnalysisShiftAmountAndCountResponse> BalanceRecordShiftAnalysisAmountAndCountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
{
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAndCountAsync(request);
}
/// <summary>
/// 厂区就餐分析,统计金额和人数
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("factory/analysis/amountAndUserCount")]
public async Task<Pagination<BalanceRecordAnalysisFactoryAmountAndCountResponse>> BalanceRecordAnalysisByFactoryAsync([FromQuery] SummaryCommonDto request)
{
return await _balanceSummaryService.BalanceRecordAnalysisByFactoryAsync(request);
}
/// <summary>
/// 餐次和营业点就餐分析,统计金额和人数/人次
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("shiftAndBusinessPlace/analysis/amountAndUserCountAndCostCount")]
public async Task<ShiftAndBusinessPlaceAnalysisResponse> ShiftAndBusinessPlaceAnalysisAsync([FromQuery] BalanceRecordPageDetailRequest request)
{
return await _balanceSummaryService.ShiftAndBusinessPlaceAnalysisAsync(request);
}
}