diff --git a/tcp_server/src/main.rs b/tcp_server/src/main.rs index 4dd1328..1f16779 100644 --- a/tcp_server/src/main.rs +++ b/tcp_server/src/main.rs @@ -15,8 +15,8 @@ struct InstrumentInfo { name: String, instrumentcode: String, informationid: i32, - specification: String, - remark: String, + specification: Option, + remark: Option, } #[derive(Debug, Deserialize)] @@ -1216,18 +1216,22 @@ async fn handle_client(socket: &mut TcpStream, client: &tokio_postgres::Client) if let Some(data_str) = json.get("data").and_then(|v| v.as_str()) { match table_name { "hy_instrument" => { - if let Ok(info) = serde_json::from_str::(data_str) { - println!("接收到仪器信息: {:?}", info); - match insert_instrument(client, &info).await { - Ok(_) => true, - Err(e) => { - eprintln!("插入仪器信息失败: {}", e); - false + println!("解析仪器数据: {}", data_str); + match serde_json::from_str::(data_str) { + Ok(info) => { + println!("接收到仪器信息: {:?}", info); + match insert_instrument(client, &info).await { + Ok(_) => true, + Err(e) => { + eprintln!("插入仪器信息失败: {}", e); + false + } } + }, + Err(e) => { + eprintln!("解析仪器信息失败: {}", e); + false } - } else { - eprintln!("解析仪器信息失败"); - false } }, "hy_information" => {