123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- 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;
- /// <summary>
- /// 随手拍统计
- /// </summary>
- public class BiSnapshotController : BaseController
- {
- private readonly IBiSnapshotApplication _biSnapshotApplication;
- private readonly IIndustryRepository _industryRepository;
- public BiSnapshotController(IBiSnapshotApplication biSnapshotApplication, IIndustryRepository industryRepository)
- {
- _biSnapshotApplication = biSnapshotApplication;
- _industryRepository = industryRepository;
- }
- /// <summary>
- /// 随手拍统计基础数据
- /// </summary>
- /// <returns></returns>
- [HttpGet("statistics/basedata")]
- public async Task<Dictionary<string, object>> GetSnapshotStatisticsBaseDataAsync()
- {
- return new Dictionary<string, object>()
- {
- { "industry", await _industryRepository.GetDataBaseAsync() }
- };
- }
- /// <summary>
- /// 随手拍统计
- /// </summary>
- /// <returns></returns>
- [HttpGet("statistics")]
- public async Task<SnapshotStatisticsOutDto> GetSnapshotStatisticsAsync([FromQuery] SnapshotStatisticsInDto dto)
- => await _biSnapshotApplication.GetSnapshotStatisticsAsync(dto, HttpContext.RequestAborted);
- /// <summary>
- /// 随手拍统计详情集合
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("statistics/details")]
- public async Task<PagedDto<SnapshotStatisticsDetailOutDto>> GetSnapshotStatisticsDetailAsync([FromQuery] SnapshotStatisticsDetailInDto dto)
- => (await _biSnapshotApplication.GetSnapshotStatisticsDetail(dto).ToPagedListAsync(dto)).ToPaged();
- /// <summary>
- /// 市民红包审核统计
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("redpack/audit")]
- public IList<RedPackStatisticsOutDto> GetRedPackAuditStatisticsAsync([FromQuery] RedPackStatisticsInDto dto)
- => _biSnapshotApplication.GetRedPackAuditStatistics(dto);
- /// <summary>
- /// 市民红包审核统计详情
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("redpack/audit/details")]
- public async Task<PagedDto<RedPackStatisticsDetailsOutDto>> GetRedPackAuditStatisticsDetailsAsync([FromQuery] RedPackStatisticsDetailsInDto dto)
- => (await _biSnapshotApplication.GetRedPackAuditStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged();
- /// <summary>
- /// 热点类型小类统计
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("hotspot-statistics")]
- public async Task<IList<HotspotStatisticsOutDto>> GetHotspotStatisticsAsync([FromQuery] HotspotStatisticsInDto dto)
- => await _biSnapshotApplication.GetHotspotStatistics(dto).ToListAsync();
- /// <summary>
- /// 热点类型小类统计明细
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("hotspot-statistics-detail")]
- public async Task<PagedDto<HotspotStatisticsDetailsOutDto>> GetHotspotStatisticsDetailAsync([FromQuery] HotspotStatisticsDetailsInDto dto)
- => (await _biSnapshotApplication.HotspotStatisticsDetail(dto).ToPagedListAsync(dto)).ToPaged();
- /// <summary>
- /// 热点类型-随手拍
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("hotspot-data-statistics")]
- public async Task<IList<HotspotDataStatisticsOutDto>> GetHotspotDataStatisticsAsync([FromQuery] HotspotDataStatisticsInDto dto)
- {
- var items = await _biSnapshotApplication.GetHotspotDataStatisticsAsync(dto).ToListAsync();
- items.Add(new HotspotDataStatisticsOutDto
- {
- Name = "合计",
- OrderCount = items.Sum(x => x.OrderCount),
- });
- return items;
- }
- /// <summary>
- /// 办件统计-随手拍
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("processing-statistics")]
- public async Task<IList<SnapshotProcessingStatisticsOutDto>> GetSnapshotProcessingStatistics([FromQuery] SnapshotProcessingStatisticsInDto dto)
- => await _biSnapshotApplication.GetSnapshotProcessingStatistics(dto).ToListAsync();
- /// <summary>
- /// 办件统计明细-随手拍
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("processing-statistics-detail")]
- public async Task<PagedDto<SnapshotProcessingStatisticsDetailsOutDto>> GetSnapshotProcessingStatisticsDetails(SnapshotProcessingStatisticsDetailsInDto dto)
- => (await _biSnapshotApplication.GetSnapshotProcessingStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged();
- /// <summary>
- /// 网格员办理情况统计
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("guider-work-statistics")]
- public async Task<IList<GuiderWorkStatisticsOutDto>> GetGuiderWorkStatisticsAsync([FromQuery] GuiderWorkStatisticsInDto dto)
- => await _biSnapshotApplication.GetGuiderWorkStatisticsAsync(dto).ToListAsync();
- /// <summary>
- /// 网格员办理情况统计详情
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpGet("guider-work-statistics-detail")]
- public async Task<PagedDto<GuiderWorkStatisticsDetailsOutDto>> GetGuiderWorkStatisticsDetailsAsync([FromQuery] GuiderWorkStatisticsDetailsInDto dto)
- => (await _biSnapshotApplication.GetGuiderWorkStatisticsDetails(dto).ToPagedListAsync(dto)).ToPaged();
- }
|