feat(health+dialysis): 补全 8 组权限码 + 修复 N+1 查询 + 防御性编码
权限补全: - 新增 14 个权限声明(危急值告警/阈值/随访模板/日常监测/知情同意/用药记录/药物提醒) - 更新 8 个 handler 使用正确的专属权限码 - erp-dialysis 新增 health.dialysis.stats 权限 性能优化: - article_service list_articles 标签加载从 N+1 改为批量查询 - follow_up_template_service 字段计数从 N+1 改为批量 GROUP BY 防御性编码: - alert_engine/article/critical_alert 的 unwrap() 替换为 unwrap_or/expect
This commit is contained in:
@@ -16,7 +16,7 @@ where
|
||||
DialysisState: FromRef<S>,
|
||||
S: Clone + Send + Sync + 'static,
|
||||
{
|
||||
require_permission(&ctx, "health.dialysis.list")?;
|
||||
require_permission(&ctx, "health.dialysis.stats")?;
|
||||
let dialysis_state = DialysisState::from_ref(&state);
|
||||
let stats = dialysis_stats_service::get_dialysis_statistics(&dialysis_state, ctx.tenant_id).await?;
|
||||
Ok(Json(ApiResponse::ok(stats)))
|
||||
|
||||
@@ -106,6 +106,12 @@ impl ErpModule for DialysisModule {
|
||||
description: "创建、编辑、删除透析处方".into(),
|
||||
module: "erp-dialysis".into(),
|
||||
},
|
||||
PermissionDescriptor {
|
||||
code: "health.dialysis.stats".into(),
|
||||
name: "查看透析统计".into(),
|
||||
description: "查看透析统计数据".into(),
|
||||
module: "erp-dialysis".into(),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user