using Hotline.Application.Snapshot; using Hotline.Share.Dtos; using Hotline.Share.Dtos.Snapshot; using Microsoft.AspNetCore.Mvc; using Hotline.Repository.SqlSugar.Extensions; using Hotline.Share.Tools; using Hotline.Snapshot.Interfaces; using Hotline.Settings.Hotspots; using Hotline.Share.Requests; using SqlSugar; using XF.Domain.Authentications; using Hotline.Settings; namespace Hotline.Api.Controllers.Snapshot; /// /// 随手拍统计 /// public class BiSnapshotController : BaseController { private readonly IBiSnapshotApplication _biSnapshotApplication; private readonly IIndustryRepository _industryRepository; public BiSnapshotController(IBiSnapshotApplication biSnapshotApplication, IIndustryRepository industryRepository) { _biSnapshotApplication = biSnapshotApplication; _industryRepository = industryRepository; } /// /// 随手拍统计基础数据 /// /// [HttpGet("statistics/basedata")] public async Task> GetSnapshotStatisticsBaseDataAsync() { return new Dictionary() { { "industry", await _industryRepository.GetDataBaseAsync() } }; } /// /// 随手拍统计 /// /// [HttpGet("statistics")] public async Task GetSnapshotStatisticsAsync([FromQuery] SnapshotStatisticsInDto dto) => await _biSnapshotApplication.GetSnapshotStatisticsAsync(dto, HttpContext.RequestAborted); /// /// 随手拍统计详情集合 /// /// /// [HttpGet("statistics/details")] public async Task> GetSnapshotStatisticsDetailAsync([FromQuery] SnapshotStatisticsDetailInDto dto) => (await _biSnapshotApplication.GetSnapshotStatisticsDetail(dto).ToPagedListAsync(dto)).ToPaged(); /// /// 市民红包审核统计 /// /// /// [HttpGet("redpack/audit")] public IList GetRedPackAuditStatisticsAsync([FromQuery] RedPackStatisticsInDto dto) => _biSnapshotApplication.GetRedPackAuditStatistics(dto); /// /// 市民红包审核统计详情 /// /// /// [HttpGet("redpack/audit/details")] public async Task> GetRedPackAuditStatisticsDetailsAsync([FromQuery] RedPackStatisticsDetailsInDto dto) => (await _biSnapshotApplication.GetRedPackAuditStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged(); /// /// 热点类型小类统计 /// /// /// [HttpGet("hotspot-statistics")] public async Task> GetHotspotStatisticsAsync([FromQuery] HotspotStatisticsInDto dto) => await _biSnapshotApplication.GetHotspotStatistics(dto).ToListAsync(); /// /// 热点类型小类统计明细 /// /// /// [HttpGet("hotspot-statistics-detail")] public async Task> GetHotspotStatisticsDetailAsync([FromQuery] HotspotStatisticsDetailsInDto dto) => (await _biSnapshotApplication.HotspotStatisticsDetail(dto).ToPagedListAsync(dto)).ToPaged(); /// /// 热点类型-随手拍 /// /// /// [HttpGet("hotspot-data-statistics")] public async Task> GetHotspotDataStatisticsAsync([FromQuery] HotspotDataStatisticsInDto dto) { var items = await _biSnapshotApplication.GetHotspotDataStatisticsAsync(dto).ToListAsync(); items.Add(new HotspotDataStatisticsOutDto { Name = "合计", OrderCount = items.Sum(x => x.OrderCount), }); return items; } /// /// 办件统计-随手拍 /// /// /// [HttpGet("processing-statistics")] public async Task> GetSnapshotProcessingStatistics([FromQuery] SnapshotProcessingStatisticsInDto dto) => await _biSnapshotApplication.GetSnapshotProcessingStatistics(dto).ToListAsync(); /// /// 办件统计明细-随手拍 /// /// /// [HttpGet("processing-statistics-detail")] public async Task> GetSnapshotProcessingStatisticsDetails(SnapshotProcessingStatisticsDetailsInDto dto) => (await _biSnapshotApplication.GetSnapshotProcessingStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged(); /// /// 网格员办理情况统计 /// /// /// [HttpGet("guider-work-statistics")] public async Task> GetGuiderWorkStatisticsAsync([FromQuery] GuiderWorkStatisticsInDto dto) => await _biSnapshotApplication.GetGuiderWorkStatisticsAsync(dto).ToListAsync(); /// /// 网格员办理情况统计详情 /// /// /// [HttpGet("guider-work-statistics-detail")] public async Task> GetGuiderWorkStatisticsDetailsAsync([FromQuery] GuiderWorkStatisticsDetailsInDto dto) => (await _biSnapshotApplication.GetGuiderWorkStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged(); }