From 75f5e8b46478df8ff347fdb4df2575f727667d04 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Sun, 25 Jun 2023 15:30:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csdevice/api/DataArrayFeignClient.java | 10 ---- .../DataArrayFeignClientFallbackFactory.java | 1 - .../njcn/csdevice/pojo/po/CsDataArray.java | 6 --- cs-device/cs-device-boot/pom.xml | 2 +- .../equipment/CsDataArrayController.java | 26 +++++----- .../csdevice/service/ICsDataArrayService.java | 3 +- .../service/impl/CsDataArrayServiceImpl.java | 8 +-- .../njcn/csharmonic/pojo/dto/ZuTaiDTO.java | 8 +-- .../njcn/csharmonic/pojo/vo/CsRtDataVO.java | 52 +++++++++++++++++++ cs-harmonic/cs-harmonic-boot/pom.xml | 2 +- .../handler/MqttMessageHandler.java | 3 +- .../service/ILineTargetService.java | 3 +- .../service/impl/LineTargetServiceImpl.java | 17 +++--- .../src/test/java/com/njcn/InfluxDbTest.java | 8 +-- pom.xml | 10 ++-- 15 files changed, 100 insertions(+), 59 deletions(-) create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsRtDataVO.java diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java index 7e56ebc..c98920c 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java @@ -1,19 +1,11 @@ package com.njcn.csdevice.api; -import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.ServerInfo; -import com.njcn.common.pojo.enums.common.LogEnum; -import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; -import com.njcn.common.utils.HttpResultUtil; import com.njcn.csdevice.api.fallback.DataArrayFeignClientFallbackFactory; import com.njcn.csdevice.pojo.po.CsDataArray; import com.njcn.csdevice.pojo.po.CsDataSet; import com.njcn.csdevice.pojo.vo.DataArrayTreeVO; -import com.njcn.csdevice.pojo.vo.LineTargetVO; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -36,6 +28,4 @@ public interface DataArrayFeignClient { @PostMapping("/getDataArrayById") HttpResult> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name); - - } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java index 8e67533..6d2177f 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java @@ -7,7 +7,6 @@ import com.njcn.csdevice.api.DataArrayFeignClient; import com.njcn.csdevice.pojo.po.CsDataArray; import com.njcn.csdevice.pojo.po.CsDataSet; import com.njcn.csdevice.pojo.vo.DataArrayTreeVO; -import com.njcn.csdevice.pojo.vo.LineTargetVO; import com.njcn.csdevice.utils.CsDeviceEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java index 9c39233..5b10fc3 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java @@ -73,10 +73,4 @@ public class CsDataArray extends BaseEntity { */ private String phase; - /** - * influxdb表名 - */ - private String classId; - - } diff --git a/cs-device/cs-device-boot/pom.xml b/cs-device/cs-device-boot/pom.xml index 5cabdf1..f9a7294 100644 --- a/cs-device/cs-device-boot/pom.xml +++ b/cs-device/cs-device-boot/pom.xml @@ -102,7 +102,7 @@ com.spotify docker-maven-plugin - 1.0.0 + 1.2.2 diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsDataArrayController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsDataArrayController.java index b6bae12..5b94e3c 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsDataArrayController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsDataArrayController.java @@ -69,19 +69,19 @@ public class CsDataArrayController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } -// @OperateInfo(info = LogEnum.BUSINESS_COMMON) -// @PostMapping("/getDataArrayById") -// @ApiOperation("获取详细数据(id)") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "pid", value = "数据集id", required = true), -// @ApiImplicitParam(name = "name", value = "名称", required = true) -// }) -// @Deprecated -// public HttpResult> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name){ -// String methodDescribe = getMethodDescribe("getDataArrayById"); -// List list = csDataArrayService.getDataArrayById(pid, name); -// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); -// } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDataArrayById") + @ApiOperation("获取详细数据(id)") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pid", value = "数据集id", required = true), + @ApiImplicitParam(name = "name", value = "名称", required = true) + }) + @Deprecated + public HttpResult> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name){ + String methodDescribe = getMethodDescribe("getDataArrayById"); + List list = csDataArrayService.getDataArrayById(pid, name); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java index 2de52ad..09fba4c 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java @@ -42,7 +42,6 @@ public interface ICsDataArrayService extends IService { */ List getGroupData(String dataSet); - -// List getDataArrayById(String pid, String name); + List getDataArrayById(String pid, String name); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java index 33220bb..6ab993d 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java @@ -120,10 +120,10 @@ public class CsDataArrayServiceImpl extends ServiceImpl getDataArrayById(String pid, String name) { -// return this.lambdaQuery().eq(CsDataArray::getPid,pid).eq(CsDataArray::getName,name).list(); -// } + @Override + public List getDataArrayById(String pid, String name) { + return this.lambdaQuery().eq(CsDataArray::getPid,pid).eq(CsDataArray::getName,name).list(); + } } diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java index 89588a2..afa9ee4 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/ZuTaiDTO.java @@ -34,10 +34,10 @@ public class ZuTaiDTO { private String svgColor; @SerializedName("svgPositionX") - private Integer svgPositionX; + private Double svgPositionX; @SerializedName("svgPositionY") - private Integer svgPositionY; + private Double svgPositionY; @SerializedName("echartsOption") private String echartsOption; @@ -49,10 +49,10 @@ public class ZuTaiDTO { private String tableHeader; @SerializedName("size") - private Integer size; + private Double size; @SerializedName("angle") - private Integer angle; + private Double angle; @SerializedName("lineId") private String lineId; diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsRtDataVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsRtDataVO.java new file mode 100644 index 0000000..127bff0 --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsRtDataVO.java @@ -0,0 +1,52 @@ +package com.njcn.csharmonic.pojo.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.njcn.common.utils.serializer.InstantDateSerializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.influxdb.annotation.Column; + +import java.time.Instant; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/6/25 13:31 + */ +@Data +public class CsRtDataVO { + + @ApiModelProperty("图元id") + private String id; + + @ApiModelProperty("最新数据时间") + @JsonSerialize(using = InstantDateSerializer.class) + private Instant time; + + @ApiModelProperty("监测点id") + private String lineId; + + @ApiModelProperty("相别") + private String phaseType; + + @ApiModelProperty("数据类型") + private String valueType; + + @ApiModelProperty("实时数据值,3.1415926则显示暂无数据") + private Double value; + + @ApiModelProperty("指标显示名称") + private String statisticalName; + + @ApiModelProperty("指标名称") + private String target; + + @ApiModelProperty("指标最大值") + private Double maxValue; + + @ApiModelProperty("指标最小值") + private Double minValue; + +} diff --git a/cs-harmonic/cs-harmonic-boot/pom.xml b/cs-harmonic/cs-harmonic-boot/pom.xml index 1e0b6de..f4e9525 100644 --- a/cs-harmonic/cs-harmonic-boot/pom.xml +++ b/cs-harmonic/cs-harmonic-boot/pom.xml @@ -121,7 +121,7 @@ com.spotify docker-maven-plugin - 1.0.0 + 1.2.2 diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java index 934677e..a401dd2 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java @@ -5,6 +5,7 @@ import com.github.tocrhz.mqtt.annotation.MqttSubscribe; import com.github.tocrhz.mqtt.annotation.NamedValue; import com.github.tocrhz.mqtt.annotation.Payload; import com.github.tocrhz.mqtt.publisher.MqttPublisher; +import com.njcn.csharmonic.pojo.vo.CsRtDataVO; import com.njcn.csharmonic.service.ILineTargetService; import com.njcn.influx.pojo.dto.StatisticalDataDTO; import lombok.AllArgsConstructor; @@ -33,7 +34,7 @@ public class MqttMessageHandler { */ @MqttSubscribe(value = "/zl/askRtData/{pageId}",qos = 1) public void responseRtData(String topic, @NamedValue("pageId") String pageId, MqttMessage message, @Payload String payload) { - List list = lineTargetService.getLineData(pageId); + List list = lineTargetService.getLineData(pageId); Gson gson = new Gson(); publisher.send("/zl/rtData/"+pageId,gson.toJson(list),1,false); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ILineTargetService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ILineTargetService.java index 59944ce..5f9ffef 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ILineTargetService.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ILineTargetService.java @@ -1,6 +1,7 @@ package com.njcn.csharmonic.service; import com.njcn.csdevice.pojo.vo.DataArrayTreeVO; +import com.njcn.csharmonic.pojo.vo.CsRtDataVO; import com.njcn.influx.pojo.dto.StatisticalDataDTO; import java.util.List; @@ -21,6 +22,6 @@ public interface ILineTargetService { * 获取绑定指标的数据 * @param id */ - List getLineData(String id); + List getLineData(String id); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java index 1fcd8b4..3ad5f1f 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/LineTargetServiceImpl.java @@ -9,6 +9,7 @@ import com.njcn.csdevice.pojo.po.CsDevModelRelationPO; import com.njcn.csdevice.pojo.vo.DataArrayTreeVO; import com.njcn.csdevice.pojo.vo.LineTargetVO; import com.njcn.csharmonic.pojo.dto.ZuTaiDTO; +import com.njcn.csharmonic.pojo.vo.CsRtDataVO; import com.njcn.csharmonic.service.CsPagePOService; import com.njcn.csharmonic.service.ILineTargetService; import com.njcn.influx.pojo.dto.StatisticalDataDTO; @@ -16,6 +17,7 @@ import com.njcn.influx.service.CommonService; import com.njcn.oss.utils.FileStorageUtil; import com.njcn.system.api.EpdFeignClient; import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.io.BufferedReader; @@ -76,14 +78,13 @@ public class LineTargetServiceImpl implements ILineTargetService { } @Override - public List getLineData(String id) { - List result = new ArrayList<>(); + public List getLineData(String id) { + List result = new ArrayList<>(); String path = csPagePOService.queryById(id).getPath(); InputStream inputStream = fileStorageUtil.getFileStream(path); List list = analysisJson(inputStream); list.forEach(item->{ if (!Objects.isNull(item.getTarget())){ - String lineId = item.getLineId(); String targetTag = item.getTarget().split("\\$")[0]; String phasic = item.getTarget().split("\\$")[1]; String dataType = item.getTarget().split("\\$")[2]; @@ -91,7 +92,7 @@ public class LineTargetServiceImpl implements ILineTargetService { String targetName = dataArray.getAnotherName(); String dataId = dataArray.getDataId(); String classId = epdFeignClient.selectById(dataId).getData().getClassId(); - result.add(getLineRtData(lineId,classId,targetTag,phasic,dataType,targetName)); + result.add(getLineRtData(item.getId(),item.getLineId(),classId,targetTag,phasic,dataType,targetName)); } }); return result; @@ -111,6 +112,7 @@ public class LineTargetServiceImpl implements ILineTargetService { /** * 通过orm框架获取数据 + * @param id 图元Id * @param lineId 监测点Id * @param tableName 表名称 * @param columnName 字段名称 @@ -119,7 +121,8 @@ public class LineTargetServiceImpl implements ILineTargetService { * @param target 数据名称 * @return */ - public StatisticalDataDTO getLineRtData(String lineId, String tableName, String columnName, String phasic, String dataType, String target) { + public CsRtDataVO getLineRtData(String id,String lineId, String tableName, String columnName, String phasic, String dataType, String target) { + CsRtDataVO csRtDataVO = new CsRtDataVO(); StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,tableName,columnName,phasic,dataType); if(Objects.isNull(statisticalDataDTO)){ statisticalDataDTO = new StatisticalDataDTO(); @@ -132,6 +135,8 @@ public class LineTargetServiceImpl implements ILineTargetService { } statisticalDataDTO.setStatisticalName(target); statisticalDataDTO.setTarget(columnName + "$" + phasic + "$" + dataType); - return statisticalDataDTO; + BeanUtils.copyProperties(statisticalDataDTO,csRtDataVO); + csRtDataVO.setId(id); + return csRtDataVO; } } diff --git a/cs-harmonic/cs-harmonic-boot/src/test/java/com/njcn/InfluxDbTest.java b/cs-harmonic/cs-harmonic-boot/src/test/java/com/njcn/InfluxDbTest.java index 670bf78..abf853f 100644 --- a/cs-harmonic/cs-harmonic-boot/src/test/java/com/njcn/InfluxDbTest.java +++ b/cs-harmonic/cs-harmonic-boot/src/test/java/com/njcn/InfluxDbTest.java @@ -30,13 +30,13 @@ public class InfluxDbTest { for (String item2 : dataType) { Map tags = new HashMap<>(); Map fields = new HashMap<>(); - tags.put("line_id","7f6753c721dbf1ce37117073eddf2215"); + tags.put("line_id","4aea410500fc0cea5a62790e8d493542"); tags.put("phasic_type",item1); tags.put("value_type",item2); - fields.put("W",new Random().nextDouble()); + fields.put("Hz",new Random().nextDouble()); fields.put("PhV",new Random().nextDouble()); - Point point = influxDbUtils.pointBuilder("pqd_data", time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName ()).tag(InfluxDBPublicParam.LINE_ID, "7f6753c721dbf1ce37117073eddf2215").tag(InfluxDBPublicParam.PHASIC_TYPE,item1).tag(InfluxDBPublicParam.VALUE_TYPE,item2).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); + Point point = influxDbUtils.pointBuilder("data_v", time, TimeUnit.MILLISECONDS, tags, fields); + BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName ()).tag(InfluxDBPublicParam.LINE_ID, "4aea410500fc0cea5a62790e8d493542").tag(InfluxDBPublicParam.PHASIC_TYPE,item1).tag(InfluxDBPublicParam.VALUE_TYPE,item2).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); batchPoints.point(point); records.add(batchPoints.lineProtocol()); } diff --git a/pom.xml b/pom.xml index 417ed06..d0756af 100644 --- a/pom.xml +++ b/pom.xml @@ -23,14 +23,14 @@ 192.168.1.13 - 192.168.1.13 + 192.168.1.139 192.168.1.13 ${middle.server.url}:18848 - - 3eaa4bd1-bfb6-497b-aba2-47edda305427 + 415a1c87-33aa-47bd-8e25-13cc456c87ed + ${middle.server.url}:8080 @@ -43,14 +43,14 @@ njcn common-microservice - + site 1.8 8 8 2.3.12.RELEASE - + Hoxton.SR12 2.2.7.RELEASE 5.7.9