|
@@ -1439,7 +1439,7 @@ def talent_get_tags(talent_id):
|
|
|
根据talent ID获取人才节点关联的标签
|
|
|
|
|
|
Args:
|
|
|
- talent_id (int): 人才节点ID
|
|
|
+ talent_id (int): 人才节点pg_id
|
|
|
|
|
|
Returns:
|
|
|
dict: 包含人才ID和关联标签的字典,JSON格式
|
|
@@ -1458,9 +1458,9 @@ def talent_get_tags(talent_id):
|
|
|
|
|
|
# 构建Cypher查询语句,获取人才节点关联的标签
|
|
|
cypher_query = """
|
|
|
- MATCH (t:talent)-[r:BELONGS_TO]->(tag:talent_tag)
|
|
|
- WHERE id(t) = $talent_id
|
|
|
- RETURN id(t) as talent_id, tag.name as tag_name
|
|
|
+ MATCH (t:talent)-[r:BELONGS_TO]->(tag:data_label)
|
|
|
+ WHERE t.pg_id = $talent_id
|
|
|
+ RETURN t.pg_id as talent_id, tag.name as tag_name
|
|
|
"""
|
|
|
|
|
|
# 执行查询
|
|
@@ -1470,7 +1470,7 @@ def talent_get_tags(talent_id):
|
|
|
|
|
|
# 如果没有查询到标签,返回空数组
|
|
|
if not records:
|
|
|
- response_data['message'] = f'人才ID {talent_id} 没有关联的标签'
|
|
|
+ response_data['message'] = f'人才pg_id {talent_id} 没有关联的标签'
|
|
|
return response_data
|
|
|
|
|
|
# 处理查询结果
|
|
@@ -1564,14 +1564,14 @@ def talent_update_tags(data):
|
|
|
# 首先验证talent节点是否存在
|
|
|
check_talent_query = """
|
|
|
MATCH (t:talent)
|
|
|
- WHERE id(t) = $talent_id
|
|
|
+ WHERE t.pg_id = $talent_id
|
|
|
RETURN t
|
|
|
"""
|
|
|
talent_result = session.run(check_talent_query, talent_id=int(talent_id))
|
|
|
if not talent_result.single():
|
|
|
# 该talent不存在,记录失败项并继续下一个talent
|
|
|
for tag in tags:
|
|
|
- failed_items.append({'talent': talent_id, 'tag': tag})
|
|
|
+ failed_items.append({'talent_pg_id': talent_id, 'tag': tag})
|
|
|
continue
|
|
|
|
|
|
# 处理每个标签
|
|
@@ -1580,7 +1580,7 @@ def talent_update_tags(data):
|
|
|
# 1. 查找或创建标签节点
|
|
|
# 先查找是否存在该标签
|
|
|
find_tag_query = """
|
|
|
- MATCH (tag:talent_tag)
|
|
|
+ MATCH (tag:data_label)
|
|
|
WHERE tag.name = $tag_name
|
|
|
RETURN id(tag) as tag_id
|
|
|
"""
|
|
@@ -1592,7 +1592,7 @@ def talent_update_tags(data):
|
|
|
else:
|
|
|
# 创建新标签
|
|
|
create_tag_query = """
|
|
|
- CREATE (tag:talent_tag {name: $name, category: $category, updated_at: $updated_at})
|
|
|
+ CREATE (tag:data_label {name: $name, category: $category, updated_at: $updated_at})
|
|
|
RETURN id(tag) as tag_id
|
|
|
"""
|
|
|
tag_result = session.run(
|
|
@@ -1606,8 +1606,8 @@ def talent_update_tags(data):
|
|
|
|
|
|
# 2. 创建人才与标签的BELONGS_TO关系(如果不存在)
|
|
|
create_relation_query = """
|
|
|
- MATCH (t:talent), (tag:talent_tag)
|
|
|
- WHERE id(t) = $talent_id AND id(tag) = $tag_id
|
|
|
+ MATCH (t:talent), (tag:data_label)
|
|
|
+ WHERE t.pg_id = $talent_id AND tag.name = $tag_name
|
|
|
MERGE (t)-[r:BELONGS_TO]->(tag)
|
|
|
ON CREATE SET r.created_at = $current_time
|
|
|
ON MATCH SET r.updated_at = $current_time
|
|
@@ -1617,18 +1617,18 @@ def talent_update_tags(data):
|
|
|
relation_result = session.run(
|
|
|
create_relation_query,
|
|
|
talent_id=int(talent_id),
|
|
|
- tag_id=int(tag_id),
|
|
|
+ tag_name=tag_name,
|
|
|
current_time=current_time
|
|
|
)
|
|
|
|
|
|
if relation_result.single():
|
|
|
success_count += 1
|
|
|
else:
|
|
|
- failed_items.append({'talent': talent_id, 'tag': tag_name})
|
|
|
+ failed_items.append({'talent_pg_id': talent_id, 'tag': tag_name})
|
|
|
|
|
|
except Exception as tag_error:
|
|
|
logging.error(f"为标签 {tag_name} 创建关系时出错: {str(tag_error)}")
|
|
|
- failed_items.append({'talent': talent_id, 'tag': tag_name})
|
|
|
+ failed_items.append({'talent_pg_id': talent_id, 'tag': tag_name})
|
|
|
|
|
|
# 返回结果
|
|
|
total_items = len(data)
|