diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java index 028532e5..f7dcbe6d 100644 --- a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java +++ b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java @@ -162,4 +162,6 @@ public class DcEventController extends BaseController Map map = dcEventService.selectCount(); return map; } + + } diff --git a/zc-business/src/main/java/com/zc/business/domain/DcMeteorologicalDetectorData.java b/zc-business/src/main/java/com/zc/business/domain/DcMeteorologicalDetectorData.java index 627f5f12..46a459ad 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcMeteorologicalDetectorData.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcMeteorologicalDetectorData.java @@ -1,5 +1,8 @@ package com.zc.business.domain; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -11,6 +14,9 @@ import com.ruoyi.common.core.domain.BaseEntity; * @author ruoyi * @date 2024-02-01 */ +@Data +@AllArgsConstructor +@NoArgsConstructor public class DcMeteorologicalDetectorData extends BaseEntity { private static final long serialVersionUID = 1L; @@ -73,169 +79,26 @@ public class DcMeteorologicalDetectorData extends BaseEntity /** 水膜厚度 */ @Excel(name = "水膜厚度") private String waterFilmIceSnowValue; + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "桩号") + private String stakeMark; + @Excel(name = "方向") + private String direction; + +// "rainfall": 0, +// "visibility": "05.000", +// "remoteRoadSurfaceTemperature": 11.5, +// "atmosphericPressure:": 1008.8, +// "precipitationType": 0, +// "wetSlipperyCoefficient": 80, +// "temperature": 12.6, +// "humidity": 63.4, +// "windDirection": 358, +// "windSpeed": 1.5, +// "remoteRoadSurfaceStatus": "01", +// "visibilityType": 4, +// "waterFilmIceSnowValue": 0 - - - - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setIotDeviceId(String iotDeviceId) - { - this.iotDeviceId = iotDeviceId; - } - - public String getIotDeviceId() - { - return iotDeviceId; - } - public void setRainfall(String rainfall) - { - this.rainfall = rainfall; - } - - public String getRainfall() - { - return rainfall; - } - public void setVisibilityType(String visibilityType) - { - this.visibilityType = visibilityType; - } - - public String getVisibilityType() - { - return visibilityType; - } - public void setVisibility(String visibility) - { - this.visibility = visibility; - } - - public String getVisibility() - { - return visibility; - } - public void setAtmosphericPressure(String atmosphericPressure) - { - this.atmosphericPressure = atmosphericPressure; - } - - public String getAtmosphericPressure() - { - return atmosphericPressure; - } - public void setTemperature(String temperature) - { - this.temperature = temperature; - } - - public String getTemperature() - { - return temperature; - } - public void setHumidity(String humidity) - { - this.humidity = humidity; - } - - public String getHumidity() - { - return humidity; - } - public void setWindDirection(String windDirection) - { - this.windDirection = windDirection; - } - - public String getWindDirection() - { - return windDirection; - } - public void setWindSpeed(String windSpeed) - { - this.windSpeed = windSpeed; - } - - public String getWindSpeed() - { - return windSpeed; - } - - public void setPrecipitationType(String precipitationType) - { - this.precipitationType = precipitationType; - } - - public String getPrecipitationType() - { - return precipitationType; - } - public void setWetSlipperyCoefficient(String wetSlipperyCoefficient) - { - this.wetSlipperyCoefficient = wetSlipperyCoefficient; - } - - public String getWetSlipperyCoefficient() - { - return wetSlipperyCoefficient; - } - - public void setRemoteRoadSurfaceTemperature(String remoteRoadSurfaceTemperature) - { - this.remoteRoadSurfaceTemperature = remoteRoadSurfaceTemperature; - } - - public String getRemoteRoadSurfaceTemperature() - { - return remoteRoadSurfaceTemperature; - } - public void setRemoteRoadSurfaceStatus(String remoteRoadSurfaceStatus) - { - this.remoteRoadSurfaceStatus = remoteRoadSurfaceStatus; - } - - public String getRemoteRoadSurfaceStatus() - { - return remoteRoadSurfaceStatus; - } - - public void setWaterFilmIceSnowValue(String waterFilmIceSnowValue) - { - this.waterFilmIceSnowValue = waterFilmIceSnowValue; - } - - public String getWaterFilmIceSnowValue() - { - return waterFilmIceSnowValue; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("iotDeviceId", getIotDeviceId()) - .append("rainfall", getRainfall()) - .append("visibilityType", getVisibilityType()) - .append("visibility", getVisibility()) - .append("atmosphericPressure", getAtmosphericPressure()) - .append("temperature", getTemperature()) - .append("humidity", getHumidity()) - .append("windDirection", getWindDirection()) - .append("windSpeed", getWindSpeed()) - .append("precipitationType", getPrecipitationType()) - .append("wetSlipperyCoefficient", getWetSlipperyCoefficient()) - .append("remoteRoadSurfaceTemperature", getRemoteRoadSurfaceTemperature()) - .append("remoteRoadSurfaceStatus", getRemoteRoadSurfaceStatus()) - .append("waterFilmIceSnowValue", getWaterFilmIceSnowValue()) - .toString(); - } } diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcMeteorologicalDetectorDataMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcMeteorologicalDetectorDataMapper.java index 7788b60e..ebbb2f0a 100644 --- a/zc-business/src/main/java/com/zc/business/mapper/DcMeteorologicalDetectorDataMapper.java +++ b/zc-business/src/main/java/com/zc/business/mapper/DcMeteorologicalDetectorDataMapper.java @@ -1,6 +1,8 @@ package com.zc.business.mapper; import java.util.List; +import java.util.Map; + import com.zc.business.domain.DcMeteorologicalDetectorData; import com.zc.business.domain.MdDeviceData; @@ -59,4 +61,8 @@ public interface DcMeteorologicalDetectorDataMapper * @return 结果 */ int deleteDcMeteorologicalDetectorDataByIds(Long[] ids); +//统计 + List> selectStatistics(String deviceName); + + List selectlistAll(DcMeteorologicalDetectorData dcMeteorologicalDetectorData); } diff --git a/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java b/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java index 43b77323..690be7b3 100644 --- a/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java +++ b/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java @@ -445,7 +445,25 @@ public class DeviceMessageHandler { */ private void weatherDetectorMessageHandle(JSONObject msg) { - DcMeteorologicalDetectorData meteorologicalDetectorData = (DcMeteorologicalDetectorData) msg.get("properties"); + // DcMeteorologicalDetectorData meteorologicalDetectorData = (DcMeteorologicalDetectorData) msg.get("properties"); + JSONObject jsonObject = (JSONObject) msg.get("properties"); + DcMeteorologicalDetectorData meteorologicalDetectorData = jsonObject.toJavaObject(DcMeteorologicalDetectorData.class); + + + JSONObject jsonObjectHeaders = (JSONObject)msg.get("headers"); + String parts = jsonObjectHeaders.getString("deviceName"); + String[] strings = parts.split("-"); + String deviceName = strings[0]; + String stakeMark = strings[1]; + String direction = strings[2]; + + //设备名称 + meteorologicalDetectorData.setDeviceName(deviceName); + //位置 + meteorologicalDetectorData.setStakeMark(stakeMark); + //方向 + meteorologicalDetectorData.setDirection(direction); + meteorologicalDetectorData.setIotDeviceId(msg.get("deviceId").toString()); meteorologicalDetectorDataService.insertDcMeteorologicalDetectorData(meteorologicalDetectorData); diff --git a/zc-business/src/main/java/com/zc/business/service/IDcMeteorologicalDetectorDataService.java b/zc-business/src/main/java/com/zc/business/service/IDcMeteorologicalDetectorDataService.java index 4832955c..929f5b67 100644 --- a/zc-business/src/main/java/com/zc/business/service/IDcMeteorologicalDetectorDataService.java +++ b/zc-business/src/main/java/com/zc/business/service/IDcMeteorologicalDetectorDataService.java @@ -1,6 +1,8 @@ package com.zc.business.service; import java.util.List; +import java.util.Map; + import com.zc.business.domain.DcMeteorologicalDetectorData; import com.zc.business.domain.MdDeviceData; @@ -59,4 +61,8 @@ public interface IDcMeteorologicalDetectorDataService * @return 结果 */ int deleteDcMeteorologicalDetectorDataById(Long id); +//统计当天 没小时温度 + List> selectStatistics(String deviceName); + + List selectlistAll(DcMeteorologicalDetectorData dcMeteorologicalDetectorData); } diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcMeteorologicalDetectorDataServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcMeteorologicalDetectorDataServiceImpl.java index 56ed60eb..f63b7667 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcMeteorologicalDetectorDataServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcMeteorologicalDetectorDataServiceImpl.java @@ -1,9 +1,12 @@ package com.zc.business.service.impl; import java.util.List; +import java.util.Map; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; import com.zc.business.domain.DcDevice; import com.zc.business.domain.MdDeviceData; import org.springframework.beans.factory.annotation.Autowired; @@ -57,6 +60,7 @@ public class DcMeteorologicalDetectorDataServiceImpl implements IDcMeteorologica @Override public int insertDcMeteorologicalDetectorData(DcMeteorologicalDetectorData dcMeteorologicalDetectorData) { + dcMeteorologicalDetectorData.setCreateTime(DateUtils.getNowDate()); return dcMeteorologicalDetectorDataMapper.insertDcMeteorologicalDetectorData(dcMeteorologicalDetectorData); } @@ -95,4 +99,14 @@ public class DcMeteorologicalDetectorDataServiceImpl implements IDcMeteorologica { return dcMeteorologicalDetectorDataMapper.deleteDcMeteorologicalDetectorDataById(id); } + + @Override + public List> selectStatistics(String deviceName) { + return dcMeteorologicalDetectorDataMapper.selectStatistics(deviceName); + } + + @Override + public List selectlistAll(DcMeteorologicalDetectorData dcMeteorologicalDetectorData) { + return dcMeteorologicalDetectorDataMapper.selectlistAll(dcMeteorologicalDetectorData); + } } diff --git a/zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml b/zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml index 88e7f843..7a5a75f3 100644 --- a/zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml @@ -4,59 +4,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - - - - - - + + + + + + + + + - - select id, iot_device_id, rainfall, visibility_type, visibility, road_surface_status, atmospheric_pressure, temperature, humidity, wind_direction, wind_speed, freezing_point_temperature, salinity_value, road_surface_temperature, water_film_thickness, precipitation_type, wet_slippery_coefficient, sensor_temperature, remote_road_surface_temperature, remote_road_surface_status, sub_surface_temperature, water_film_ice_snow_value,create_time from dc_meteorological_detector_data + select id, iot_device_id, rainfall, visibility_type, visibility, atmospheric_pressure, temperature, humidity, wind_direction, wind_speed, precipitation_type, wet_slippery_coefficient,remote_road_surface_temperature, remote_road_surface_status, water_film_ice_snow_value,create_time,stake_mark,device_name,direction from dc_meteorological_detector_data - and iot_device_id = #{iotDeviceId} + and direction = #{direction} + and stake_mark = #{stakeMark} + and device_name = #{deviceName} and rainfall = #{rainfall} and visibility_type = #{visibilityType} and visibility = #{visibility} - and road_surface_status = #{roadSurfaceStatus} and atmospheric_pressure = #{atmosphericPressure} and temperature = #{temperature} and humidity = #{humidity} and wind_direction = #{windDirection} and wind_speed = #{windSpeed} - and freezing_point_temperature = #{freezingPointTemperature} - and salinity_value = #{salinityValue} - and road_surface_temperature = #{roadSurfaceTemperature} - and water_film_thickness = #{waterFilmThickness} and precipitation_type = #{precipitationType} and wet_slippery_coefficient = #{wetSlipperyCoefficient} - and sensor_temperature = #{sensorTemperature} and remote_road_surface_temperature = #{remoteRoadSurfaceTemperature} and remote_road_surface_status = #{remoteRoadSurfaceStatus} - and sub_surface_temperature = #{subSurfaceTemperature} and water_film_ice_snow_value = #{waterFilmIceSnowValue} @@ -66,81 +63,69 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + insert into dc_meteorological_detector_data iot_device_id, + direction, + stake_mark, + device_name, rainfall, visibility_type, visibility, - road_surface_status, atmospheric_pressure, temperature, humidity, wind_direction, wind_speed, - freezing_point_temperature, - salinity_value, - road_surface_temperature, - water_film_thickness, precipitation_type, wet_slippery_coefficient, - sensor_temperature, remote_road_surface_temperature, remote_road_surface_status, - sub_surface_temperature, water_film_ice_snow_value, create_time #{iotDeviceId}, + #{direction}, + #{stakeMark}, + #{deviceName}, #{rainfall}, #{visibilityType}, #{visibility}, - #{roadSurfaceStatus}, #{atmosphericPressure}, #{temperature}, #{humidity}, #{windDirection}, #{windSpeed}, - #{freezingPointTemperature}, - #{salinityValue}, - #{roadSurfaceTemperature}, - #{waterFilmThickness}, #{precipitationType}, #{wetSlipperyCoefficient}, - #{sensorTemperature}, #{remoteRoadSurfaceTemperature}, #{remoteRoadSurfaceStatus}, - #{subSurfaceTemperature}, #{waterFilmIceSnowValue}, - current_date + CURRENT_TIMESTAMP - + update dc_meteorological_detector_data iot_device_id = #{iotDeviceId}, + iot_device_id = #{direction}, + device_name = #{deviceName}, + stake_mark = #{stakeMark}, rainfall = #{rainfall}, visibility_type = #{visibilityType}, visibility = #{visibility}, - road_surface_status = #{roadSurfaceStatus}, atmospheric_pressure = #{atmosphericPressure}, temperature = #{temperature}, humidity = #{humidity}, wind_direction = #{windDirection}, wind_speed = #{windSpeed}, - freezing_point_temperature = #{freezingPointTemperature}, - salinity_value = #{salinityValue}, - road_surface_temperature = #{roadSurfaceTemperature}, - water_film_thickness = #{waterFilmThickness}, precipitation_type = #{precipitationType}, wet_slippery_coefficient = #{wetSlipperyCoefficient}, - sensor_temperature = #{sensorTemperature}, remote_road_surface_temperature = #{remoteRoadSurfaceTemperature}, remote_road_surface_status = #{remoteRoadSurfaceStatus}, - sub_surface_temperature = #{subSurfaceTemperature}, water_film_ice_snow_value = #{waterFilmIceSnowValue}, where id = #{id} @@ -156,4 +141,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + \ No newline at end of file