finalize medical consultation agent backend
This commit is contained in:
@@ -20,7 +20,6 @@ from app.models import (
|
||||
ScoringRule,
|
||||
TeachingCase,
|
||||
TraditionalCase,
|
||||
User,
|
||||
)
|
||||
|
||||
|
||||
@@ -35,8 +34,7 @@ def init_database() -> None:
|
||||
def seed_demo_data(db) -> None:
|
||||
"""病例导入:写入儿科支气管肺炎病例、检查项目、评分规则和提示词元数据。"""
|
||||
department = _get_or_create_department(db)
|
||||
user = _get_or_create_seed_user(db)
|
||||
case = _get_or_create_case_base(db, department.id, user.id)
|
||||
case = _get_or_create_case_base(db, department.id)
|
||||
_seed_traditional_case(db, case.id)
|
||||
_seed_teaching_case(db, case.id)
|
||||
_seed_exam_items(db, case.id)
|
||||
@@ -47,27 +45,16 @@ def seed_demo_data(db) -> None:
|
||||
|
||||
def _get_or_create_department(db) -> Department:
|
||||
"""科室种子:写入儿科科室。"""
|
||||
department = db.scalar(select(Department).where(Department.code == "PEDIATRICS"))
|
||||
department = db.scalar(select(Department).where(Department.name == "儿科"))
|
||||
if department:
|
||||
return department
|
||||
department = Department(name="儿科", code="PEDIATRICS", sort_order=1, is_active=True)
|
||||
department = Department(name="儿科", category="clinical", institution_id=1)
|
||||
db.add(department)
|
||||
db.flush()
|
||||
return department
|
||||
|
||||
|
||||
def _get_or_create_seed_user(db) -> User:
|
||||
"""用户占位:写入系统种子用户,不承担登录职责。"""
|
||||
user = db.scalar(select(User).where(User.external_user_id == "system_seed"))
|
||||
if user:
|
||||
return user
|
||||
user = User(external_user_id="system_seed", display_name="系统种子数据")
|
||||
db.add(user)
|
||||
db.flush()
|
||||
return user
|
||||
|
||||
|
||||
def _get_or_create_case_base(db, department_id: int, user_id: int) -> CaseBase:
|
||||
def _get_or_create_case_base(db, department_id: int) -> CaseBase:
|
||||
"""病例主表种子:以 case_base 作为病例唯一主表。"""
|
||||
case = db.scalar(select(CaseBase).where(CaseBase.title == "支气管肺炎 - 6岁男性患儿"))
|
||||
if case:
|
||||
@@ -99,7 +86,7 @@ def _get_or_create_case_base(db, department_id: int, user_id: int) -> CaseBase:
|
||||
vector_status=0,
|
||||
publish_status=1,
|
||||
status=1,
|
||||
created_by_id=user_id,
|
||||
created_by_id=None,
|
||||
department_id=department_id,
|
||||
)
|
||||
db.add(case)
|
||||
|
||||
Reference in New Issue
Block a user