From da75f7421843c48c53a4f86dd5145c7b5f64bae0 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Fri, 24 Apr 2026 09:42:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(rt):=20=E7=A7=BB=E9=99=A4FloatUtils?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化harmRealDataSet数据赋值方式,移除不必要的浮点数精度处理 --- .../njcn/rt/service/impl/RtServiceImpl.java | 169 ++++++++---------- 1 file changed, 73 insertions(+), 96 deletions(-) diff --git a/iot-analysis/analysis-rt/rt-boot/src/main/java/com/njcn/rt/service/impl/RtServiceImpl.java b/iot-analysis/analysis-rt/rt-boot/src/main/java/com/njcn/rt/service/impl/RtServiceImpl.java index b888a54..adf38d1 100644 --- a/iot-analysis/analysis-rt/rt-boot/src/main/java/com/njcn/rt/service/impl/RtServiceImpl.java +++ b/iot-analysis/analysis-rt/rt-boot/src/main/java/com/njcn/rt/service/impl/RtServiceImpl.java @@ -21,7 +21,6 @@ import com.njcn.rt.pojo.dto.BaseRealDataSet; import com.njcn.rt.pojo.dto.HarmData; import com.njcn.rt.pojo.dto.HarmRealDataSet; import com.njcn.rt.service.IRtService; -import com.njcn.web.utils.FloatUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -209,106 +208,106 @@ public class RtServiceImpl implements IRtService { public BaseRealDataSet channelData(Map map,Integer conType) { BaseRealDataSet baseRealDataSet = new BaseRealDataSet(); //频率 - baseRealDataSet.setFreq(FloatUtils.get2Float(map.get("Pq_FreqM"))); + baseRealDataSet.setFreq(map.get("Pq_FreqM")); //频率偏差 - baseRealDataSet.setFreqDev(FloatUtils.get2Float(map.get("Pq_FreqDevM"))); + baseRealDataSet.setFreqDev(map.get("Pq_FreqDevM")); //判断监测点的接线方式,不同接线方式电压有效值取值不同 //星型-相电压 角形、V型-线电压 //电压有效值 if (conType == 0) { - baseRealDataSet.setVRmsA(FloatUtils.get2Float(map.get("Pq_RmsUA"))); - baseRealDataSet.setVRmsB(FloatUtils.get2Float(map.get("Pq_RmsUB"))); - baseRealDataSet.setVRmsC(FloatUtils.get2Float(map.get("Pq_RmsUC"))); + baseRealDataSet.setVRmsA(map.get("Pq_RmsUA")); + baseRealDataSet.setVRmsB(map.get("Pq_RmsUB")); + baseRealDataSet.setVRmsC(map.get("Pq_RmsUC")); } else { - baseRealDataSet.setVRmsA(FloatUtils.get2Float(map.get("Pq_RmsLUAB"))); - baseRealDataSet.setVRmsB(FloatUtils.get2Float(map.get("Pq_RmsLUBC"))); - baseRealDataSet.setVRmsC(FloatUtils.get2Float(map.get("Pq_RmsLUCA"))); + baseRealDataSet.setVRmsA(map.get("Pq_RmsLUAB")); + baseRealDataSet.setVRmsB(map.get("Pq_RmsLUBC")); + baseRealDataSet.setVRmsC(map.get("Pq_RmsLUCA")); } //基波电压幅值 if (conType == 0) { - baseRealDataSet.setV1A(FloatUtils.get2Float(map.get("Pq_RmsFundUA"))); - baseRealDataSet.setV1B(FloatUtils.get2Float(map.get("Pq_RmsFundUB"))); - baseRealDataSet.setV1C(FloatUtils.get2Float(map.get("Pq_RmsFundUC"))); + baseRealDataSet.setV1A(map.get("Pq_RmsFundUA")); + baseRealDataSet.setV1B(map.get("Pq_RmsFundUB")); + baseRealDataSet.setV1C(map.get("Pq_RmsFundUC")); } else { - baseRealDataSet.setV1A(FloatUtils.get2Float(map.get("Pq_RmsFundLUAB"))); - baseRealDataSet.setV1B(FloatUtils.get2Float(map.get("Pq_RmsFundLUBC"))); - baseRealDataSet.setV1C(FloatUtils.get2Float(map.get("Pq_RmsFundLUCA"))); + baseRealDataSet.setV1A(map.get("Pq_RmsFundLUAB")); + baseRealDataSet.setV1B(map.get("Pq_RmsFundLUBC")); + baseRealDataSet.setV1C(map.get("Pq_RmsFundLUCA")); } //电流有效值 - baseRealDataSet.setIRmsA(FloatUtils.get2Float(map.get("Pq_RmsIA"))); - baseRealDataSet.setIRmsB(FloatUtils.get2Float(map.get("Pq_RmsIB"))); - baseRealDataSet.setIRmsC(FloatUtils.get2Float(map.get("Pq_RmsIC"))); + baseRealDataSet.setIRmsA(map.get("Pq_RmsIA")); + baseRealDataSet.setIRmsB(map.get("Pq_RmsIB")); + baseRealDataSet.setIRmsC(map.get("Pq_RmsIC")); //基波电流幅值 - baseRealDataSet.setI1A(FloatUtils.get2Float(map.get("Pq_RmsFundIA"))); - baseRealDataSet.setI1B(FloatUtils.get2Float(map.get("Pq_RmsFundIB"))); - baseRealDataSet.setI1C(FloatUtils.get2Float(map.get("Pq_RmsFundIC"))); + baseRealDataSet.setI1A(map.get("Pq_RmsFundIA")); + baseRealDataSet.setI1B(map.get("Pq_RmsFundIB")); + baseRealDataSet.setI1C(map.get("Pq_RmsFundIC")); //电压偏差 if (conType == 0) { - baseRealDataSet.setVDevA(FloatUtils.get2Float(map.get("Pq_UDevA"))); - baseRealDataSet.setVDevB(FloatUtils.get2Float(map.get("Pq_UDevB"))); - baseRealDataSet.setVDevC(FloatUtils.get2Float(map.get("Pq_UDevC"))); + baseRealDataSet.setVDevA(map.get("Pq_UDevA")); + baseRealDataSet.setVDevB(map.get("Pq_UDevB")); + baseRealDataSet.setVDevC(map.get("Pq_UDevC")); } else { - baseRealDataSet.setVDevA(FloatUtils.get2Float(map.get("Pq_LUDevAB"))); - baseRealDataSet.setVDevB(FloatUtils.get2Float(map.get("Pq_LUDevBC"))); - baseRealDataSet.setVDevC(FloatUtils.get2Float(map.get("Pq_LUDevCA"))); + baseRealDataSet.setVDevA(map.get("Pq_LUDevAB")); + baseRealDataSet.setVDevB(map.get("Pq_LUDevBC")); + baseRealDataSet.setVDevC(map.get("Pq_LUDevCA")); } //基波电压相位 if (conType == 0) { - baseRealDataSet.setV1AngA(FloatUtils.get2Float(map.get("Pq_FundUAngA"))); - baseRealDataSet.setV1AngB(FloatUtils.get2Float(map.get("Pq_FundUAngB"))); - baseRealDataSet.setV1AngC(FloatUtils.get2Float(map.get("Pq_FundUAngC"))); + baseRealDataSet.setV1AngA(map.get("Pq_FundUAngA")); + baseRealDataSet.setV1AngB(map.get("Pq_FundUAngB")); + baseRealDataSet.setV1AngC(map.get("Pq_FundUAngC")); } else { - baseRealDataSet.setV1AngA(FloatUtils.get2Float(map.get("Pq_FundLUAngAB"))); - baseRealDataSet.setV1AngB(FloatUtils.get2Float(map.get("Pq_FundLUAngBC"))); - baseRealDataSet.setV1AngC(FloatUtils.get2Float(map.get("Pq_FundLUAngCA"))); + baseRealDataSet.setV1AngA(map.get("Pq_FundLUAngAB")); + baseRealDataSet.setV1AngB(map.get("Pq_FundLUAngBC")); + baseRealDataSet.setV1AngC(map.get("Pq_FundLUAngCA")); } //基波电流相位 - baseRealDataSet.setI1AngA(FloatUtils.get2Float(map.get("Pq_FundIAngA"))); - baseRealDataSet.setI1AngB(FloatUtils.get2Float(map.get("Pq_FundIAngB"))); - baseRealDataSet.setI1AngC(FloatUtils.get2Float(map.get("Pq_FundIAngC"))); + baseRealDataSet.setI1AngA(map.get("Pq_FundIAngA")); + baseRealDataSet.setI1AngB(map.get("Pq_FundIAngB")); + baseRealDataSet.setI1AngC(map.get("Pq_FundIAngC")); //电压总谐波畸变率 if (conType == 0) { - baseRealDataSet.setVThdA(FloatUtils.get2Float(map.get("Pq_ThdUA"))); - baseRealDataSet.setVThdB(FloatUtils.get2Float(map.get("Pq_ThdUB"))); - baseRealDataSet.setVThdC(FloatUtils.get2Float(map.get("Pq_ThdUC"))); + baseRealDataSet.setVThdA(map.get("Pq_ThdUA")); + baseRealDataSet.setVThdB(map.get("Pq_ThdUB")); + baseRealDataSet.setVThdC(map.get("Pq_ThdUC")); } else { - baseRealDataSet.setVThdA(FloatUtils.get2Float(map.get("Pq_ThdLUAB"))); - baseRealDataSet.setVThdB(FloatUtils.get2Float(map.get("Pq_ThdLUBC"))); - baseRealDataSet.setVThdC(FloatUtils.get2Float(map.get("Pq_ThdLUCA"))); + baseRealDataSet.setVThdA(map.get("Pq_ThdLUAB")); + baseRealDataSet.setVThdB(map.get("Pq_ThdLUBC")); + baseRealDataSet.setVThdC(map.get("Pq_ThdLUCA")); } //电流总谐波畸变率 - baseRealDataSet.setIThdA(FloatUtils.get2Float(map.get("Pq_ThdIA"))); - baseRealDataSet.setIThdB(FloatUtils.get2Float(map.get("Pq_ThdIB"))); - baseRealDataSet.setIThdC(FloatUtils.get2Float(map.get("Pq_ThdIC"))); + baseRealDataSet.setIThdA(map.get("Pq_ThdIA")); + baseRealDataSet.setIThdB(map.get("Pq_ThdIB")); + baseRealDataSet.setIThdC(map.get("Pq_ThdIC")); //电压不平衡度 - baseRealDataSet.setVUnbalance(FloatUtils.get2Float(map.get("Pq_UnbalNegUM"))); + baseRealDataSet.setVUnbalance(map.get("Pq_UnbalNegUM")); //电流不平衡度 - baseRealDataSet.setIUnbalance(FloatUtils.get2Float(map.get("Pq_UnbalNegIM"))); + baseRealDataSet.setIUnbalance(map.get("Pq_UnbalNegIM")); //有功功率 - baseRealDataSet.setPA(FloatUtils.get2Float(map.get("Pq_PA"))); - baseRealDataSet.setPB(FloatUtils.get2Float(map.get("Pq_PB"))); - baseRealDataSet.setPC(FloatUtils.get2Float(map.get("Pq_PC"))); - baseRealDataSet.setPTot(FloatUtils.get2Float(map.get("Pq_TotPM"))); + baseRealDataSet.setPA(map.get("Pq_PA")); + baseRealDataSet.setPB(map.get("Pq_PB")); + baseRealDataSet.setPC(map.get("Pq_PC")); + baseRealDataSet.setPTot(map.get("Pq_TotPM")); //无功功率 - baseRealDataSet.setQA(FloatUtils.get2Float(map.get("Pq_QA"))); - baseRealDataSet.setQB(FloatUtils.get2Float(map.get("Pq_QB"))); - baseRealDataSet.setQC(FloatUtils.get2Float(map.get("Pq_QC"))); - baseRealDataSet.setQTot(FloatUtils.get2Float(map.get("Pq_TotQM"))); + baseRealDataSet.setQA(map.get("Pq_QA")); + baseRealDataSet.setQB(map.get("Pq_QB")); + baseRealDataSet.setQC(map.get("Pq_QC")); + baseRealDataSet.setQTot(map.get("Pq_TotQM")); //视在功率 - baseRealDataSet.setSA(FloatUtils.get2Float(map.get("Pq_SA"))); - baseRealDataSet.setSB(FloatUtils.get2Float(map.get("Pq_SB"))); - baseRealDataSet.setSC(FloatUtils.get2Float(map.get("Pq_SC"))); - baseRealDataSet.setSTot(FloatUtils.get2Float(map.get("Pq_TotSM"))); + baseRealDataSet.setSA(map.get("Pq_SA")); + baseRealDataSet.setSB(map.get("Pq_SB")); + baseRealDataSet.setSC(map.get("Pq_SC")); + baseRealDataSet.setSTot(map.get("Pq_TotSM")); //视在功率因数 - baseRealDataSet.setPfA(FloatUtils.get2Float(map.get("Pq_PFA"))); - baseRealDataSet.setPfB(FloatUtils.get2Float(map.get("Pq_PFB"))); - baseRealDataSet.setPfC(FloatUtils.get2Float(map.get("Pq_PFC"))); - baseRealDataSet.setPfTot(FloatUtils.get2Float(map.get("Pq_TotPFM"))); + baseRealDataSet.setPfA(map.get("Pq_PFA")); + baseRealDataSet.setPfB(map.get("Pq_PFB")); + baseRealDataSet.setPfC(map.get("Pq_PFC")); + baseRealDataSet.setPfTot(map.get("Pq_TotPFM")); //位移功率因数 - baseRealDataSet.setDpfA(FloatUtils.get2Float(map.get("Pq_DFA"))); - baseRealDataSet.setDpfB(FloatUtils.get2Float(map.get("Pq_DFB"))); - baseRealDataSet.setDpfC(FloatUtils.get2Float(map.get("Pq_DFC"))); - baseRealDataSet.setDpfTot(FloatUtils.get2Float(map.get("Pq_TotDFM"))); + baseRealDataSet.setDpfA(map.get("Pq_DFA")); + baseRealDataSet.setDpfB(map.get("Pq_DFB")); + baseRealDataSet.setDpfC(map.get("Pq_DFC")); + baseRealDataSet.setDpfTot(map.get("Pq_TotDFM")); return baseRealDataSet; } @@ -346,14 +345,14 @@ public class RtServiceImpl implements IRtService { if (Objects.equals(item.getHarmName(),"Pq_RmsFundI")) { if ("Secondary".equals(dataLevel)) { double data = item.getData() * ct; - harmRealDataSet.setData1(FloatUtils.get2Float((float)data)); + harmRealDataSet.setData1((float)data); } else { - harmRealDataSet.setData1(FloatUtils.get2Float(item.getData())); + harmRealDataSet.setData1(item.getData()); } } else if (Objects.equals(item.getHarmName(),"Pq_RmsFundU")) { - harmRealDataSet.setData1(FloatUtils.get2Float(item.getData())); + harmRealDataSet.setData1(item.getData()); } else if (Objects.equals(item.getHarmName(),"Pq_ThdU")) { - harmRealDataSet.setData1(FloatUtils.get2Float(item.getData())); + harmRealDataSet.setData1(item.getData()); } else { String numberStr = item.getHarmName().substring(item.getHarmName().lastIndexOf('_') + 1); String fieldName = "data" + numberStr; @@ -363,12 +362,12 @@ public class RtServiceImpl implements IRtService { if (item.getHarmName().contains("Pq_HarmI_")) { if ("Secondary".equals(dataLevel)) { double data = item.getData() * ct; - field.set(harmRealDataSet,FloatUtils.get2Float((float)data)); + field.set(harmRealDataSet,(float)data); } else { - field.set(harmRealDataSet,FloatUtils.get2Float(item.getData())); + field.set(harmRealDataSet,item.getData()); } } else { - field.set(harmRealDataSet,FloatUtils.get2Float(item.getData())); + field.set(harmRealDataSet,item.getData()); } } catch (Exception e) { throw new RuntimeException(e); @@ -378,26 +377,4 @@ public class RtServiceImpl implements IRtService { return harmRealDataSet; } - private Set convertObjectToSetSafe(Object obj) { - if (obj == null) { - return new HashSet<>(); - } - if (obj instanceof Set) { - // 类型安全的转换 - Set rawSet = (Set) obj; - return rawSet.stream() - .filter(Objects::nonNull) - .map(Object::toString) - .collect(Collectors.toSet()); - } else if (obj instanceof Collection) { - return ((Collection) obj).stream() - .filter(Objects::nonNull) - .map(Object::toString) - .collect(Collectors.toSet()); - } else { - log.warn("Redis中的对象类型不是Set或Collection: {}", obj.getClass().getName()); - return new HashSet<>(); - } - } - }