using NCC.Common.Core.Manager; using NCC.Common.Enum; using NCC.Common.Extension; using NCC.Common.Filter; using NCC.Dependency; using NCC.DynamicApiController; using NCC.FriendlyException; using NCC.Extend.Interfaces.LqStatistics; using NCC.Extend.Entitys.Dto.LqStatistics; using Microsoft.AspNetCore.Mvc; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using NCC.Extend.Entitys.lq_mdxx; namespace NCC.Extend.LqStatistics { /// /// 绿纤统计服务 /// [ApiDescriptionSettings(Tag = "绿纤统计服务", Name = "LqStatistics", Order = 200, Groups = new[] { "Default" })] [Route("api/Extend/[controller]")] public class LqStatisticsService : ILqStatisticsService, IDynamicApiController, ITransient { private readonly ISqlSugarRepository _lqMdxxRepository; private readonly SqlSugarScope _db; private readonly IUserManager _userManager; /// /// 初始化一个类型的新实例 /// public LqStatisticsService( ISqlSugarRepository lqMdxxRepository, IUserManager userManager) { _lqMdxxRepository = lqMdxxRepository; _db = _lqMdxxRepository.Context; _userManager = userManager; } /// /// 测试接口 /// /// 测试结果 [HttpGet] public async Task Test() { return await Task.FromResult(new { message = "绿纤统计服务运行正常", timestamp = DateTime.Now }); } /// /// 获取门店业绩统计列表 /// /// /// 查询所有门店的目标业绩、完成业绩、完成率等关键指标 /// /// 返回数据包含: /// - 门店编码和店名 /// - 目标业绩(生命线) /// - 完成业绩(实付业绩) /// - 完成率(百分比) /// - 开单数量 /// /// 数据来源:v_store_performance_simple 视图 /// /// 门店业绩统计列表 /// 成功返回门店业绩统计列表 /// 服务器内部错误 [HttpGet] public async Task> GetStorePerformanceList() { try { var result = await _db.Ado.SqlQueryAsync( "SELECT " + "store_code AS StoreCode, " + "store_name AS StoreName, " + "target_performance AS TargetPerformance, " + "actual_performance AS ActualPerformance, " + "completion_rate AS CompletionRate, " + "order_count AS OrderCount " + "FROM v_store_performance_simple " + "ORDER BY actual_performance DESC"); return result ?? new List(); } catch (Exception ex) { throw NCCException.Oh(ErrorCode.COM1005, ex.Message); } } } }