63 lines
2.0 KiB
Rust
63 lines
2.0 KiB
Rust
use chrono::NaiveDate;
|
|
use serde::Serialize;
|
|
use sqlx::FromRow; // 处理日期类型
|
|
|
|
#[derive(Debug, Serialize, FromRow)]
|
|
pub struct User {
|
|
pub id: i32,
|
|
#[serde(rename = "name")]
|
|
#[sqlx(rename = "name")]
|
|
pub name: String,
|
|
#[sqlx(rename = "openid")]
|
|
pub openid: Option<String>,
|
|
#[sqlx(rename = "phone")]
|
|
pub phone: Option<String>,
|
|
#[serde(rename = "type")]
|
|
#[sqlx(rename = "type")]
|
|
pub user_type: i32,
|
|
#[serde(rename = "desc")]
|
|
#[sqlx(rename = "desc")]
|
|
pub description: Option<String>,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, FromRow)]
|
|
pub struct WeatherData {
|
|
pub id: i32,
|
|
pub user_id: i32,
|
|
pub title: Option<String>,
|
|
#[serde(rename = "date")]
|
|
#[sqlx(rename = "date")]
|
|
pub record_date: Option<NaiveDate>, // 避免与关键字冲突
|
|
pub hour: Option<i32>,
|
|
pub min: Option<i32>,
|
|
pub longitude: Option<String>,
|
|
pub latitude: Option<String>,
|
|
pub daysincejanfirst: Option<i32>,
|
|
pub theta: Option<f64>,
|
|
pub solardeclination: Option<f64>,
|
|
pub sunaltitude: Option<f64>,
|
|
pub overallcloudiness: Option<String>,
|
|
pub lowcloudiness: Option<String>,
|
|
pub cloudindex: Option<String>,
|
|
pub solarradiationlevel: Option<i32>,
|
|
pub hasmeasuredwindspeed: Option<bool>,
|
|
pub measuredwindspeed: Option<f64>,
|
|
pub convertedwindspeed: Option<i32>,
|
|
pub measurementheight: Option<f64>,
|
|
pub areatype: Option<String>,
|
|
pub pointwindspeed: Option<f64>,
|
|
pub atmosphericstability: Option<String>,
|
|
pub suitabilitydegree: Option<String>,
|
|
pub winddirection: Option<serde_json::Value>, // JSONB类型
|
|
pub averagewinddirection: Option<f64>,
|
|
pub winddirectionstandarddeviation: Option<f64>,
|
|
pub windspeed: Option<serde_json::Value>, // JSONB类型
|
|
pub averagewindspeed: Option<f64>,
|
|
pub windspeedsuitability: Option<String>,
|
|
pub winddirectionsuitability: Option<String>,
|
|
pub overallsuitability: Option<String>,
|
|
pub inspectiontype: Option<String>,
|
|
pub assignmentnumber: Option<String>,
|
|
pub calculatedwindspeed: Option<f64>,
|
|
}
|