fix(health): P1 功能缺陷修复 — 8 项后端+小程序问题
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

- 管理员订单列表:新增 admin_list_orders 不按 patient_id 过滤
- 分配医生:添加 doctor_profile 存在性验证防止孤立关联
- 标签管理:将软删除+插入包裹在事务中防止标签丢失
- HealthDataProvider:标记为 experimental,改进错误消息
- 预约 CAS:添加注释说明匹配字段与唯一索引的关系
- 小程序 DTO:inputVitalSign 映射 indicator_type 到结构化字段
- 小程序数据隔离:listAppointments/listTasks 添加 patient_id 参数
- 小程序字段名:family-add 修复 birthday → birth_date
This commit is contained in:
iven
2026-04-25 19:37:35 +08:00
parent b9e794d701
commit 17085a3e61
9 changed files with 244 additions and 79 deletions

View File

@@ -251,13 +251,11 @@ pub async fn admin_list_orders<S>(
where HealthState: FromRef<S>, S: Clone + Send + Sync + 'static,
{
require_permission(&ctx, "health.points.list")?;
// 管理端查看所有订单 — 传空 patient_id 列出全部(简化实现:传一个不存在的 UUID 查全部)
// TODO: 实现 admin 级别的全量订单查询
let page = params.page.unwrap_or(1);
let page_size = params.page_size.unwrap_or(20);
// 临时用空 UUID 占位
let result = points_service::list_orders(
&state, ctx.tenant_id, Uuid::nil(), page, page_size,
// 管理端查看所有订单 — 不按 patient_id 过滤
let result = points_service::admin_list_orders(
&state, ctx.tenant_id, page, page_size,
).await?;
Ok(Json(ApiResponse::ok(result)))
}