package com.dy.pipIrrGlobal.pojoRm;
|
|
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.dy.common.mw.protocol4Mqtt.MqttSubMsg;
|
import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.WeatherVo;
|
import com.dy.common.po.BaseEntity;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.*;
|
|
import java.util.Date;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/6/25 10:39
|
* @Description
|
*/
|
@TableName(value="rm_weather_history", autoResultMap = true)
|
@Data
|
@Builder
|
@ToString
|
@NoArgsConstructor
|
@AllArgsConstructor
|
@Schema(name = "气象历史数据")
|
public class RmWeatherHistory implements BaseEntity {
|
|
public static final long serialVersionUID = 202506251035002L;
|
/**
|
* 主键
|
*/
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
@JSONField(serializeUsing= ObjectWriterImplToString.class)
|
@TableId(type = IdType.INPUT)
|
public Long id;
|
|
/**
|
* 气象站实体外键id
|
*/
|
@Schema(description = "气象站实体外键id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JSONField(serializeUsing= ObjectWriterImplToString.class)
|
public Long weatherId;
|
|
/**
|
* 数据上报时间(年月日时分秒)
|
*/
|
@Schema(description = "数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
public Date dt;
|
|
/**
|
* 空气温度
|
*/
|
@Schema(description = "空气温度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
|
public Double airTemperature;
|
|
/**
|
* 空气湿度
|
*/
|
@Schema(description = "空气湿度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
|
public Double airHumidity;
|
|
/**
|
* 紫外线
|
*/
|
@Schema(description = "紫外线", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
public Integer ultraviolet;
|
|
/**
|
* 光照强度
|
*/
|
@Schema(description = "光照强度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
public Integer lightIntensity;
|
|
/**
|
* 雨量
|
*/
|
@Schema(description = "雨量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
|
public Double rainfall;
|
|
/**
|
* 风速
|
*/
|
@Schema(description = "风速", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
@JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
|
public Double windSpeed;
|
|
/**
|
* 风向
|
*/
|
@Schema(description = "风向", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
public Integer windDirection;
|
|
public void valueFrom(MqttSubMsg msg, WeatherVo cdData) throws Exception{
|
this.dt = new Date();
|
this.airTemperature = cdData.airTemperature==null?null:(0.0D + cdData.airTemperature) ;
|
this.airHumidity = cdData.airHumidity==null?null:(0.0D + cdData.airHumidity) ;
|
this.ultraviolet = cdData.ultraviolet ;
|
this.lightIntensity = cdData.lightIntensity ;
|
this.rainfall = cdData.rainfall==null?null:(0.0D + cdData.rainfall) ;
|
this.windSpeed = cdData.windSpeed==null?null:(0.0D + cdData.windSpeed) ;
|
this.windDirection = cdData.windDirection ;
|
}
|
}
|