package com.flightfeather.uav.domain.entity
|
|
import com.flightfeather.uav.common.utils.DateUtil
|
import com.flightfeather.uav.lightshare.bean.DataVo
|
import com.flightfeather.uav.socket.bean.AirData
|
import com.flightfeather.uav.socket.eunm.FactorType
|
import java.math.BigDecimal
|
import java.util.*
|
import javax.persistence.Column
|
import javax.persistence.Id
|
|
/**
|
* 实时监测数据基类
|
*/
|
open class BaseRealTimeData {
|
@Id
|
var id: Int? = null
|
|
@Column(name = "device_code")
|
var deviceCode: String? = null
|
|
var latitude: BigDecimal? = null
|
|
var longitude: BigDecimal? = null
|
|
var altitude: Float? = null
|
|
@Column(name = "data_time")
|
var dataTime: Date? = null
|
|
@Column(name = "create_time")
|
var createTime: Date? = null
|
|
@Column(name = "NO2")
|
var no2: Float? = null
|
|
@Column(name = "CO")
|
var co: Float? = null
|
|
@Column(name = "H2S")
|
var h2s: Float? = null
|
|
@Column(name = "SO2")
|
var so2: Float? = null
|
|
@Column(name = "O3")
|
var o3: Float? = null
|
|
@Column(name = "PM25")
|
var pm25: Float? = null
|
|
@Column(name = "PM10")
|
var pm10: Float? = null
|
|
var temperature: Float? = null
|
|
var humidity: Float? = null
|
|
@Column(name = "VOC")
|
var voc: Float? = null
|
|
@Column(name = "NOI")
|
var noi: Float? = null
|
|
var velocity: Float? = null
|
|
@Column(name = "wind_speed")
|
var windSpeed: Float? = null
|
|
@Column(name = "wind_direction")
|
var windDirection: Float? = null
|
|
var height: Float? = null
|
|
fun toDataVo() = DataVo().apply {
|
this.time = DateUtil.instance.dateToString(dataTime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS)
|
this.deviceCode = this@BaseRealTimeData.deviceCode
|
this.lng = longitude?.toDouble()
|
this.lat = latitude?.toDouble()
|
this.values = mutableListOf<AirData>().apply {
|
add(AirData().apply { setData(FactorType.NO2, no2) })
|
add(AirData().apply { setData(FactorType.CO, co) })
|
add(AirData().apply { setData(FactorType.H2S, h2s) })
|
add(AirData().apply { setData(FactorType.SO2, so2) })
|
add(AirData().apply { setData(FactorType.O3, o3) })
|
|
add(AirData().apply { setData(FactorType.PM25, pm25) })
|
add(AirData().apply { setData(FactorType.PM10, pm10) })
|
add(AirData().apply { setData(FactorType.TEMPERATURE, temperature) })
|
add(AirData().apply { setData(FactorType.HUMIDITY, humidity) })
|
add(AirData().apply { setData(FactorType.VOC, voc) })
|
|
add(AirData().apply { setData(FactorType.NOI, noi) })
|
add(AirData().apply { setData(FactorType.LNG, lng) })
|
add(AirData().apply { setData(FactorType.LAT, lat) })
|
add(AirData().apply { setData(FactorType.VELOCITY, velocity) })
|
add(AirData().apply {
|
setData(FactorType.TIME, dataTime?.time?.toDouble())
|
statusList = listOf(time ?: "")
|
})
|
add(AirData().apply { setData(FactorType.WIND_SPEED, windSpeed) })
|
add(AirData().apply { setData(FactorType.WIND_DIRECTION, windDirection) })
|
add(AirData().apply { setData(FactorType.HEIGHT, height) })
|
}
|
}
|
}
|