package com.persagy.ems.pojo.old;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.persagy.core.annotation.Column;
import com.persagy.core.annotation.Dimension;
import com.persagy.core.annotation.Entity;
import com.persagy.core.annotation.Index;
import com.persagy.core.annotation.Table;
import com.persagy.core.enumeration.Schema;
import com.persagy.core.enumeration.EMSDimension;
import com.persagy.core.mvc.pojo.BusinessObject;

/**
 * 按城市进行分表存储，小时粒度的天气信息
 *
 */
@Dimension(dimension=EMSDimension.Building)
@Entity(name = "WeatherHourData")
@Table(name = "t_weatherhour", schema = Schema.UDM, comment = "天气1小时的数据", indexes = {
		@Index(columns = { "c_location_id", "c_receive_time" }, unique = true) })
public class WeatherHourData extends BusinessObject {
	 
	private static final long serialVersionUID = 546310440259754238L;

	@JsonProperty("locationId")
	@Column(order = 1, name = "c_location_id", length = 40, nullable = false, comment = "主表id")
	private String locationId;

	@JsonProperty("receivetime")
	@Column(order = 10, name = "c_receive_time", length = 0, nullable = false, comment = "数据时间")
	private Date receivetime;
	
	@Column(order = 20, name = "c_pm25", length = 40, nullable = true, comment = "PM2.5颗粒物（粒径小于等于2.5μm）1小时平均值。单位：μg/m³")
	@JsonProperty("pm25")
	private String pm25;

	@Column(order = 30, name = "c_pm10", length = 40, nullable = true, comment = "PM10颗粒物（粒径小于等于10μm）1小时平均值。单位：μg/m³")
	@JsonProperty("pm10")
	private String pm10;

	@Column(order = 40, name = "c_so2", length = 40, nullable = true, comment = "二氧化硫1小时平均值。单位：μg/m³")
	@JsonProperty("so2")
	private String so2;

	@Column(order = 50, name = "c_no2", length = 40, nullable = true, comment = "二氧化氮1小时平均值。单位：μg/m³")
	@JsonProperty("no2")
	private String no2;

	@Column(order = 60, name = "c_co", length = 40, nullable = true, comment = "一氧化碳1小时平均值。单位：mg/m³")
	@JsonProperty("co")
	private String co;

	@Column(order = 70, name = "c_o3", length = 40, nullable = true, comment = "臭氧1小时平均值。单位：μg/m³")
	@JsonProperty("o3")
	private String o3;

	@Column(order = 80, name = "c_quality", length = 40, nullable = true, comment = "空气质量类别，有“优、良、轻度污染、中度污染、重度污染、严重污染”6类")
	@JsonProperty("quality")
	private String quality;

	@Column(order = 90, name = "c_last_update", length = 40, nullable = true, comment = "数据更新时间（该城市的本地时间）")
	@JsonProperty("lastUpdate")
	private String lastUpdate;

	@Column(order = 10, name = "c_aqi", length = 40, nullable = true, comment = "空气质量指数(AQI)是描述空气质量状况的定量指数")
	@JsonProperty("aqi")
	private String aqi;

	@Column(order = 110, name = "c_text_day", length = 40, nullable = true, comment = "白天天气现象文字")
	@JsonProperty("textDay")
	private String textDay;

	@Column(order = 120, name = "c_code_day", length = 40, nullable = true, comment = "白天天气现象代码")
	@JsonProperty("codeDay")
	private String codeDay;

	@Column(order = 130, name = "c_text_night", length = 40, nullable = true, comment = "晚间天气现象文字")
	@JsonProperty("textNight")
	private String textNight;

	@Column(order = 140, name = "c_code_night", length = 40, nullable = true, comment = "晚间天气现象代码")
	@JsonProperty("codeNight")
	private String codeNight;

	@Column(order = 150, name = "c_high", length = 40, nullable = true, comment = "当天最高温度")
	@JsonProperty("high")
	private String high;

	@Column(order = 160, name = "c_low", length = 40, nullable = true, comment = "当天最低温度")
	@JsonProperty("low")
	private String low;

	@Column(order = 170, name = "c_precip", length = 40, nullable = true, comment = "降水概率，范围0~100，单位百分比")
	@JsonProperty("precip")
	private String precip;

	@Column(order = 180, name = "c_wind_direction", length = 40, nullable = true, comment = "风向文字")
	@JsonProperty("windDirection")
	private String windDirection;

	@Column(order = 190, name = "c_wind_direction_degree", length = 40, nullable = true, comment = "风向角度，范围0~360，0为正北，90为正东，180为正南，270为正西")
	@JsonProperty("windDirectionDegree")
	private String windDirectionDegree;

	@Column(order = 200, name = "c_wind_speed", length = 40, nullable = true, comment = "风速，单位为km/h公里每小时或mph英里每小时")
	@JsonProperty("windSpeed")
	private String windSpeed;

	@Column(order = 210, name = "c_wind_scale", length = 40, nullable = true, comment = "风力等级")
	@JsonProperty("windScale")
	private String windScale;

	@Column(order = 220, name = "c_text", length = 40, nullable = true, comment = "天气现象文字")
	@JsonProperty("text")
	private String text;

	@Column(order = 230, name = "c_code", length = 40, nullable = true, comment = "天气现象代码")
	@JsonProperty("code")
	private String code;

	@Column(order = 240, name = "c_temperature", length = 40, nullable = true, comment = "温度，单位为c摄氏度或f华氏度")
	@JsonProperty("temperature")
	private String temperature;

	@Column(order = 250, name = "c_feels_like", length = 40, nullable = true, comment = "体感温度，单位为c摄氏度或f华氏度")
	@JsonProperty("feelsLike")
	private String feelsLike;

	@Column(order = 260, name = "c_pressure", length = 40, nullable = true, comment = "气压，单位为mb百帕或in英寸")
	@JsonProperty("pressure")
	private String pressure;

	@Column(order = 270, name = "c_humidity", length = 40, nullable = true, comment = "相对湿度，0~100，单位为百分比")
	@JsonProperty("humidity")
	private String humidity;

	@Column(order = 280, name = "c_visibility", length = 40, nullable = true, comment = "能见度，单位为km公里或mi英里")
	@JsonProperty("visibility")
	private String visibility;

	@Column(order = 290, name = "c_clouds", length = 40, nullable = true, comment = "云量，范围0~100，天空被云覆盖的百分比")
	@JsonProperty("clouds")
	private String clouds;

	@Column(order = 300, name = "c_dew_point", length = 40, nullable = true, comment = "露点温度")
	@JsonProperty("dewPoint")
	private String dewPoint;

	public String getLocationId() {
		return locationId;
	}

	public void setLocationId(String locationId) {
		this.locationId = locationId;
	}

	public Date getReceivetime() {
		return receivetime;
	}

	public void setReceivetime(Date receivetime) {
		this.receivetime = receivetime;
	}

	public String getPm25() {
		return pm25;
	}

	public void setPm25(String pm25) {
		this.pm25 = pm25;
	}

	public String getPm10() {
		return pm10;
	}

	public void setPm10(String pm10) {
		this.pm10 = pm10;
	}

	public String getSo2() {
		return so2;
	}

	public void setSo2(String so2) {
		this.so2 = so2;
	}

	public String getNo2() {
		return no2;
	}

	public void setNo2(String no2) {
		this.no2 = no2;
	}

	public String getCo() {
		return co;
	}

	public void setCo(String co) {
		this.co = co;
	}

	public String getO3() {
		return o3;
	}

	public void setO3(String o3) {
		this.o3 = o3;
	}

	public String getQuality() {
		return quality;
	}

	public void setQuality(String quality) {
		this.quality = quality;
	}

	public String getLastUpdate() {
		return lastUpdate;
	}

	public void setLastUpdate(String lastUpdate) {
		this.lastUpdate = lastUpdate;
	}

	public String getAqi() {
		return aqi;
	}

	public void setAqi(String aqi) {
		this.aqi = aqi;
	}

	public String getTextDay() {
		return textDay;
	}

	public void setTextDay(String textDay) {
		this.textDay = textDay;
	}

	public String getCodeDay() {
		return codeDay;
	}

	public void setCodeDay(String codeDay) {
		this.codeDay = codeDay;
	}

	public String getTextNight() {
		return textNight;
	}

	public void setTextNight(String textNight) {
		this.textNight = textNight;
	}

	public String getCodeNight() {
		return codeNight;
	}

	public void setCodeNight(String codeNight) {
		this.codeNight = codeNight;
	}

	public String getHigh() {
		return high;
	}

	public void setHigh(String high) {
		this.high = high;
	}

	public String getLow() {
		return low;
	}

	public void setLow(String low) {
		this.low = low;
	}

	public String getPrecip() {
		return precip;
	}

	public void setPrecip(String precip) {
		this.precip = precip;
	}

	public String getWindDirection() {
		return windDirection;
	}

	public void setWindDirection(String windDirection) {
		this.windDirection = windDirection;
	}

	public String getWindDirectionDegree() {
		return windDirectionDegree;
	}

	public void setWindDirectionDegree(String windDirectionDegree) {
		this.windDirectionDegree = windDirectionDegree;
	}

	public String getWindSpeed() {
		return windSpeed;
	}

	public void setWindSpeed(String windSpeed) {
		this.windSpeed = windSpeed;
	}

	public String getWindScale() {
		return windScale;
	}

	public void setWindScale(String windScale) {
		this.windScale = windScale;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getTemperature() {
		return temperature;
	}

	public void setTemperature(String temperature) {
		this.temperature = temperature;
	}

	public String getFeelsLike() {
		return feelsLike;
	}

	public void setFeelsLike(String feelsLike) {
		this.feelsLike = feelsLike;
	}

	public String getPressure() {
		return pressure;
	}

	public void setPressure(String pressure) {
		this.pressure = pressure;
	}

	public String getHumidity() {
		return humidity;
	}

	public void setHumidity(String humidity) {
		this.humidity = humidity;
	}

	public String getVisibility() {
		return visibility;
	}

	public void setVisibility(String visibility) {
		this.visibility = visibility;
	}

	public String getClouds() {
		return clouds;
	}

	public void setClouds(String clouds) {
		this.clouds = clouds;
	}

	public String getDewPoint() {
		return dewPoint;
	}

	public void setDewPoint(String dewPoint) {
		this.dewPoint = dewPoint;
	}
}