package com.dy.pipIrrGlobal.voRm;
|
|
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.Data;
|
|
import java.util.Date;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/6/26 9:16
|
* @Description
|
*/
|
@Data
|
@JsonPropertyOrder({
|
"id", "weatherId", "weatherName", "dt",
|
"airTemperature", "airHumidity",
|
"ultraviolet", "lightIntensity",
|
"rainfall", "windSpeed",
|
"windDirection", "windDirectionStr"
|
})
|
public class VoWeather {
|
public static final long serialVersionUID = 202506260903001L;
|
|
/**
|
* 记录ID
|
*/
|
@JSONField(serializeUsing = ObjectWriterImplToString.class)
|
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)
|
public String weatherName;
|
|
|
/**
|
* 数据上报时间(年月日时分秒)
|
*/
|
@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;
|
/**
|
风向名称
|
方位名称 角度范围 中心角度
|
北(N) 348.75°~11.25° 0°
|
东北(NE) 11.25°~33.75° 22.5°
|
东(E) 33.75°~56.25° 45°
|
东南(SE) 56.25°~78.75° 67.5°
|
南(S) 78.75°~101.25° 90°
|
西南(SW) 101.25°~123.75° 112.5°
|
西(W) 123.75°~146.25° 135°
|
西北(NW) 146.25°~168.75° 157.5°
|
北(N) 168.75°~191.25° 180°
|
|
四舍五入后
|
方位名称 角度范围 中心角度
|
北(N) 349°~11° 0°
|
东北(NE) 11°~34° 22.5°
|
东(E) 34°~56° 45°
|
东南(SE) 56°~79° 67.5°
|
南(S) 79°~101° 90°
|
西南(SW) 101°~124° 112.5°
|
西(W) 124°~146° 135°
|
西北(NW) 146°~169° 157.5°
|
北(N) 169°~191° 180°
|
*/
|
@Schema(description = "风向", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
public String windDirectionStr;
|
public String getWindDirectionStr() {
|
String str = "" ;
|
if (windDirection != null) {
|
if (windDirection >= 349 || windDirection < 11) {
|
str = "北" ;
|
}else if(windDirection >= 11 && windDirection < 34){
|
str = "东北" ;
|
}else if(windDirection >= 34 && windDirection < 56){
|
str = "东" ;
|
}else if(windDirection >= 56 && windDirection < 79){
|
str = "东南" ;
|
}else if(windDirection >= 79 && windDirection < 101){
|
str = "南" ;
|
}else if(windDirection >= 101 && windDirection < 124){
|
str = "西南" ;
|
}else if(windDirection >= 124 && windDirection < 146){
|
str = "西" ;
|
}else if(windDirection >= 146 && windDirection < 169){
|
str = "西北" ;
|
}
|
}
|
if(str != null && !str.equals("")){
|
str = str + "(" + windDirection + ")" ;
|
}else{
|
str = "" + windDirection ;
|
}
|
return str ;
|
}
|
|
}
|