提交最新代码。 代码动态执行存在一些问题,无法执行。

This commit is contained in:
2025-06-26 10:17:05 +08:00
parent 5acfd1f90b
commit 31224ba359
11 changed files with 273 additions and 199 deletions
+1 -68
View File
@@ -9,7 +9,7 @@ logger = logging.getLogger("project_implementation")
config = Config()
class ProjectTookiItNeo4j(ProjectTookiIt):
class ProjectToolkitNeo4j(ProjectToolkit):
"""
基于Neo4j数据库的项目类实现
"""
@@ -2215,70 +2215,3 @@ class ProjectTookiItNeo4j(ProjectTookiIt):
error = f"查询失败: {str(e)}"
return status, data, error, helper_info
class ProjectBuilder:
"""
项目构建器
描述: 用于构建项目对象的构建器
"""
_instance = None
_driver = None # 存储Neo4j驱动实例
@staticmethod
def init_driver(neo4j_conf):
"""
初始化Neo4j驱动
Args:
neo4j_conf (dict): Neo4j配置信息,包含uri、username和password
Returns:
None
"""
if ProjectBuilder._driver is not None:
# 如果已经有驱动实例,先关闭它
ProjectBuilder._driver.close()
# 创建新的驱动实例
uri = neo4j_conf.get("uri")
username = neo4j_conf.get("username")
password = neo4j_conf.get("password")
ProjectBuilder._driver = GraphDatabase.driver(uri, auth=(username, password))
@staticmethod
def build():
"""
构建并返回项目实例,使用已初始化的驱动
Returns:
ProjectTookiItNeo4j: 创建的项目实例
"""
# 如果已经有实例,直接返回
if ProjectBuilder._instance is not None:
return ProjectBuilder._instance
# 检查驱动是否已初始化
if ProjectBuilder._driver is None:
raise ValueError("必须先调用ProjectBuilder.init_driver初始化Neo4j驱动")
# 创建新实例,使用已初始化的驱动
ProjectBuilder._instance = ProjectTookiItNeo4j(ProjectBuilder._driver)
return ProjectBuilder._instance
@staticmethod
def close():
"""
关闭当前项目实例和驱动的连接
"""
if ProjectBuilder._instance is not None:
ProjectBuilder._instance.close()
ProjectBuilder._instance = None
if ProjectBuilder._driver is not None:
ProjectBuilder._driver.close()
ProjectBuilder._driver = None
# 注册退出处理函数,确保程序退出时自动关闭连接
atexit.register(ProjectBuilder.close)