瀏覽代碼

修改元数据操作接口,update,add,edit。英文字段不需要翻译
修改翻译接口,返回字符串
修改元数据status字段类型为布尔值

maxiaolong 1 天之前
父節點
當前提交
592306241c

+ 7 - 23
app/api/meta_data/routes.py

@@ -172,7 +172,7 @@ def meta_node_edit():
                 "name": node_data.get("name", ""),
                 "en_name": node_data.get("en_name", ""),
                 "time": node_data.get("updateTime", ""),
-                "status": node_data.get("status", "true") == "true",
+                "status": bool(node_data.get("status", True)),
                 "data_type": node_data.get("data_type", ""),
                 "tag": {
                     "name": tag["t"].get("name", "") if tag and tag["t"] else None,
@@ -203,7 +203,8 @@ def meta_node_add():
         node_affiliation = request.json.get('affiliation')
         node_tag = request.json.get('tag')
         node_desc = request.json.get('describe')
-        node_status = request.json.get('status', 1)
+        node_status = bool(request.json.get('status', True))
+        node_en_name = request.json.get('en_name')
         
         if not node_name:
             return jsonify(failed("节点名称不能为空"))
@@ -211,8 +212,6 @@ def meta_node_add():
         if not node_type:
             return jsonify(failed("节点类型不能为空"))
         
-        node_en_name = translate_and_parse(node_name)
-        
         # 创建节点
         with neo4j_driver.get_session() as session:
             cypher = """
@@ -247,7 +246,7 @@ def meta_node_add():
                 describe=node_desc,
                 create_time=create_time,
                 update_time=update_time,
-                status=str(node_status),
+                status=node_status,
                 en_name=node_en_name
             )
             
@@ -745,34 +744,19 @@ def meta_node_update():
                 'affiliation': request.json.get('affiliation'),
                 'data_type': request.json.get('data_type'),
                 'describe': request.json.get('describe'),
-                'status': request.json.get('status')
+                'status': request.json.get('status'),
+                'en_name': request.json.get('en_name')
             }
             
             # 只更新提供了新值的字段
             for field, new_value in fields_to_update.items():
                 if new_value is not None:
-                    # 特殊处理 type 字段映射到 data_type
+                    # 特殊处理 data_type 字段映射
                     if field == 'data_type':
                         update_cypher += f", n.data_type = ${field}\n"
                     else:
                         update_cypher += f", n.{field} = ${field}\n"
                     update_params[field] = new_value
-                else:
-                    # 如果字段没有提供新值,使用当前值
-                    if field == 'data_type':
-                        update_params[field] = current_properties.get('data_type')
-                        update_cypher += f", n.data_type = ${field}\n"
-                    else:
-                        update_params[field] = current_properties.get(field)
-                        update_cypher += f", n.{field} = ${field}\n"
-            
-            # 处理英文名称
-            if request.json.get('name'):
-                update_cypher += ", n.en_name = $en_name\n"
-                update_params['en_name'] = translate_and_parse(request.json.get('name'))
-            else:
-                update_cypher += ", n.en_name = $en_name\n"
-                update_params['en_name'] = current_properties.get('en_name')
             
             update_cypher += "RETURN n"
             

+ 1 - 1
app/api/system/routes.py

@@ -213,7 +213,7 @@ def translate():
         # 返回翻译结果
         result = {
             "original": node_name,
-            "translated": translated_result[0] if translated_result else node_name,
+            "translated": translated_result if translated_result else node_name,
             "translated_list": translated_result
         }
         

+ 4 - 4
app/core/common/functions.py

@@ -92,14 +92,14 @@ def translate_and_parse(content):
         content: 需要翻译的内容
         
     Returns:
-        list: 包含翻译结果的列表
+        str: 包含翻译结果
     """
     # 调用LLM服务进行翻译
     translated_text = llm_call(content)
     
     # 如果翻译失败,返回原文
     if translated_text is None:
-        return [content]
+        return content
     
-    # 确保返回格式为列表
-    return [translated_text] 
+    # 确保返回格式为字符串
+    return translated_text 

+ 1 - 1
app/core/data_model/model.py

@@ -1121,7 +1121,7 @@ def data_model_edit(receiver):
     frequency = receiver.get('frequency')
     leader = receiver.get('leader')
     organization = receiver.get('organization')
-    status = receiver.get('status')
+    status = bool(receiver.get('status')) if receiver.get('status') is not None else None
     meta_data = receiver.get('metaData', [])
     
     # 更新数据模型节点 - 添加新的字段

+ 2 - 2
app/core/data_resource/resource.py

@@ -210,9 +210,9 @@ def handle_node(receiver, head_data, data_source=None, resource_type=None):
                     ON CREATE SET m.en_name = $en_name, 
                                 m.create_time = $create_time,
                                 m.data_type = $type,
-                                m.status = 'true'
+                                m.status = true
                     ON MATCH SET m.data_type = $type,
-                                m.status = 'true'
+                                m.status = true
                     RETURN m
                     """