diff --git a/src/handler/point.rs b/src/handler/point.rs index ed3b469..e38870c 100644 --- a/src/handler/point.rs +++ b/src/handler/point.rs @@ -17,9 +17,9 @@ use plc_platform_core::util::{ }; use crate::{ - model::{Node, Point}, AppState, }; +use plc_platform_core::model::{Node, Point}; async fn notify_units( state: &AppState, @@ -690,3 +690,4 @@ fn monitor_value_to_number(item: &crate::telemetry::PointMonitorInfo) -> Option< _ => None, } } + diff --git a/src/handler/source.rs b/src/handler/source.rs index 630a98d..33f8dc9 100644 --- a/src/handler/source.rs +++ b/src/handler/source.rs @@ -13,8 +13,9 @@ use std::collections::{HashMap, VecDeque}; use plc_platform_core::util::response::ApiErr; -use crate::{AppState, model::{Node, Source}}; use anyhow::{Context}; +use plc_platform_core::model::{Node, Source}; +use crate::AppState; use sqlx::QueryBuilder; // 树节点结构体 @@ -54,7 +55,7 @@ impl TreeNode { } -// 带连接状态的Source响应结构体 +// 带连接状态的Source响应结构? #[derive(Debug, Serialize, Clone)] pub struct SourceWithStatus { #[serde(flatten)] @@ -100,14 +101,14 @@ pub async fn get_source_list(State(state): State) -> Result = crate::service::get_all_enabled_sources(pool).await?; - // 获取所有连接状态 + // 获取所有连接状? let status_map: std::collections::HashMap, Option>)> = state.connection_manager.get_all_status().await .into_iter() .map(|(source_id, s)| (source_id, (s.is_connected, s.last_error, Some(s.last_time)))) .collect(); - // 组合Source和连接状态 + // 组合Source和连接状? let sources_with_status: Vec = sources .into_iter() .map(|source| { @@ -133,7 +134,7 @@ pub async fn get_node_tree( ) -> Result { let pool = &state.pool; - // 查询所有属于该source的节点 + // 查询所有属于该source的节? let nodes: Vec = sqlx::query_as::<_, Node>( r#"SELECT * FROM node WHERE source_id = $1 ORDER BY created_at"#, ) @@ -141,7 +142,7 @@ pub async fn get_node_tree( .fetch_all(pool) .await?; - // 构建节点树 + // 构建节点? let tree = build_node_tree(nodes); Ok(Json(tree)) @@ -152,7 +153,7 @@ fn build_node_tree(nodes: Vec) -> Vec { let mut children_map: HashMap> = HashMap::new(); let mut roots: Vec = Vec::new(); - // ① 转换 + 记录 parent 关系 + // ?转换 + 记录 parent 关系 for node in nodes { let tree_node = TreeNode::from_node(node); let id = tree_node.id; @@ -166,7 +167,7 @@ fn build_node_tree(nodes: Vec) -> Vec { node_map.insert(id, tree_node); } - // ② 递归构建 + // ?递归构建 fn attach_children( id: Uuid, node_map: &mut HashMap, @@ -185,7 +186,7 @@ fn build_node_tree(nodes: Vec) -> Vec { Some(node) } - // ③ 生成最终树 + // ?生成最终树 roots .into_iter() .filter_map(|rid| attach_children(rid, &mut node_map, &children_map)) @@ -411,7 +412,7 @@ pub async fn browse_and_save_nodes( } //////////////////////////////////////////////////////////////// -// 浏览单个节点(含 continuation) +// 浏览单个节点(含 continuation? //////////////////////////////////////////////////////////////// async fn browse_single_node( @@ -468,7 +469,7 @@ async fn browse_single_node( } //////////////////////////////////////////////////////////////// -// 处理单个 Reference(核心优化版) +// 处理单个 Reference(核心优化版? //////////////////////////////////////////////////////////////// async fn process_reference( @@ -604,7 +605,7 @@ async fn load_namespace_map( let result = session.read(&[read_request], TimestampsToReturn::Neither, 0f64).await .context("Failed to read namespace map")?; - // 解析并构建命名空间映射 + // 解析并构建命名空间映? let mut map = HashMap::new(); if let Some(value) = &result[0].value { if let Variant::Array(array) = value { @@ -622,3 +623,4 @@ async fn load_namespace_map( } + diff --git a/src/service/equipment.rs b/src/service/equipment.rs index 6cb31c7..7576683 100644 --- a/src/service/equipment.rs +++ b/src/service/equipment.rs @@ -1,7 +1,7 @@ use crate::{ handler::equipment::EquipmentListItem, - model::{Equipment, Point}, }; +use plc_platform_core::model::{Equipment, Point}; use sqlx::{query_as, PgPool, Row}; use uuid::Uuid; @@ -307,3 +307,4 @@ mod tests { assert_eq!(equipment_order_clause(), "e.code"); } } +