diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java new file mode 100644 index 0000000..98788dd --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java @@ -0,0 +1,180 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 15:27 + **/ +@Data +public class DiverterWellDataDto extends BaseXfInterfaceEntity { + @JsonProperty(value = "z") + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @JsonProperty(value = "z") + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @JsonProperty(value = "codcr") + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @JsonProperty(value = "ylj") + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + @JsonProperty(value = "ymgd") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + @JsonProperty(value = "llzmygxc") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + @JsonProperty(value = "hydsxh") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + @JsonProperty(value = "ywdxh") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + @JsonProperty(value = "gyglqdsxh") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + @JsonProperty(value = "ylg1xh") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + @JsonProperty(value = "tbcz") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + @JsonProperty(value = "ybkkt") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + @JsonProperty(value = "ybpbzt") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + @JsonProperty(value = "xxbj") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + @JsonProperty(value = "ywdbj") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + @JsonProperty(value = "yyzhyglqdsgz") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + @JsonProperty(value = "yyzgyglqdsgz") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + @JsonProperty(value = "gzdm") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + @JsonProperty(value = "ztdm") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + @JsonProperty(value = "yyzyl") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + @JsonProperty(value = "yyzljyxsjgz") + private String yyzljyxsjgz; + + public static DiverterWellDataDto dataToDto(DiverterWellData data) { + DiverterWellDataDto dto = new DiverterWellDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getDvwid()); + return dto; + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } + + public String getHydsxh() { + return StatusValueEnum.match(hydsxh).getStatusValue(); + } + + public String getYwdxh() { + return StatusValueEnum.match(ywdxh).getStatusValue(); + } + + public String getGyglqdsxh() { + return StatusValueEnum.match(gyglqdsxh).getStatusValue(); + } + + public String getYlg1xh() { + return StatusValueEnum.match(ylg1xh).getStatusValue(); + } + + public String getYbkkt() { + return StatusValueEnum.match(ybkkt).getStatusValue(); + } + + public String getYbpbzt() { + return StatusValueEnum.match(ybpbzt).getStatusValue(); + } + + public String getXxbj() { + return StatusValueEnum.match(xxbj).getStatusValue(); + } + + public String getYwdbj() { + return StatusValueEnum.match(ywdbj).getStatusValue(); + } + + public String getYyz1ylggz() { + return StatusValueEnum.match(yyz1ylggz).getStatusValue(); + } + + public String getYyz2ylggz() { + return StatusValueEnum.match(yyz2ylggz).getStatusValue(); + } + + public String getYyzhyglqdsgz() { + return StatusValueEnum.match(yyzhyglqdsgz).getStatusValue(); + } + + public String getYyzgyglqdsgz() { + return StatusValueEnum.match(yyzgyglqdsgz).getStatusValue(); + } + + public String getYgzbhgz1() { + return StatusValueEnum.match(ygzbhgz1).getStatusValue(); + } + + public String getYgzbhgz2() { + return StatusValueEnum.match(ygzbhgz2).getStatusValue(); + } + + public String getGzdm() { + return StatusValueEnum.match(gzdm).getStatusValue(); + } + + public String getZtdm() { + return StatusValueEnum.match(ztdm).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java new file mode 100644 index 0000000..98788dd --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java @@ -0,0 +1,180 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 15:27 + **/ +@Data +public class DiverterWellDataDto extends BaseXfInterfaceEntity { + @JsonProperty(value = "z") + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @JsonProperty(value = "z") + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @JsonProperty(value = "codcr") + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @JsonProperty(value = "ylj") + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + @JsonProperty(value = "ymgd") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + @JsonProperty(value = "llzmygxc") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + @JsonProperty(value = "hydsxh") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + @JsonProperty(value = "ywdxh") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + @JsonProperty(value = "gyglqdsxh") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + @JsonProperty(value = "ylg1xh") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + @JsonProperty(value = "tbcz") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + @JsonProperty(value = "ybkkt") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + @JsonProperty(value = "ybpbzt") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + @JsonProperty(value = "xxbj") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + @JsonProperty(value = "ywdbj") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + @JsonProperty(value = "yyzhyglqdsgz") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + @JsonProperty(value = "yyzgyglqdsgz") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + @JsonProperty(value = "gzdm") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + @JsonProperty(value = "ztdm") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + @JsonProperty(value = "yyzyl") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + @JsonProperty(value = "yyzljyxsjgz") + private String yyzljyxsjgz; + + public static DiverterWellDataDto dataToDto(DiverterWellData data) { + DiverterWellDataDto dto = new DiverterWellDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getDvwid()); + return dto; + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } + + public String getHydsxh() { + return StatusValueEnum.match(hydsxh).getStatusValue(); + } + + public String getYwdxh() { + return StatusValueEnum.match(ywdxh).getStatusValue(); + } + + public String getGyglqdsxh() { + return StatusValueEnum.match(gyglqdsxh).getStatusValue(); + } + + public String getYlg1xh() { + return StatusValueEnum.match(ylg1xh).getStatusValue(); + } + + public String getYbkkt() { + return StatusValueEnum.match(ybkkt).getStatusValue(); + } + + public String getYbpbzt() { + return StatusValueEnum.match(ybpbzt).getStatusValue(); + } + + public String getXxbj() { + return StatusValueEnum.match(xxbj).getStatusValue(); + } + + public String getYwdbj() { + return StatusValueEnum.match(ywdbj).getStatusValue(); + } + + public String getYyz1ylggz() { + return StatusValueEnum.match(yyz1ylggz).getStatusValue(); + } + + public String getYyz2ylggz() { + return StatusValueEnum.match(yyz2ylggz).getStatusValue(); + } + + public String getYyzhyglqdsgz() { + return StatusValueEnum.match(yyzhyglqdsgz).getStatusValue(); + } + + public String getYyzgyglqdsgz() { + return StatusValueEnum.match(yyzgyglqdsgz).getStatusValue(); + } + + public String getYgzbhgz1() { + return StatusValueEnum.match(ygzbhgz1).getStatusValue(); + } + + public String getYgzbhgz2() { + return StatusValueEnum.match(ygzbhgz2).getStatusValue(); + } + + public String getGzdm() { + return StatusValueEnum.match(gzdm).getStatusValue(); + } + + public String getZtdm() { + return StatusValueEnum.match(ztdm).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java index 2e31fbe..36113df 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java @@ -1,8 +1,6 @@ package org.springnewfiber.dataadapter.xf.entity; -import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,7 +17,7 @@ @JsonProperty(value = "rate") @ApiModelProperty(value = "水势") private String wptn; - @JsonProperty(value ="z") + @JsonProperty(value = "z") @ApiModelProperty(value = "水位") private BigDecimal z; } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java new file mode 100644 index 0000000..98788dd --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java @@ -0,0 +1,180 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 15:27 + **/ +@Data +public class DiverterWellDataDto extends BaseXfInterfaceEntity { + @JsonProperty(value = "z") + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @JsonProperty(value = "z") + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @JsonProperty(value = "codcr") + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @JsonProperty(value = "ylj") + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + @JsonProperty(value = "ymgd") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + @JsonProperty(value = "llzmygxc") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + @JsonProperty(value = "hydsxh") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + @JsonProperty(value = "ywdxh") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + @JsonProperty(value = "gyglqdsxh") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + @JsonProperty(value = "ylg1xh") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + @JsonProperty(value = "tbcz") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + @JsonProperty(value = "ybkkt") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + @JsonProperty(value = "ybpbzt") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + @JsonProperty(value = "xxbj") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + @JsonProperty(value = "ywdbj") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + @JsonProperty(value = "yyzhyglqdsgz") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + @JsonProperty(value = "yyzgyglqdsgz") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + @JsonProperty(value = "gzdm") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + @JsonProperty(value = "ztdm") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + @JsonProperty(value = "yyzyl") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + @JsonProperty(value = "yyzljyxsjgz") + private String yyzljyxsjgz; + + public static DiverterWellDataDto dataToDto(DiverterWellData data) { + DiverterWellDataDto dto = new DiverterWellDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getDvwid()); + return dto; + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } + + public String getHydsxh() { + return StatusValueEnum.match(hydsxh).getStatusValue(); + } + + public String getYwdxh() { + return StatusValueEnum.match(ywdxh).getStatusValue(); + } + + public String getGyglqdsxh() { + return StatusValueEnum.match(gyglqdsxh).getStatusValue(); + } + + public String getYlg1xh() { + return StatusValueEnum.match(ylg1xh).getStatusValue(); + } + + public String getYbkkt() { + return StatusValueEnum.match(ybkkt).getStatusValue(); + } + + public String getYbpbzt() { + return StatusValueEnum.match(ybpbzt).getStatusValue(); + } + + public String getXxbj() { + return StatusValueEnum.match(xxbj).getStatusValue(); + } + + public String getYwdbj() { + return StatusValueEnum.match(ywdbj).getStatusValue(); + } + + public String getYyz1ylggz() { + return StatusValueEnum.match(yyz1ylggz).getStatusValue(); + } + + public String getYyz2ylggz() { + return StatusValueEnum.match(yyz2ylggz).getStatusValue(); + } + + public String getYyzhyglqdsgz() { + return StatusValueEnum.match(yyzhyglqdsgz).getStatusValue(); + } + + public String getYyzgyglqdsgz() { + return StatusValueEnum.match(yyzgyglqdsgz).getStatusValue(); + } + + public String getYgzbhgz1() { + return StatusValueEnum.match(ygzbhgz1).getStatusValue(); + } + + public String getYgzbhgz2() { + return StatusValueEnum.match(ygzbhgz2).getStatusValue(); + } + + public String getGzdm() { + return StatusValueEnum.match(gzdm).getStatusValue(); + } + + public String getZtdm() { + return StatusValueEnum.match(ztdm).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java index 2e31fbe..36113df 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java @@ -1,8 +1,6 @@ package org.springnewfiber.dataadapter.xf.entity; -import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,7 +17,7 @@ @JsonProperty(value = "rate") @ApiModelProperty(value = "水势") private String wptn; - @JsonProperty(value ="z") + @JsonProperty(value = "z") @ApiModelProperty(value = "水位") private BigDecimal z; } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java new file mode 100644 index 0000000..6725fc4 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java @@ -0,0 +1,128 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: 调蓄池监测数据 + * @author: djt + * @create: 2022-08-11 10:09 + **/ +@Data +public class SurgeTankData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "调蓄池ID") + private String strgid; + @ApiModelProperty(value = "调蓄池编号") + private String stgnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "调蓄池液位m") + private String txcyw; + @ApiModelProperty(value = "泵坑液位m") + private String bkyw; + @ApiModelProperty(value = "进水廊道液位m") + private String jsldyw; + @ApiModelProperty(value = "水泵1状态") + private String sbzt1; + @ApiModelProperty(value = "水泵2状态") + private String sbzt2; + @ApiModelProperty(value = "喷射器1角度,度") + private String psqjd1; + @ApiModelProperty(value = "喷射器2角度,度") + private String psqjd2; + @ApiModelProperty(value = "喷射器3角度,度") + private String psqjd3; + @ApiModelProperty(value = "喷射器4角度,度") + private String psqjd4; + @ApiModelProperty(value = "喷射器5角度,度") + private String psqjd5; + @ApiModelProperty(value = "喷射器6角度,度") + private String psqjd6; + @ApiModelProperty(value = "喷射器7角度,度") + private String psqjd7; + @ApiModelProperty(value = "喷射器8角度,度") + private String psqjd8; + @ApiModelProperty(value = "喷射器9角度,度") + private String psqjd9; + @ApiModelProperty(value = "1#喷射器水泵状态") + private String psqsbzt1; + @ApiModelProperty(value = "2#喷射器水泵状态") + private String psqsbzt2; + @ApiModelProperty(value = "3#喷射器水泵状态") + private String psqsbzt3; + @ApiModelProperty(value = "4#喷射器水泵状态") + private String psqsbzt4; + @ApiModelProperty(value = "5#喷射器水泵状态") + private String psqsbzt5; + @ApiModelProperty(value = "6#喷射器水泵状态") + private String psqsbzt6; + @ApiModelProperty(value = "7#喷射器水泵状态") + private String psqsbzt7; + @ApiModelProperty(value = "8#喷射器水泵状态") + private String psqsbzt8; + @ApiModelProperty(value = "9#喷射器水泵状态") + private String psqsbzt9; + @ApiModelProperty(value = "喷射器水泵频率1,HZ") + private String psqsbpl1; + @ApiModelProperty(value = "喷射器水泵频率2,HZ") + private String psqsbpl2; + @ApiModelProperty(value = "喷射器水泵频率3,HZ") + private String psqsbpl3; + @ApiModelProperty(value = "喷射器水泵频率4,HZ") + private String psqsbpl4; + @ApiModelProperty(value = "喷射器水泵频率5,HZ") + private String psqsbpl5; + @ApiModelProperty(value = "喷射器水泵频率6,HZ") + private String psqsbpl6; + @ApiModelProperty(value = "喷射器水泵频率7,HZ") + private String psqsbpl7; + @ApiModelProperty(value = "喷射器水泵频率8,HZ") + private String psqsbpl8; + @ApiModelProperty(value = "喷射器水泵频率9,HZ") + private String psqsbpl9; + @ApiModelProperty(value = "闸门1状态") + private String zmzt1; + @ApiModelProperty(value = "闸门2状态") + private String zmzt2; + @ApiModelProperty(value = "闸门3状态") + private String zmzt3; + @ApiModelProperty(value = "闸门4状态") + private String zmzt4; + @ApiModelProperty(value = "闸门5状态") + private String zmzt5; + @ApiModelProperty(value = "闸门6状态") + private String zmzt6; + @ApiModelProperty(value = "风机1状态") + private String fjzt1; + @ApiModelProperty(value = "风机2状态") + private String fjzt2; + @ApiModelProperty(value = "风机3状态") + private String fjzt3; + @ApiModelProperty(value = "风机4状态") + private String fjzt4; + @ApiModelProperty(value = "风机5状态") + private String fjzt5; + @ApiModelProperty(value = "风机6状态") + private String fjzt6; + @ApiModelProperty(value = "风机7状态") + private String fjzt7; + @ApiModelProperty(value = "风机8状态") + private String fjzt8; + @ApiModelProperty(value = "风机9状态") + private String fjzt9; + @ApiModelProperty(value = "粉碎格栅1状态") + private String fsglzt1; + @ApiModelProperty(value = "粉碎格栅2状态") + private String fsglzt2; + @ApiModelProperty(value = "综合故障") + private String zhgz; + @ApiModelProperty(value = "格栅状态") + private String gszt; + @ApiModelProperty(value = "运行状态") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java new file mode 100644 index 0000000..98788dd --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java @@ -0,0 +1,180 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 15:27 + **/ +@Data +public class DiverterWellDataDto extends BaseXfInterfaceEntity { + @JsonProperty(value = "z") + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @JsonProperty(value = "z") + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @JsonProperty(value = "codcr") + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @JsonProperty(value = "ylj") + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + @JsonProperty(value = "ymgd") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + @JsonProperty(value = "llzmygxc") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + @JsonProperty(value = "hydsxh") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + @JsonProperty(value = "ywdxh") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + @JsonProperty(value = "gyglqdsxh") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + @JsonProperty(value = "ylg1xh") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + @JsonProperty(value = "tbcz") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + @JsonProperty(value = "ybkkt") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + @JsonProperty(value = "ybpbzt") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + @JsonProperty(value = "xxbj") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + @JsonProperty(value = "ywdbj") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + @JsonProperty(value = "yyzhyglqdsgz") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + @JsonProperty(value = "yyzgyglqdsgz") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + @JsonProperty(value = "gzdm") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + @JsonProperty(value = "ztdm") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + @JsonProperty(value = "yyzyl") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + @JsonProperty(value = "yyzljyxsjgz") + private String yyzljyxsjgz; + + public static DiverterWellDataDto dataToDto(DiverterWellData data) { + DiverterWellDataDto dto = new DiverterWellDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getDvwid()); + return dto; + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } + + public String getHydsxh() { + return StatusValueEnum.match(hydsxh).getStatusValue(); + } + + public String getYwdxh() { + return StatusValueEnum.match(ywdxh).getStatusValue(); + } + + public String getGyglqdsxh() { + return StatusValueEnum.match(gyglqdsxh).getStatusValue(); + } + + public String getYlg1xh() { + return StatusValueEnum.match(ylg1xh).getStatusValue(); + } + + public String getYbkkt() { + return StatusValueEnum.match(ybkkt).getStatusValue(); + } + + public String getYbpbzt() { + return StatusValueEnum.match(ybpbzt).getStatusValue(); + } + + public String getXxbj() { + return StatusValueEnum.match(xxbj).getStatusValue(); + } + + public String getYwdbj() { + return StatusValueEnum.match(ywdbj).getStatusValue(); + } + + public String getYyz1ylggz() { + return StatusValueEnum.match(yyz1ylggz).getStatusValue(); + } + + public String getYyz2ylggz() { + return StatusValueEnum.match(yyz2ylggz).getStatusValue(); + } + + public String getYyzhyglqdsgz() { + return StatusValueEnum.match(yyzhyglqdsgz).getStatusValue(); + } + + public String getYyzgyglqdsgz() { + return StatusValueEnum.match(yyzgyglqdsgz).getStatusValue(); + } + + public String getYgzbhgz1() { + return StatusValueEnum.match(ygzbhgz1).getStatusValue(); + } + + public String getYgzbhgz2() { + return StatusValueEnum.match(ygzbhgz2).getStatusValue(); + } + + public String getGzdm() { + return StatusValueEnum.match(gzdm).getStatusValue(); + } + + public String getZtdm() { + return StatusValueEnum.match(ztdm).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java index 2e31fbe..36113df 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java @@ -1,8 +1,6 @@ package org.springnewfiber.dataadapter.xf.entity; -import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,7 +17,7 @@ @JsonProperty(value = "rate") @ApiModelProperty(value = "水势") private String wptn; - @JsonProperty(value ="z") + @JsonProperty(value = "z") @ApiModelProperty(value = "水位") private BigDecimal z; } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java new file mode 100644 index 0000000..6725fc4 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java @@ -0,0 +1,128 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: 调蓄池监测数据 + * @author: djt + * @create: 2022-08-11 10:09 + **/ +@Data +public class SurgeTankData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "调蓄池ID") + private String strgid; + @ApiModelProperty(value = "调蓄池编号") + private String stgnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "调蓄池液位m") + private String txcyw; + @ApiModelProperty(value = "泵坑液位m") + private String bkyw; + @ApiModelProperty(value = "进水廊道液位m") + private String jsldyw; + @ApiModelProperty(value = "水泵1状态") + private String sbzt1; + @ApiModelProperty(value = "水泵2状态") + private String sbzt2; + @ApiModelProperty(value = "喷射器1角度,度") + private String psqjd1; + @ApiModelProperty(value = "喷射器2角度,度") + private String psqjd2; + @ApiModelProperty(value = "喷射器3角度,度") + private String psqjd3; + @ApiModelProperty(value = "喷射器4角度,度") + private String psqjd4; + @ApiModelProperty(value = "喷射器5角度,度") + private String psqjd5; + @ApiModelProperty(value = "喷射器6角度,度") + private String psqjd6; + @ApiModelProperty(value = "喷射器7角度,度") + private String psqjd7; + @ApiModelProperty(value = "喷射器8角度,度") + private String psqjd8; + @ApiModelProperty(value = "喷射器9角度,度") + private String psqjd9; + @ApiModelProperty(value = "1#喷射器水泵状态") + private String psqsbzt1; + @ApiModelProperty(value = "2#喷射器水泵状态") + private String psqsbzt2; + @ApiModelProperty(value = "3#喷射器水泵状态") + private String psqsbzt3; + @ApiModelProperty(value = "4#喷射器水泵状态") + private String psqsbzt4; + @ApiModelProperty(value = "5#喷射器水泵状态") + private String psqsbzt5; + @ApiModelProperty(value = "6#喷射器水泵状态") + private String psqsbzt6; + @ApiModelProperty(value = "7#喷射器水泵状态") + private String psqsbzt7; + @ApiModelProperty(value = "8#喷射器水泵状态") + private String psqsbzt8; + @ApiModelProperty(value = "9#喷射器水泵状态") + private String psqsbzt9; + @ApiModelProperty(value = "喷射器水泵频率1,HZ") + private String psqsbpl1; + @ApiModelProperty(value = "喷射器水泵频率2,HZ") + private String psqsbpl2; + @ApiModelProperty(value = "喷射器水泵频率3,HZ") + private String psqsbpl3; + @ApiModelProperty(value = "喷射器水泵频率4,HZ") + private String psqsbpl4; + @ApiModelProperty(value = "喷射器水泵频率5,HZ") + private String psqsbpl5; + @ApiModelProperty(value = "喷射器水泵频率6,HZ") + private String psqsbpl6; + @ApiModelProperty(value = "喷射器水泵频率7,HZ") + private String psqsbpl7; + @ApiModelProperty(value = "喷射器水泵频率8,HZ") + private String psqsbpl8; + @ApiModelProperty(value = "喷射器水泵频率9,HZ") + private String psqsbpl9; + @ApiModelProperty(value = "闸门1状态") + private String zmzt1; + @ApiModelProperty(value = "闸门2状态") + private String zmzt2; + @ApiModelProperty(value = "闸门3状态") + private String zmzt3; + @ApiModelProperty(value = "闸门4状态") + private String zmzt4; + @ApiModelProperty(value = "闸门5状态") + private String zmzt5; + @ApiModelProperty(value = "闸门6状态") + private String zmzt6; + @ApiModelProperty(value = "风机1状态") + private String fjzt1; + @ApiModelProperty(value = "风机2状态") + private String fjzt2; + @ApiModelProperty(value = "风机3状态") + private String fjzt3; + @ApiModelProperty(value = "风机4状态") + private String fjzt4; + @ApiModelProperty(value = "风机5状态") + private String fjzt5; + @ApiModelProperty(value = "风机6状态") + private String fjzt6; + @ApiModelProperty(value = "风机7状态") + private String fjzt7; + @ApiModelProperty(value = "风机8状态") + private String fjzt8; + @ApiModelProperty(value = "风机9状态") + private String fjzt9; + @ApiModelProperty(value = "粉碎格栅1状态") + private String fsglzt1; + @ApiModelProperty(value = "粉碎格栅2状态") + private String fsglzt2; + @ApiModelProperty(value = "综合故障") + private String zhgz; + @ApiModelProperty(value = "格栅状态") + private String gszt; + @ApiModelProperty(value = "运行状态") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java new file mode 100644 index 0000000..7d0a828 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java @@ -0,0 +1,318 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 10:36 + **/ +@Data +public class SurgeTankDataDto extends BaseXfInterfaceEntity { + @ApiModelProperty(value = "调蓄池液位m") + @JsonProperty(value = "z") + private String txcyw; + @ApiModelProperty(value = "泵坑液位m") + @JsonProperty(value = "z") + private String bkyw; + @ApiModelProperty(value = "进水廊道液位m") + @JsonProperty(value = "z") + private String jsldyw; + @ApiModelProperty(value = "水泵1状态") + @JsonProperty(value = "sbzt") + private String sbzt1; + @ApiModelProperty(value = "水泵2状态") + @JsonProperty(value = "sbzt") + private String sbzt2; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器1角度,度") + private String psqjd1; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器2角度,度") + private String psqjd2; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器3角度,度") + private String psqjd3; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器4角度,度") + private String psqjd4; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器5角度,度") + private String psqjd5; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器6角度,度") + private String psqjd6; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器7角度,度") + private String psqjd7; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器8角度,度") + private String psqjd8; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器9角度,度") + private String psqjd9; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "1#喷射器水泵状态") + private String psqsbzt1; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "2#喷射器水泵状态") + private String psqsbzt2; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "3#喷射器水泵状态") + private String psqsbzt3; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "4#喷射器水泵状态") + private String psqsbzt4; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "5#喷射器水泵状态") + private String psqsbzt5; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "6#喷射器水泵状态") + private String psqsbzt6; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "7#喷射器水泵状态") + private String psqsbzt7; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "8#喷射器水泵状态") + private String psqsbzt8; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "9#喷射器水泵状态") + private String psqsbzt9; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率1,HZ") + private String psqsbpl1; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率2,HZ") + private String psqsbpl2; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率3,HZ") + private String psqsbpl3; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率4,HZ") + private String psqsbpl4; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率5,HZ") + private String psqsbpl5; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率6,HZ") + private String psqsbpl6; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率7,HZ") + private String psqsbpl7; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率8,HZ") + private String psqsbpl8; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率9,HZ") + private String psqsbpl9; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门1状态") + private String zmzt1; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门2状态") + private String zmzt2; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门3状态") + private String zmzt3; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门4状态") + private String zmzt4; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门5状态") + private String zmzt5; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门6状态") + private String zmzt6; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机1状态") + private String fjzt1; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机2状态") + private String fjzt2; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机3状态") + private String fjzt3; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机4状态") + private String fjzt4; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机5状态") + private String fjzt5; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机6状态") + private String fjzt6; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机7状态") + private String fjzt7; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机8状态") + private String fjzt8; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机9状态") + private String fjzt9; + @JsonProperty(value = "fsglzt") + @ApiModelProperty(value = "粉碎格栅1状态") + private String fsglzt1; + @JsonProperty(value = "fsglzt") + @ApiModelProperty(value = "粉碎格栅2状态") + private String fsglzt2; + @ApiModelProperty(value = "综合故障") + @JsonProperty(value = "zhgz") + private String zhgz; + @ApiModelProperty(value = "格栅状态") + @JsonProperty(value = "gszt") + private String gszt; + @ApiModelProperty(value = "运行状态") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + + public static SurgeTankDataDto dataToDto(SurgeTankData data) { + SurgeTankDataDto dto = new SurgeTankDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getStrgid()); + return dto; + } + + public static void main(String[] args) { + String tm = "2022/8/2 14:30:00"; + DateTime dateTime = DateUtil.parse(tm, "yyyy/MM/dd HH:mm:ss"); + System.out.println(DateUtil.format(dateTime, DatePattern.NORM_DATETIME_PATTERN)); + } + + public String getPsqsbzt1() { + return StatusValueEnum.match(psqsbzt1).getStatusValue(); + } + + private String getStatusIntger(String mark) { + return StatusValueEnum.match(mark).getStatusValue(); + } + + public String getPsqsbzt2() { + return StatusValueEnum.match(psqsbzt2).getStatusValue(); + } + + public String getPsqsbzt3() { + return StatusValueEnum.match(psqsbzt3).getStatusValue(); + } + + public String getPsqsbzt4() { + return StatusValueEnum.match(psqsbzt4).getStatusValue(); + } + + public String getPsqsbzt5() { + return StatusValueEnum.match(psqsbzt5).getStatusValue(); + } + + public String getPsqsbzt6() { + return StatusValueEnum.match(psqsbzt6).getStatusValue(); + } + + public String getPsqsbzt7() { + return StatusValueEnum.match(psqsbzt7).getStatusValue(); + } + + public String getPsqsbzt8() { + return StatusValueEnum.match(psqsbzt8).getStatusValue(); + } + + public String getPsqsbzt9() { + return StatusValueEnum.match(psqsbzt9).getStatusValue(); + } + + public String getZmzt1() { + return StatusValueEnum.match(zmzt1).getStatusValue(); + } + + public String getZmzt2() { + return StatusValueEnum.match(zmzt2).getStatusValue(); + } + + public String getZmzt3() { + return StatusValueEnum.match(zmzt3).getStatusValue(); + } + + public String getZmzt4() { + return StatusValueEnum.match(zmzt4).getStatusValue(); + } + + public String getZmzt5() { + return StatusValueEnum.match(zmzt5).getStatusValue(); + } + + public String getZmzt6() { + return StatusValueEnum.match(zmzt6).getStatusValue(); + } + + public String getFjzt1() { + return StatusValueEnum.match(fjzt1).getStatusValue(); + } + + public String getFjzt2() { + return StatusValueEnum.match(fjzt2).getStatusValue(); + } + + public String getFjzt3() { + return StatusValueEnum.match(fjzt3).getStatusValue(); + } + + public String getFjzt4() { + return StatusValueEnum.match(fjzt4).getStatusValue(); + } + + public String getFjzt5() { + return StatusValueEnum.match(fjzt5).getStatusValue(); + } + + public String getFjzt6() { + return StatusValueEnum.match(fjzt6).getStatusValue(); + } + + public String getFjzt7() { + return StatusValueEnum.match(fjzt7).getStatusValue(); + } + + public String getFjzt8() { + return StatusValueEnum.match(fjzt8).getStatusValue(); + } + + public String getFjzt9() { + return StatusValueEnum.match(fjzt9).getStatusValue(); + } + + public String getFsglzt1() { + return StatusValueEnum.match(fsglzt1).getStatusValue(); + } + + public String getFsglzt2() { + return StatusValueEnum.match(fsglzt2).getStatusValue(); + } + + public String getZhgz() { + return StatusValueEnum.match(zhgz).getStatusValue(); + } + + public String getGszt() { + return StatusValueEnum.match(gszt).getStatusValue(); + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java index feb66e6..055e88a 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java @@ -1,39 +1,33 @@ package org.springnewfiber.dataadapter.xf; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.List; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity; -import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto; -import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData; -import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData; -import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData; -import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSewageData; -import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWasData; -import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData; +import org.springnewfiber.dataadapter.xf.entity.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; @Getter public enum XfDataEnum { - /** - * - */ - ChnlData("ChnlData","港渠信息"), - ForcastData("ForcastData","汉口水情"), - LakeData("LakeData","湖泊监测数据"), - Meteorological("Meteorological","气象站实时监测数据"), - PptnData("PptnData","降雨量"), - PumpData("PumpData","泵站信息"), - RiverData("RiverData","河道信息"), - SoilData("SoilData","土壤墒情"), - WasData("WasData","涵闸监测数据"), - WetlogData("WetlogData","渍水实时数据"), - SewageData("SewageData","污水厂实时监测数据"), - WaterQualityData("WaterQualityData","水质站实时监测数据"), + /** + * + */ + ChnlData("ChnlData", "港渠信息"), + ForcastData("ForcastData", "汉口水情"), + LakeData("LakeData", "湖泊监测数据"), + Meteorological("Meteorological", "气象站实时监测数据"), + PptnData("PptnData", "降雨量"), + PumpData("PumpData", "泵站信息"), + RiverData("RiverData", "河道信息"), + SoilData("SoilData", "土壤墒情"), + WasData("WasData", "涵闸监测数据"), + WetlogData("WetlogData", "渍水实时数据"), + SewageData("SewageData", "污水厂实时监测数据"), + WaterQualityData("WaterQualityData", "水质站实时监测数据"), + SurgeTankData("SurgeTankData", "调蓄池监测数据"), + DiverterWellData("DiverterWellData", "分流井监测数据"), ; private String code; private String remark; @@ -42,9 +36,10 @@ this.code = code; this.remark = remark; } - public static XfDataEnum match(String code){ + + public static XfDataEnum match(String code) { for (XfDataEnum value : XfDataEnum.values()) { - if(StringUtils.equalsIgnoreCase(value.getCode(),code)){ + if (StringUtils.equalsIgnoreCase(value.getCode(), code)) { return value; } } @@ -52,34 +47,42 @@ } @SuppressWarnings("unchecked") - public static List parse(String data, XfDataEnum xfDataEnum){ - List result = new ArrayList<>(); + public static List parse(String data, XfDataEnum xfDataEnum) { + List result = new ArrayList<>(); - if (xfDataEnum == XfDataEnum.ChnlData) { - result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); + if (xfDataEnum == XfDataEnum.ChnlData) { + result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class); // } else if (xfDataEnum == XfDataEnum.ForcastData) { // result = JSONObject.parseArray(data, MonitorForcastData.class); - } else if (xfDataEnum == XfDataEnum.LakeData) { - result = (List) JSONObject.parseArray(data, MonitorLakeData.class); - } else if (xfDataEnum == XfDataEnum.Meteorological) { - result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); - } else if (xfDataEnum == XfDataEnum.PptnData) { - result = (List) JSONObject.parseArray(data, MonitorPptnData.class); - } else if (xfDataEnum == XfDataEnum.PumpData) { - result = (List) JSONObject.parseArray(data, MonitorPumpData.class); - } else if (xfDataEnum == XfDataEnum.RiverData) { - result = (List) JSONObject.parseArray(data, MonitorRiverData.class); - } else if (xfDataEnum == XfDataEnum.SoilData) { - result = (List) JSONObject.parseArray(data, MonitorSoilData.class); - } else if (xfDataEnum == XfDataEnum.WasData) { - result = (List) JSONObject.parseArray(data, MonitorWasData.class); - } else if (xfDataEnum == XfDataEnum.WetlogData) { - result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); - } else if (xfDataEnum == XfDataEnum.SewageData) { - result = (List) JSONObject.parseArray(data, MonitorSewageData.class); - } - - return result; + } else if (xfDataEnum == XfDataEnum.LakeData) { + result = (List) JSONObject.parseArray(data, MonitorLakeData.class); + } else if (xfDataEnum == XfDataEnum.Meteorological) { + result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class); + } else if (xfDataEnum == XfDataEnum.PptnData) { + result = (List) JSONObject.parseArray(data, MonitorPptnData.class); + } else if (xfDataEnum == XfDataEnum.PumpData) { + result = (List) JSONObject.parseArray(data, MonitorPumpData.class); + } else if (xfDataEnum == XfDataEnum.RiverData) { + result = (List) JSONObject.parseArray(data, MonitorRiverData.class); + } else if (xfDataEnum == XfDataEnum.SoilData) { + result = (List) JSONObject.parseArray(data, MonitorSoilData.class); + } else if (xfDataEnum == XfDataEnum.WasData) { + result = (List) JSONObject.parseArray(data, MonitorWasData.class); + } else if (xfDataEnum == XfDataEnum.WetlogData) { + result = (List) JSONObject.parseArray(data, MonitorWetlogData.class); + } else if (xfDataEnum == XfDataEnum.SewageData) { + result = (List) JSONObject.parseArray(data, MonitorSewageData.class); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { + result = (List)JSONObject.parseArray(data, WaterQualityData.class); + }else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + result = (List)diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + result = (List)surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } + + return result; } } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java index c07bfeb..39f2b87 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/MonitorDataController.java @@ -6,9 +6,6 @@ import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import java.util.Date; -import java.util.List; -import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -27,6 +24,11 @@ import org.springnewfiber.dataadapter.xf.enums.EDataAccessType; import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @program: newfiber-data-adapter * @description: @@ -50,7 +52,7 @@ @PostMapping("/xfInterface") public R xfInterface(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); List DTO = null; try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -72,7 +74,7 @@ DTO = JSONObject.parseArray(data, MonitorMeteorologicalData.class); } else if (xfDataEnum == XfDataEnum.PptnData) { DTO = JSONObject.parseArray(data, MonitorPptnData.class); - DTO.forEach(i->{ + DTO.forEach(i -> { checkSet((MonitorPptnData) i); }); } else if (xfDataEnum == XfDataEnum.PumpData) { @@ -87,13 +89,18 @@ DTO = JSONObject.parseArray(data, MonitorWetlogData.class); } else if (xfDataEnum == XfDataEnum.SewageData) { DTO = JSONObject.parseArray(data, MonitorSewageData.class); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { DTO = JSONObject.parseArray(data, WaterQualityData.class); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + List surgeTankDataList = JSONObject.parseArray(data, SurgeTankData.class); + DTO = surgeTankDataList.stream().map(SurgeTankDataDto::dataToDto).collect(Collectors.toList()); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + List diverterWellDataList = JSONObject.parseArray(data, DiverterWellData.class); + DTO = diverterWellDataList.stream().map(DiverterWellDataDto::dataToDto).collect(Collectors.toList()); } else { throw new RuntimeException("暂未开发"); } } - if (CollUtil.isNotEmpty(DTO)) { DTO.forEach((i) -> { PtReceiveBaseModel model = RealTimeSerializer.xfObjectToRealMap(i); @@ -102,7 +109,7 @@ }); return R.status(true); } else { - log.error("数据转换错误:{}",JSONObject.toJSONString(DTO)); + log.error("数据转换错误:{}", JSONObject.toJSONString(DTO)); return R.status(true); } } catch (Exception var5) { @@ -152,7 +159,7 @@ @PostMapping("/xfInterface/single") public R xfInterfaceSingle(@ApiParam(value = "数据json") @RequestParam("data") String data, @ApiParam(value = "数据类型") @RequestParam("xfBaseData") XfDataEnum xfDataEnum) { log.error("data:{},flag:{}", JSONObject.toJSONString(data), xfDataEnum.getRemark()); - dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); + dataAccessRecordService.save(EDataAccessType.IflytekRealtime, xfDataEnum.getCode(), data); PtReceiveBaseModel model = new PtReceiveBaseModel(); try { if (xfDataEnum == XfDataEnum.ChnlData) { @@ -190,17 +197,23 @@ MonitorWetlogData DTO = JSONObject.parseObject(data, MonitorWetlogData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); } else if (xfDataEnum == XfDataEnum.SewageData) { - MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); - model = RealTimeSerializer.xfObjectToRealMap(DTO); - }else if (xfDataEnum == XfDataEnum.WaterQualityData) { + MonitorSewageData DTO = JSONObject.parseObject(data, MonitorSewageData.class); + model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.WaterQualityData) { WaterQualityData DTO = JSONObject.parseObject(data, WaterQualityData.class); model = RealTimeSerializer.xfObjectToRealMap(DTO); + } else if (xfDataEnum == XfDataEnum.SurgeTankData) { + SurgeTankData surgeTankData = JSONObject.parseObject(data, SurgeTankData.class); + model = RealTimeSerializer.xfObjectToRealMap(SurgeTankDataDto.dataToDto(surgeTankData)); + } else if (xfDataEnum == XfDataEnum.DiverterWellData) { + DiverterWellData diverterWellData = JSONObject.parseObject(data, DiverterWellData.class); + model = RealTimeSerializer.xfObjectToRealMap(DiverterWellDataDto.dataToDto(diverterWellData)); } else { throw new RuntimeException("暂未开发"); } log.info("cover:{}", JSONObject.toJSONString(model)); if (CollUtil.isEmpty(model.getDataMap())) { - log.error("数据转换错误:{}",JSONObject.toJSONString(model)); + log.error("数据转换错误:{}", JSONObject.toJSONString(model)); return R.status(true); } else { rabbitTemplate.convertAndSend(JSONObject.toJSONString(model)); diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java new file mode 100644 index 0000000..3760217 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellData.java @@ -0,0 +1,148 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 14:56 + **/ +@Data +public class DiverterWellData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "分流井ID") + private String dvwid; + @ApiModelProperty(value = "分流井编号") + private String dvwnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + private String yyzljyxsjgz; + + public String getYxzt() { + return yxzt; + } + + public String getGdzt() { + return gdzt; + } + + public String getHydsxh() { + return hydsxh; + } + + public String getYwdxh() { + return ywdxh; + } + + public String getGyglqdsxh() { + return gyglqdsxh; + } + + public String getYlg1xh() { + return ylg1xh; + } + + public String getYbkkt() { + return ybkkt; + } + + public String getYbpbzt() { + return ybpbzt; + } + + public String getXxbj() { + return xxbj; + } + + public String getYwdbj() { + return ywdbj; + } + + public String getYyz1ylggz() { + return yyz1ylggz; + } + + public String getYyz2ylggz() { + return yyz2ylggz; + } + + public String getYyzhyglqdsgz() { + return yyzhyglqdsgz; + } + + public String getYyzgyglqdsgz() { + return yyzgyglqdsgz; + } + + public String getYgzbhgz1() { + return ygzbhgz1; + } + + public String getYgzbhgz2() { + return ygzbhgz2; + } + + public String getGzdm() { + return gzdm; + } + + public String getZtdm() { + return ztdm; + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java new file mode 100644 index 0000000..98788dd --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/DiverterWellDataDto.java @@ -0,0 +1,180 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 15:27 + **/ +@Data +public class DiverterWellDataDto extends BaseXfInterfaceEntity { + @JsonProperty(value = "z") + @ApiModelProperty(value = "井内液位m") + private String jnyw; + @JsonProperty(value = "z") + @ApiModelProperty(value = "井外液位m") + private String jwyw; + @JsonProperty(value = "codcr") + @ApiModelProperty(value = "COD,mg/L") + private String codcr; + @JsonProperty(value = "ylj") + @ApiModelProperty(value = "前1小时雨量 mm") + private String ylj; + @ApiModelProperty(value = "堰门高度m") + @JsonProperty(value = "ymgd") + private String ymgd; + @ApiModelProperty(value = "流量闸门油缸行程,%") + @JsonProperty(value = "llzmygxc") + private String llzmygxc; + @ApiModelProperty(value = "运行方式") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + @ApiModelProperty(value = "回油堵塞信号") + @JsonProperty(value = "hydsxh") + private String hydsxh; + @ApiModelProperty(value = "油位低信号") + @JsonProperty(value = "ywdxh") + private String ywdxh; + @ApiModelProperty(value = "高压过滤器堵塞信号") + @JsonProperty(value = "gyglqdsxh") + private String gyglqdsxh; + @ApiModelProperty(value = "压力高1信号") + @JsonProperty(value = "ylg1xh") + private String ylg1xh; + @ApiModelProperty(value = "同步差值,mm") + @JsonProperty(value = "tbcz") + private String tbcz; + @ApiModelProperty(value = "油泵空开状态") + @JsonProperty(value = "ybkkt") + private String ybkkt; + @ApiModelProperty(value = "油泵屏蔽状态") + @JsonProperty(value = "ybpbzt") + private String ybpbzt; + @ApiModelProperty(value = "相序报警") + @JsonProperty(value = "xxbj") + private String xxbj; + @ApiModelProperty(value = "油位低报警") + @JsonProperty(value = "ywdbj") + private String ywdbj; + @ApiModelProperty(value = "液压站1#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz1ylggz; + @ApiModelProperty(value = "液压站2#压力高故障") + @JsonProperty(value = "yyzylggz") + private String yyz2ylggz; + @ApiModelProperty(value = "液压站回油过滤器堵塞故障") + @JsonProperty(value = "yyzhyglqdsgz") + private String yyzhyglqdsgz; + @ApiModelProperty(value = "液压站高压过滤器堵塞故障") + @JsonProperty(value = "yyzgyglqdsgz") + private String yyzgyglqdsgz; + @ApiModelProperty(value = "1#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz1; + @ApiModelProperty(value = "2#油缸座保护故障") + @JsonProperty(value = "ygzbhgz") + private String ygzbhgz2; + @ApiModelProperty(value = "设备状态名称") + @JsonProperty(value = "gzdm") + private String gzdm; + @ApiModelProperty(value = "运行状态名称") + @JsonProperty(value = "ztdm") + private String ztdm; + @ApiModelProperty(value = "液压站压力Mpa") + @JsonProperty(value = "yyzyl") + private String yyzyl; + @ApiModelProperty(value = "液压站累计运行时间 ,分钟") + @JsonProperty(value = "yyzljyxsjgz") + private String yyzljyxsjgz; + + public static DiverterWellDataDto dataToDto(DiverterWellData data) { + DiverterWellDataDto dto = new DiverterWellDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getDvwid()); + return dto; + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } + + public String getHydsxh() { + return StatusValueEnum.match(hydsxh).getStatusValue(); + } + + public String getYwdxh() { + return StatusValueEnum.match(ywdxh).getStatusValue(); + } + + public String getGyglqdsxh() { + return StatusValueEnum.match(gyglqdsxh).getStatusValue(); + } + + public String getYlg1xh() { + return StatusValueEnum.match(ylg1xh).getStatusValue(); + } + + public String getYbkkt() { + return StatusValueEnum.match(ybkkt).getStatusValue(); + } + + public String getYbpbzt() { + return StatusValueEnum.match(ybpbzt).getStatusValue(); + } + + public String getXxbj() { + return StatusValueEnum.match(xxbj).getStatusValue(); + } + + public String getYwdbj() { + return StatusValueEnum.match(ywdbj).getStatusValue(); + } + + public String getYyz1ylggz() { + return StatusValueEnum.match(yyz1ylggz).getStatusValue(); + } + + public String getYyz2ylggz() { + return StatusValueEnum.match(yyz2ylggz).getStatusValue(); + } + + public String getYyzhyglqdsgz() { + return StatusValueEnum.match(yyzhyglqdsgz).getStatusValue(); + } + + public String getYyzgyglqdsgz() { + return StatusValueEnum.match(yyzgyglqdsgz).getStatusValue(); + } + + public String getYgzbhgz1() { + return StatusValueEnum.match(ygzbhgz1).getStatusValue(); + } + + public String getYgzbhgz2() { + return StatusValueEnum.match(ygzbhgz2).getStatusValue(); + } + + public String getGzdm() { + return StatusValueEnum.match(gzdm).getStatusValue(); + } + + public String getZtdm() { + return StatusValueEnum.match(ztdm).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java index 2e31fbe..36113df 100644 --- a/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/MonitorChnlDataDto.java @@ -1,8 +1,6 @@ package org.springnewfiber.dataadapter.xf.entity; -import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,7 +17,7 @@ @JsonProperty(value = "rate") @ApiModelProperty(value = "水势") private String wptn; - @JsonProperty(value ="z") + @JsonProperty(value = "z") @ApiModelProperty(value = "水位") private BigDecimal z; } diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java new file mode 100644 index 0000000..6725fc4 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankData.java @@ -0,0 +1,128 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @program: newfiber-data-adapter + * @description: 调蓄池监测数据 + * @author: djt + * @create: 2022-08-11 10:09 + **/ +@Data +public class SurgeTankData { + @ApiModelProperty(value = "湖泊名称") + private String lknm; + @ApiModelProperty(value = "调蓄池ID") + private String strgid; + @ApiModelProperty(value = "调蓄池编号") + private String stgnum; + @ApiModelProperty(value = "时间") + private String tm; + @ApiModelProperty(value = "调蓄池液位m") + private String txcyw; + @ApiModelProperty(value = "泵坑液位m") + private String bkyw; + @ApiModelProperty(value = "进水廊道液位m") + private String jsldyw; + @ApiModelProperty(value = "水泵1状态") + private String sbzt1; + @ApiModelProperty(value = "水泵2状态") + private String sbzt2; + @ApiModelProperty(value = "喷射器1角度,度") + private String psqjd1; + @ApiModelProperty(value = "喷射器2角度,度") + private String psqjd2; + @ApiModelProperty(value = "喷射器3角度,度") + private String psqjd3; + @ApiModelProperty(value = "喷射器4角度,度") + private String psqjd4; + @ApiModelProperty(value = "喷射器5角度,度") + private String psqjd5; + @ApiModelProperty(value = "喷射器6角度,度") + private String psqjd6; + @ApiModelProperty(value = "喷射器7角度,度") + private String psqjd7; + @ApiModelProperty(value = "喷射器8角度,度") + private String psqjd8; + @ApiModelProperty(value = "喷射器9角度,度") + private String psqjd9; + @ApiModelProperty(value = "1#喷射器水泵状态") + private String psqsbzt1; + @ApiModelProperty(value = "2#喷射器水泵状态") + private String psqsbzt2; + @ApiModelProperty(value = "3#喷射器水泵状态") + private String psqsbzt3; + @ApiModelProperty(value = "4#喷射器水泵状态") + private String psqsbzt4; + @ApiModelProperty(value = "5#喷射器水泵状态") + private String psqsbzt5; + @ApiModelProperty(value = "6#喷射器水泵状态") + private String psqsbzt6; + @ApiModelProperty(value = "7#喷射器水泵状态") + private String psqsbzt7; + @ApiModelProperty(value = "8#喷射器水泵状态") + private String psqsbzt8; + @ApiModelProperty(value = "9#喷射器水泵状态") + private String psqsbzt9; + @ApiModelProperty(value = "喷射器水泵频率1,HZ") + private String psqsbpl1; + @ApiModelProperty(value = "喷射器水泵频率2,HZ") + private String psqsbpl2; + @ApiModelProperty(value = "喷射器水泵频率3,HZ") + private String psqsbpl3; + @ApiModelProperty(value = "喷射器水泵频率4,HZ") + private String psqsbpl4; + @ApiModelProperty(value = "喷射器水泵频率5,HZ") + private String psqsbpl5; + @ApiModelProperty(value = "喷射器水泵频率6,HZ") + private String psqsbpl6; + @ApiModelProperty(value = "喷射器水泵频率7,HZ") + private String psqsbpl7; + @ApiModelProperty(value = "喷射器水泵频率8,HZ") + private String psqsbpl8; + @ApiModelProperty(value = "喷射器水泵频率9,HZ") + private String psqsbpl9; + @ApiModelProperty(value = "闸门1状态") + private String zmzt1; + @ApiModelProperty(value = "闸门2状态") + private String zmzt2; + @ApiModelProperty(value = "闸门3状态") + private String zmzt3; + @ApiModelProperty(value = "闸门4状态") + private String zmzt4; + @ApiModelProperty(value = "闸门5状态") + private String zmzt5; + @ApiModelProperty(value = "闸门6状态") + private String zmzt6; + @ApiModelProperty(value = "风机1状态") + private String fjzt1; + @ApiModelProperty(value = "风机2状态") + private String fjzt2; + @ApiModelProperty(value = "风机3状态") + private String fjzt3; + @ApiModelProperty(value = "风机4状态") + private String fjzt4; + @ApiModelProperty(value = "风机5状态") + private String fjzt5; + @ApiModelProperty(value = "风机6状态") + private String fjzt6; + @ApiModelProperty(value = "风机7状态") + private String fjzt7; + @ApiModelProperty(value = "风机8状态") + private String fjzt8; + @ApiModelProperty(value = "风机9状态") + private String fjzt9; + @ApiModelProperty(value = "粉碎格栅1状态") + private String fsglzt1; + @ApiModelProperty(value = "粉碎格栅2状态") + private String fsglzt2; + @ApiModelProperty(value = "综合故障") + private String zhgz; + @ApiModelProperty(value = "格栅状态") + private String gszt; + @ApiModelProperty(value = "运行状态") + private String yxzt; + @ApiModelProperty(value = "供电状态") + private String gdzt; +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java new file mode 100644 index 0000000..7d0a828 --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/entity/SurgeTankDataDto.java @@ -0,0 +1,318 @@ +package org.springnewfiber.dataadapter.xf.entity; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springnewfiber.dataadapter.xf.enums.StatusValueEnum; + +/** + * @program: newfiber-data-adapter + * @description: + * @author: djt + * @create: 2022-08-11 10:36 + **/ +@Data +public class SurgeTankDataDto extends BaseXfInterfaceEntity { + @ApiModelProperty(value = "调蓄池液位m") + @JsonProperty(value = "z") + private String txcyw; + @ApiModelProperty(value = "泵坑液位m") + @JsonProperty(value = "z") + private String bkyw; + @ApiModelProperty(value = "进水廊道液位m") + @JsonProperty(value = "z") + private String jsldyw; + @ApiModelProperty(value = "水泵1状态") + @JsonProperty(value = "sbzt") + private String sbzt1; + @ApiModelProperty(value = "水泵2状态") + @JsonProperty(value = "sbzt") + private String sbzt2; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器1角度,度") + private String psqjd1; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器2角度,度") + private String psqjd2; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器3角度,度") + private String psqjd3; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器4角度,度") + private String psqjd4; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器5角度,度") + private String psqjd5; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器6角度,度") + private String psqjd6; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器7角度,度") + private String psqjd7; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器8角度,度") + private String psqjd8; + @JsonProperty(value = "psqjd") + @ApiModelProperty(value = "喷射器9角度,度") + private String psqjd9; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "1#喷射器水泵状态") + private String psqsbzt1; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "2#喷射器水泵状态") + private String psqsbzt2; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "3#喷射器水泵状态") + private String psqsbzt3; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "4#喷射器水泵状态") + private String psqsbzt4; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "5#喷射器水泵状态") + private String psqsbzt5; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "6#喷射器水泵状态") + private String psqsbzt6; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "7#喷射器水泵状态") + private String psqsbzt7; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "8#喷射器水泵状态") + private String psqsbzt8; + @JsonProperty(value = "psqsbzt") + @ApiModelProperty(value = "9#喷射器水泵状态") + private String psqsbzt9; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率1,HZ") + private String psqsbpl1; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率2,HZ") + private String psqsbpl2; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率3,HZ") + private String psqsbpl3; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率4,HZ") + private String psqsbpl4; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率5,HZ") + private String psqsbpl5; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率6,HZ") + private String psqsbpl6; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率7,HZ") + private String psqsbpl7; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率8,HZ") + private String psqsbpl8; + @JsonProperty(value = "psqsbpl") + @ApiModelProperty(value = "喷射器水泵频率9,HZ") + private String psqsbpl9; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门1状态") + private String zmzt1; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门2状态") + private String zmzt2; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门3状态") + private String zmzt3; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门4状态") + private String zmzt4; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门5状态") + private String zmzt5; + @JsonProperty(value = "zmzt") + @ApiModelProperty(value = "闸门6状态") + private String zmzt6; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机1状态") + private String fjzt1; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机2状态") + private String fjzt2; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机3状态") + private String fjzt3; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机4状态") + private String fjzt4; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机5状态") + private String fjzt5; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机6状态") + private String fjzt6; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机7状态") + private String fjzt7; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机8状态") + private String fjzt8; + @JsonProperty(value = "fjzt") + @ApiModelProperty(value = "风机9状态") + private String fjzt9; + @JsonProperty(value = "fsglzt") + @ApiModelProperty(value = "粉碎格栅1状态") + private String fsglzt1; + @JsonProperty(value = "fsglzt") + @ApiModelProperty(value = "粉碎格栅2状态") + private String fsglzt2; + @ApiModelProperty(value = "综合故障") + @JsonProperty(value = "zhgz") + private String zhgz; + @ApiModelProperty(value = "格栅状态") + @JsonProperty(value = "gszt") + private String gszt; + @ApiModelProperty(value = "运行状态") + @JsonProperty(value = "yxzt") + private String yxzt; + @ApiModelProperty(value = "供电状态") + @JsonProperty(value = "gdzt") + private String gdzt; + + public static SurgeTankDataDto dataToDto(SurgeTankData data) { + SurgeTankDataDto dto = new SurgeTankDataDto(); + BeanUtil.copyProperties(data, dto); + dto.setTm(DateUtil.parse(data.getTm(), "yyyy/MM/dd HH:mm:ss")); + dto.setStnm(data.getLknm()); + dto.setStcd(data.getStrgid()); + return dto; + } + + public static void main(String[] args) { + String tm = "2022/8/2 14:30:00"; + DateTime dateTime = DateUtil.parse(tm, "yyyy/MM/dd HH:mm:ss"); + System.out.println(DateUtil.format(dateTime, DatePattern.NORM_DATETIME_PATTERN)); + } + + public String getPsqsbzt1() { + return StatusValueEnum.match(psqsbzt1).getStatusValue(); + } + + private String getStatusIntger(String mark) { + return StatusValueEnum.match(mark).getStatusValue(); + } + + public String getPsqsbzt2() { + return StatusValueEnum.match(psqsbzt2).getStatusValue(); + } + + public String getPsqsbzt3() { + return StatusValueEnum.match(psqsbzt3).getStatusValue(); + } + + public String getPsqsbzt4() { + return StatusValueEnum.match(psqsbzt4).getStatusValue(); + } + + public String getPsqsbzt5() { + return StatusValueEnum.match(psqsbzt5).getStatusValue(); + } + + public String getPsqsbzt6() { + return StatusValueEnum.match(psqsbzt6).getStatusValue(); + } + + public String getPsqsbzt7() { + return StatusValueEnum.match(psqsbzt7).getStatusValue(); + } + + public String getPsqsbzt8() { + return StatusValueEnum.match(psqsbzt8).getStatusValue(); + } + + public String getPsqsbzt9() { + return StatusValueEnum.match(psqsbzt9).getStatusValue(); + } + + public String getZmzt1() { + return StatusValueEnum.match(zmzt1).getStatusValue(); + } + + public String getZmzt2() { + return StatusValueEnum.match(zmzt2).getStatusValue(); + } + + public String getZmzt3() { + return StatusValueEnum.match(zmzt3).getStatusValue(); + } + + public String getZmzt4() { + return StatusValueEnum.match(zmzt4).getStatusValue(); + } + + public String getZmzt5() { + return StatusValueEnum.match(zmzt5).getStatusValue(); + } + + public String getZmzt6() { + return StatusValueEnum.match(zmzt6).getStatusValue(); + } + + public String getFjzt1() { + return StatusValueEnum.match(fjzt1).getStatusValue(); + } + + public String getFjzt2() { + return StatusValueEnum.match(fjzt2).getStatusValue(); + } + + public String getFjzt3() { + return StatusValueEnum.match(fjzt3).getStatusValue(); + } + + public String getFjzt4() { + return StatusValueEnum.match(fjzt4).getStatusValue(); + } + + public String getFjzt5() { + return StatusValueEnum.match(fjzt5).getStatusValue(); + } + + public String getFjzt6() { + return StatusValueEnum.match(fjzt6).getStatusValue(); + } + + public String getFjzt7() { + return StatusValueEnum.match(fjzt7).getStatusValue(); + } + + public String getFjzt8() { + return StatusValueEnum.match(fjzt8).getStatusValue(); + } + + public String getFjzt9() { + return StatusValueEnum.match(fjzt9).getStatusValue(); + } + + public String getFsglzt1() { + return StatusValueEnum.match(fsglzt1).getStatusValue(); + } + + public String getFsglzt2() { + return StatusValueEnum.match(fsglzt2).getStatusValue(); + } + + public String getZhgz() { + return StatusValueEnum.match(zhgz).getStatusValue(); + } + + public String getGszt() { + return StatusValueEnum.match(gszt).getStatusValue(); + } + + public String getYxzt() { + return StatusValueEnum.match(yxzt).getStatusValue(); + } + + public String getGdzt() { + return StatusValueEnum.match(gdzt).getStatusValue(); + } +} diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/enums/StatusValueEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/enums/StatusValueEnum.java new file mode 100644 index 0000000..bf6419d --- /dev/null +++ b/src/main/java/org/springnewfiber/dataadapter/xf/enums/StatusValueEnum.java @@ -0,0 +1,33 @@ +package org.springnewfiber.dataadapter.xf.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; + +@Getter +@AllArgsConstructor +public enum StatusValueEnum { + stop("停止", "0"), + start("启动", "1"), + allOpen("全开", "1"), + autoStatus("自动", "1"), + electricityStatus("供电", "1"), + defultStatus("其他", "-1"), + abnormal("故障", "0"), + nomal("正常", "1"), + stopElectricityStatus("停电", "0"), + remoteManual("远程手动", "0"), + systemNormal("系统正常", "1"), + ; + private String remark; + private String statusValue; + + public static StatusValueEnum match(String mark) { + for (StatusValueEnum value : StatusValueEnum.values()) { + if (StringUtils.equalsIgnoreCase(value.getRemark(), mark)) { + return value; + } + } + return defultStatus; + } +}