feat(health): 告警列表 API 添加 doctor_id 过滤参数
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

alert_handler 的 AlertListQuery 新增 doctor_id 参数。
alert_service::list_alerts 先查询 patient_doctor_relation
获取该医生负责的患者列表,再用 patient_id.is_in() 过滤。
医生无管床患者时直接返回空结果。新增 2 个单元测试。
This commit is contained in:
iven
2026-04-28 19:54:12 +08:00
parent 4745b1e824
commit 8aac96b62f
2 changed files with 63 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ use crate::state::HealthState;
#[derive(Debug, Deserialize, IntoParams)]
pub struct AlertListQuery {
pub patient_id: Option<Uuid>,
pub doctor_id: Option<Uuid>,
pub status: Option<String>,
pub page: Option<u64>,
pub page_size: Option<u64>,
@@ -35,7 +36,7 @@ where
let page_size = query.page_size.unwrap_or(20);
let (items, total) = alert_service::list_alerts(
&state, ctx.tenant_id, query.patient_id, query.status.as_deref(),
&state, ctx.tenant_id, query.patient_id, query.doctor_id, query.status.as_deref(),
page, page_size,
).await?;