Ver Fonte

bug修复: dataflow update 接口返回标签数据错误

maxiaolong há 3 dias atrás
pai
commit
f44ef388c7
1 ficheiros alterados com 23 adições e 1 exclusões
  1. 23 1
      app/core/data_flow/dataflows.py

+ 23 - 1
app/core/data_flow/dataflows.py

@@ -71,7 +71,6 @@ class DataFlowService:
                        name_zh: label.name_zh,
                        name_en: label.name_en
                    }}) as tags
-            ORDER BY created_at DESC
             """
 
             # 获取Neo4j驱动(如果连接失败会抛出ConnectionError异常)
@@ -915,6 +914,29 @@ class DataFlowService:
                     # 使用查询返回的node_id
                     updated_dataflow['id'] = result[0]['node_id']
 
+                    # 查询并添加标签数组到返回数据
+                    tags_query = """
+                    MATCH (n:DataFlow)
+                    WHERE id(n) = $dataflow_id
+                    OPTIONAL MATCH (n)-[:LABEL]->(label:DataLabel)
+                    RETURN collect({
+                        id: id(label),
+                        name_zh: label.name_zh,
+                        name_en: label.name_en
+                    }) as tags
+                    """
+                    tags_result = session.run(
+                        tags_query, dataflow_id=dataflow_id
+                    ).single()
+                    if tags_result:
+                        tags = tags_result.get('tags', [])
+                        updated_dataflow['tag'] = [
+                            tag for tag in tags
+                            if tag.get('id') is not None
+                        ]
+                    else:
+                        updated_dataflow['tag'] = []
+
                     logger.info(f"更新数据流成功: ID={dataflow_id}")
                     return updated_dataflow