From 2e71088c8d59db895026937d34be921987e45904 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Wed, 10 May 2023 20:02:15 +0800 Subject: [PATCH] =?UTF-8?q?influxDB=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/common/utils/HarmonicTimesUtil.java | 5 +- .../com/njcn/influx/mapper/DataVMapper.java | 21 ++++++++ .../java/com/njcn/influx/pojo/po/DataV.java | 6 +-- .../njcn/influx/service/IDataVService.java | 10 ++++ .../service/impl/DataFlickerServiceImpl.java | 1 + .../influx/service/impl/DataVServiceImpl.java | 51 +++++++++++++++++++ .../test/java/com/njcn/influx/DemoTest.java | 11 ++-- 7 files changed, 94 insertions(+), 11 deletions(-) create mode 100644 pqs-influx/src/main/java/com/njcn/influx/mapper/DataVMapper.java create mode 100644 pqs-influx/src/main/java/com/njcn/influx/service/IDataVService.java create mode 100644 pqs-influx/src/main/java/com/njcn/influx/service/impl/DataVServiceImpl.java diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/utils/HarmonicTimesUtil.java b/pqs-common/common-core/src/main/java/com/njcn/common/utils/HarmonicTimesUtil.java index 9c6d3cb43..174936b2f 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/utils/HarmonicTimesUtil.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/utils/HarmonicTimesUtil.java @@ -1,7 +1,7 @@ package com.njcn.common.utils; +import org.springframework.stereotype.Component; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PathVariable; import javax.validation.Valid; import javax.validation.constraints.Max; @@ -16,7 +16,6 @@ import java.util.List; * @version 1.0.0 * @createTime 2023/5/5 15:11 */ -@Validated public class HarmonicTimesUtil { /*** @@ -27,7 +26,7 @@ public class HarmonicTimesUtil { * @param interval 间隔 * @return List */ - public static List harmonicTimesList(@Min(value = 1) @Max(value = 100) Integer start, @Min(value = 1) @Max(value = 100) Integer end, Integer interval) { + public static List harmonicTimesList(@Min(value = 1) @Max(value = 100) Integer start, @Min(value = 1) @Max(value = 100) Integer end, @Min(value = 1) Integer interval) { List timesList = new ArrayList<>(); for (int i = start; i <= end;i = i+interval) { timesList.add(i); diff --git a/pqs-influx/src/main/java/com/njcn/influx/mapper/DataVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/mapper/DataVMapper.java new file mode 100644 index 000000000..feecbd264 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/mapper/DataVMapper.java @@ -0,0 +1,21 @@ +package com.njcn.influx.mapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataV; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/5 14:39 + */ + +public interface DataVMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/pojo/po/DataV.java b/pqs-influx/src/main/java/com/njcn/influx/pojo/po/DataV.java index 1f324092f..cac923a46 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/pojo/po/DataV.java +++ b/pqs-influx/src/main/java/com/njcn/influx/pojo/po/DataV.java @@ -213,12 +213,12 @@ public class DataV{ private String lineId; @Column(name = "phasic_type") - private String phaseType; + private String phasicType; @Column(name = "value_type") private String valueType; //自定义字段-总计算次数 - @Column(name = "all_time") - private Integer allTime; + //@Column(name = "all_time") + //private Integer allTime; } diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/IDataVService.java b/pqs-influx/src/main/java/com/njcn/influx/service/IDataVService.java new file mode 100644 index 000000000..3ca995781 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/service/IDataVService.java @@ -0,0 +1,10 @@ +package com.njcn.influx.service; + +import com.njcn.influx.pojo.po.DataV; + +import java.util.List; + +public interface IDataVService { + + List getDataV(String lineIndex, String startTime, String endTime); +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java index 765dd6f74..6a5de6cac 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java +++ b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java @@ -10,6 +10,7 @@ import com.njcn.influx.service.DataFlickerService; import com.njcn.influx.utils.InfluxDbUtil; import org.influxdb.dto.QueryResult; import org.influxdb.impl.InfluxDBResultMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataVServiceImpl.java b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataVServiceImpl.java new file mode 100644 index 000000000..a52c0cdf9 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataVServiceImpl.java @@ -0,0 +1,51 @@ +package com.njcn.influx.service.impl; + +import com.njcn.common.utils.HarmonicTimesUtil; +import com.njcn.influx.mapper.DataVMapper; +import com.njcn.influx.pojo.po.DataV; +import com.njcn.influx.query.InfluxQueryWrapper; +import com.njcn.influx.service.IDataVService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/5 14:38 + */ +@Service +public class DataVServiceImpl implements IDataVService { + + @Resource + private DataVMapper dataVMapper; + + @Override + public List getDataV(String lineIndex, String startTime, String endTime) { + //最小值 + List result1 ; + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); + influxQueryWrapper.minSamePrefixAndSuffix("v_","", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.eq(DataV::getLineId, lineIndex) + .eq(DataV::getValueType, "MIN") + .min(DataV::getFreq) + .min(DataV::getFreqDev) + .min(DataV::getRms) + .min(DataV::getRmsLvr) + .min(DataV::getVNeg) + .min(DataV::getVPos) + .min(DataV::getVThd) + .min(DataV::getVUnbalance) + .min(DataV::getVZero) + .min(DataV::getVlDev) + .min(DataV::getVuDev) + .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType) + .between(DataV::getTime, startTime, endTime); + result1 = dataVMapper.getStatisticsByWraper(influxQueryWrapper); + System.out.println("result1==:" + result1); + return result1; + } +} diff --git a/pqs-influx/src/test/java/com/njcn/influx/DemoTest.java b/pqs-influx/src/test/java/com/njcn/influx/DemoTest.java index 4a90d7cb1..232a3c84d 100644 --- a/pqs-influx/src/test/java/com/njcn/influx/DemoTest.java +++ b/pqs-influx/src/test/java/com/njcn/influx/DemoTest.java @@ -4,9 +4,11 @@ import com.njcn.influx.mapper.CldStatisticsFlowMapper; import com.njcn.influx.pojo.po.CldStatisFlow; import com.njcn.influx.query.InfluxQueryWrapper; import com.njcn.influx.service.DataFlickerService; +import com.njcn.influx.service.IDataVService; import lombok.SneakyThrows; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; import java.util.List; @@ -17,21 +19,20 @@ import java.util.List; */ public class DemoTest extends BaseJunitTest { - @Autowired private CldStatisticsFlowMapper cldStatisticsFlowMapper; - @Autowired private DataFlickerService dataFlickerService; - + @Autowired + private IDataVService dataVService; @SneakyThrows @Test public void test() { - dataFlickerService.getDataFlicker("ff2d9674c1f1ecce7f33a5bf17fc4f2d","2023-05-02 00:00:00","2023-05-02 23:59:59"); - +// dataFlickerService.getDataFlicker("ff2d9674c1f1ecce7f33a5bf17fc4f2d","2023-05-02 00:00:00","2023-05-02 23:59:59"); + dataVService.getDataV("ff2d9674c1f1ecce7f33a5bf17fc4f2d","2023-05-02 00:00:00","2023-05-02 23:59:59"); }