From be5b0bf55a98a3b148978aa2628d90830fca4007 Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 1 Nov 2025 00:36:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84create=5Frecord=E5=92=8Cupdat?= =?UTF-8?q?e=5Frecord=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/nodes/create_record/create_record.py | 18 ++++++------------ .../ai/nodes/update_record/update_record.py | 19 ++++++++----------- apps/jingrow/jingrow/api/local_jobs.py | 3 --- 3 files changed, 14 insertions(+), 26 deletions(-) diff --git a/apps/jingrow/jingrow/ai/nodes/create_record/create_record.py b/apps/jingrow/jingrow/ai/nodes/create_record/create_record.py index 4bd8b0e..3c2610d 100644 --- a/apps/jingrow/jingrow/ai/nodes/create_record/create_record.py +++ b/apps/jingrow/jingrow/ai/nodes/create_record/create_record.py @@ -1,11 +1,7 @@ import json from typing import Dict, Any, Optional -from jingrow.utils.jingrow_api import ( - get_field_mapping_from_jingrow, - create_record, - map_fields_by_labels, -) +import jingrow def execute(context=None, inputs=None, config=None): """ @@ -38,7 +34,7 @@ def execute(context=None, inputs=None, config=None): field_map = config.get("field_map", []) # 从 Jingrow 获取字段 label->fieldname 映射 - label2field = get_field_mapping_from_jingrow(record_type) or {} + label2field = jingrow.get_field_mapping_from_jingrow(record_type) or {} # 收集AI输出:只平铺同一分支的所有上游节点数据 ai_outputs = {} @@ -82,7 +78,7 @@ def execute(context=None, inputs=None, config=None): # 1. 优先用field_map(from→to) if field_map: - record_data.update(map_fields_by_labels(field_map, ai_outputs, label2field)) + record_data.update(jingrow.map_fields_by_labels(field_map, ai_outputs, label2field)) mapped_fields.update([m.get("from") for m in field_map if m.get("from")]) # 同时标记目标字段为已映射,防止被自动映射覆盖 for mapping in field_map: @@ -101,11 +97,9 @@ def execute(context=None, inputs=None, config=None): mapped_fields.add(label) # 调用 Jingrow 创建记录 - api_res = create_record(record_type, record_data) - if not api_res.get("success"): - return {"success": False, "error": api_res.get("error", "创建记录失败")} - - created = api_res.get("data", {}) + created = jingrow.create_pg(record_type, record_data) + if created is None: + return {"success": False, "error": "创建记录失败"} created_name = created.get("name") or record_data.get("name") created_id = created.get("name") or created.get("id") # 兼容不同返回 diff --git a/apps/jingrow/jingrow/ai/nodes/update_record/update_record.py b/apps/jingrow/jingrow/ai/nodes/update_record/update_record.py index 698bcd3..b5aec2c 100644 --- a/apps/jingrow/jingrow/ai/nodes/update_record/update_record.py +++ b/apps/jingrow/jingrow/ai/nodes/update_record/update_record.py @@ -1,11 +1,7 @@ import json from typing import Dict, Any, Optional -from jingrow.utils.jingrow_api import ( - get_field_mapping_from_jingrow, - get_field_value_from_jingrow, - update_record, -) +import jingrow def execute(context=None, inputs=None, config=None): """ @@ -80,7 +76,7 @@ def execute(context=None, inputs=None, config=None): } # 获取 label->fieldname 映射 - label_to_fieldname = get_field_mapping_from_jingrow(record_type) or {} + label_to_fieldname = jingrow.get_field_mapping_from_jingrow(record_type) or {} fieldname_set = set(label_to_fieldname.values()) updated = False @@ -139,7 +135,7 @@ def execute(context=None, inputs=None, config=None): # 在追加模式下,先检查是否重复 if write_mode == "append": # 从服务端查询当前值,避免并发覆盖 - current_value = get_field_value_from_jingrow(record_type, record_name, to_field) or "" + current_value = jingrow.get_field_value_from_jingrow(record_type, record_name, to_field) or "" current_str = str(current_value).strip() new_value_str = str(value).strip() @@ -164,10 +160,11 @@ def execute(context=None, inputs=None, config=None): # 调用 Jingrow 更新记录(仅当有更新) if updated: - api_res = update_record(record_type, record_name, mock_record) - if not api_res.get("success"): - return {"success": False, "error": api_res.get("error", "更新记录失败")} - server_record = api_res.get("data", {}) + server_record = jingrow.update_pg(record_type, record_name, mock_record) + if server_record is False: + return {"success": False, "error": "更新记录失败"} + if server_record is True: + server_record = {} else: server_record = {} diff --git a/apps/jingrow/jingrow/api/local_jobs.py b/apps/jingrow/jingrow/api/local_jobs.py index b282f11..a29743a 100644 --- a/apps/jingrow/jingrow/api/local_jobs.py +++ b/apps/jingrow/jingrow/api/local_jobs.py @@ -60,7 +60,6 @@ async def get_local_jobs( "X-Requested-With": "XMLHttpRequest", }) - logger.info(f"Getting local jobs with system auth") # 构建请求参数 params = { @@ -73,7 +72,6 @@ async def get_local_jobs( if filters: params['filters'] = filters - logger.info(f"Calling Jingrow API: /api/data/Local Job with params: {params}") result = call_jingrow_api( 'GET', '/api/data/Local Job', @@ -81,7 +79,6 @@ async def get_local_jobs( params=params ) - logger.info(f"Jingrow API result: {result}") if result.get('success'): data = result.get('data', {})