From e0c4e4b88f58127fd22276c5f3e7a2c89b0a855d Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Thu, 15 Jun 2023 16:12:46 +0800 Subject: [PATCH] =?UTF-8?q?influxdb=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/influx/imapper/CommonMapper.java | 3 +++ .../njcn/influx/service/CommonService.java | 25 +++++++++++++++++ .../service/impl/CommonServiceImpl.java | 27 +++++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/CommonMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/CommonMapper.java index af195b26f..7a9ee1def 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/CommonMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/CommonMapper.java @@ -21,4 +21,7 @@ public interface CommonMapper extends InfluxDbBaseMapper { StatisticalDataDTO getLineRtData(InfluxQueryWrapper influxQueryWrapper); + List getDeviceRtData(InfluxQueryWrapper influxQueryWrapper); + + List getDeviceRtDataByTime(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/CommonService.java b/pqs-influx/src/main/java/com/njcn/influx/service/CommonService.java index 790552890..36dbe8b14 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/service/CommonService.java +++ b/pqs-influx/src/main/java/com/njcn/influx/service/CommonService.java @@ -24,4 +24,29 @@ public interface CommonService { * @return */ StatisticalDataDTO getLineRtData(String lineId, String tableName, String columnName, String phasic, String dataType); + + /** + * 根据条件获取监测点数据 + * @param lineIds 监测点Id + * @param tableName 表名 + * @param columnName 字段名 + * @param phasic 相别 + * @param dataType 数据类型 + * @return + */ + List getDeviceRtData(List lineIds, String tableName, String columnName, String phasic, String dataType); + /** + * @Description: getDeviceRtDataByTime + * @param lineIds 监测点Id + * @param tableName 表名 + * @param columnName 字段名 + * @param phasic 相别 + * @param dataType 数据类型 + *@param startTime start time + * @param endTime end time + * @return: java.util.List + * @Author: clam + * @Date: 2023/6/13 + */ + List getDeviceRtDataByTime(List lineIds, String tableName, String columnName, String phasic, String dataType,String startTime, String endTime); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java b/pqs-influx/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java index 557e8162e..3c5a6a6fe 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java +++ b/pqs-influx/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java @@ -58,4 +58,31 @@ public class CommonServiceImpl implements CommonService { .eq("value_type",dataType); return commonMapper.getLineRtData(influxQueryWrapper); } + + @Override + public List getDeviceRtData(List lineIds, String tableName, String columnName, String phasic, String dataType) { + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(tableName,StatisticalDataDTO.class); + influxQueryWrapper.select(StatisticalDataDTO::getLineId) + .select(StatisticalDataDTO::getPhaseType) + .select(StatisticalDataDTO::getValueType) + .last(columnName) + .or("line_id",lineIds) + .eq("phasic_type",phasic) + .eq("value_type",dataType).groupBy("line_id"); + return commonMapper.getDeviceRtData(influxQueryWrapper); + } + + @Override + public List getDeviceRtDataByTime(List lineIds, String tableName, String columnName, String phasic, String dataType, String startTime, String endTime) { + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(tableName,StatisticalDataDTO.class); + influxQueryWrapper.select(StatisticalDataDTO::getLineId) + .select(StatisticalDataDTO::getPhaseType) + .select(StatisticalDataDTO::getValueType) + .select(columnName,"value") + .or("line_id",lineIds) + .eq("phasic_type",phasic) + .between("time", startTime, endTime) + .eq("value_type",dataType).groupBy("line_id"); + return commonMapper.getDeviceRtDataByTime(influxQueryWrapper); + } }