# 多租户医疗调压系统后端(NestJS + Prisma) 本项目是医疗调压系统后端 MVP,支持 B 端(医院内部)与 C 端(家属跨院视图)两套接口语义。 ## 1. 技术栈 - NestJS(模块化后端框架) - Prisma(ORM + Schema 管理) - PostgreSQL/MySQL(按 `.env` 的 `DATABASE_URL` 决定) - JWT(认证) - Swagger(接口文档) ## 2. 目录结构 ```text src/ auth/ 认证与鉴权(JWT、Guard、RBAC) users/ 用户与角色管理 tasks/ 调压任务流转(发布/接收/完成/取消) patients/ 患者查询(B 端范围 + C 端聚合) hospitals/ 医院管理模块 departments/ 科室管理模块 groups/ 小组管理模块 organization-common/ 组织域共享 DTO/权限校验能力 organization/ 组织域聚合模块(仅负责引入子模块) common/ 全局响应、异常、消息常量 generated/prisma/ Prisma 生成代码 prisma/ schema.prisma 数据模型定义 docs/ auth.md users.md tasks.md patients.md ``` ## 3. 环境变量 请在项目根目录创建 `.env`: ```env DATABASE_URL="postgresql://user:password@127.0.0.1:5432/tyt?schema=public" JWT_SECRET="请替换为强随机密钥" JWT_EXPIRES_IN="7d" SYSTEM_ADMIN_BOOTSTRAP_KEY="初始化系统管理员用密钥" ``` ## 4. 启动流程 ```bash pnpm install pnpm prisma generate pnpm prisma migrate dev pnpm start:dev ``` ## 5. 统一响应规范 - 成功:`{ code: 0, msg: "成功", data: ... }` - 失败:`{ code: 4xx/5xx, msg: "中文错误信息", data: null }` 已通过全局拦截器与全局异常过滤器统一输出。 ## 6. API 文档 - Swagger UI: `/api/docs` - OpenAPI JSON: `/api/docs-json` - 鉴权头:`Authorization: Bearer ` ## 7. 组织管理(医院/科室/小组 CRUD) 统一前缀:`/b/organization` - 医院: - `POST /b/organization/hospitals` - `GET /b/organization/hospitals` - `GET /b/organization/hospitals/:id` - `PATCH /b/organization/hospitals/:id` - `DELETE /b/organization/hospitals/:id` - 科室: - `POST /b/organization/departments` - `GET /b/organization/departments` - `GET /b/organization/departments/:id` - `PATCH /b/organization/departments/:id` - `DELETE /b/organization/departments/:id` - 小组: - `POST /b/organization/groups` - `GET /b/organization/groups` - `GET /b/organization/groups/:id` - `PATCH /b/organization/groups/:id` - `DELETE /b/organization/groups/:id` ## 8. 模块文档 - 认证与登录:`docs/auth.md` - 用户与权限:`docs/users.md` - 任务流转:`docs/tasks.md` - 患者查询:`docs/patients.md` ## 9. 常见改造入口 - 新增字段/关系:修改 `prisma/schema.prisma` 后执行 `prisma migrate`。 - 调整中文提示:修改 `src/common/messages.ts`。 - 调整全局响应壳:修改 `src/common/response-envelope.interceptor.ts` 与 `src/common/http-exception.filter.ts`。 - 扩展 RBAC:修改 `src/auth/roles.guard.ts` 与对应 Service 的权限断言。