using Entity.Ammeter; using HybirdFrameworkCore.Autofac.Attribute; using Repository.Ammeter; using SqlSugar; namespace Service.Ammeter; [Scope("SingleInstance")] public class EmeterEnergyChangeService : BaseServices { private readonly EmeterEnergyChangeRepository _emeterEnergyChangeRep; public EmeterEnergyChangeService(EmeterEnergyChangeRepository emeterEnergyChangeRep) { _emeterEnergyChangeRep = emeterEnergyChangeRep; } /// /// 获取交流电表实时数据 /// /// public async Task> GetEnergyMeterRealTime(string endTime) { // 将传入的时间参数转换为DateTime类型 DateTime endDateTime = DateTime.Parse(endTime); // 根据传入的时间参数计算1分钟的时间 DateTime startDateTime = endDateTime.AddMinutes(-1); List list = await _emeterEnergyChangeRep.QueryListByClauseAsync(i => i.UploadTime>=startDateTime); return list .GroupBy(e => e.Code) .Select(g => g.OrderByDescending(e => e.UploadTime).First()) .ToList(); } }