liurunyu
6 天以前 4efc605092f68311876299290a33697ebbfd3a5d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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 ;
    }
}