feat(expression): 添加表达方式管理API,包括查询、创建、更新和删除功能

This commit is contained in:
minecraft1024a
2025-12-13 11:39:20 +08:00
parent 179b5b7222
commit 7d8ce8b246
4 changed files with 1071 additions and 3 deletions

View File

@@ -241,7 +241,6 @@ class PersonInfoManager:
return person_id
@staticmethod
@staticmethod
async def first_knowing_some_one(platform: str, user_id: str, user_nickname: str, user_cardname: str):
"""判断是否认识某人"""
@@ -697,6 +696,18 @@ class PersonInfoManager:
try:
value = getattr(record, field_name)
if value is not None:
# 对 JSON 序列化字段进行反序列化
if field_name in JSON_SERIALIZED_FIELDS:
try:
# 确保 value 是字符串类型
if isinstance(value, str):
return orjson.loads(value)
else:
# 如果不是字符串,可能已经是解析后的数据,直接返回
return value
except Exception as e:
logger.warning(f"反序列化字段 {field_name} 失败: {e}, value={value}, 使用默认值")
return copy.deepcopy(person_info_default.get(field_name))
return value
else:
return copy.deepcopy(person_info_default.get(field_name))
@@ -737,7 +748,20 @@ class PersonInfoManager:
try:
value = getattr(record, field_name)
if value is not None:
result[field_name] = value
# 对 JSON 序列化字段进行反序列化
if field_name in JSON_SERIALIZED_FIELDS:
try:
# 确保 value 是字符串类型
if isinstance(value, str):
result[field_name] = orjson.loads(value)
else:
# 如果不是字符串,可能已经是解析后的数据,直接使用
result[field_name] = value
except Exception as e:
logger.warning(f"反序列化字段 {field_name} 失败: {e}, value={value}, 使用默认值")
result[field_name] = copy.deepcopy(person_info_default.get(field_name))
else:
result[field_name] = value
else:
result[field_name] = copy.deepcopy(person_info_default.get(field_name))
except Exception as e: