Files
th-hotel-simple/CONTEXT.md

90 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TH Hotel Simple 项目上下文
## 1. 产品目标
TH Hotel Simple 是一个前后端分离的酒店业务协同项目。
当前核心目标是把来自 AgentBus、SuperAgent 和后续酒店系统的业务输入,沉淀为可追溯、可查询、可人工复核的结构化数据,为酒店预订、任务处理、邮件原文读取、外部 AI 协作和后续 PMS / OHIP 集成打基础。
## 2. 当前系统组成
| 目录 | 中文说明 |
| --- | --- |
| `client/` | 前端应用。负责页面展示、人工操作、调试入口和调用本项目后端。前端不直接访问 AgentBus、SuperAgent、OHIP、数据库或任何 Secret。 |
| `server/` | 后端 Spring Boot 服务。负责数据库、业务规则、外部系统适配、权限、安全脱敏、审计和接口契约。 |
| `mcp-server/` | SuperAgent MCP 方案入口指针。当前不单独部署 MCP 服务MCP 运行时代码内嵌在 `server/`。 |
| `docs/` | 项目文档、需求、架构边界、导入资料、可复用规范和第三方契约。 |
## 3. 技术栈
### 后端
- Java 17语法和编译 release 均按 17。
- Spring Boot 3.5.15。
- Maven Wrapper。
- MyBatis-Plus 3.5.16。
- Flyway。
- MySQL测试场景可使用 H2 MySQL Mode 或 test-mysql profile。
- Spring Validation、springdoc-openapi、Angus Mail、Aliyun OSS、Apache POI。
### 前端
- Vue 3.5。
- TypeScript 6。
- Vite 8。
- Pinia 3。
- PrimeVue 4、PrimeIcons 7。
- Vue Router 5、Vue I18n 11。
- Vitest 4、ESLint 10、vue-tsc 3。
- Node.js >= 22.13.0。
## 4. 当前业务领域
- SourceMessage外部消息来源事实当前主要承接 AgentBus 邮件 JSON。
- Email / Message Conversation邮件和邮件会话用于历史邮件查询、正文读取和会话级任务查询。
- Reservation Case / Task预订相关订单、任务卡、人工复核和任务结果。
- Reservation Order Task / CardM002 V4 后续采用的订单任务与多卡模型;一封来源邮件可按 `order_ref` 形成多个订单任务每个订单任务下包含来源邮件展示卡、Basic Information 卡和若干业务卡。
- Room Information CardV4 订单任务中由 New Booking、Update Booking 或 Cancel Booking 触发的房型信息卡;它展示订单房型、日期、早餐、晚数和 Group 状态等可确认业务信息。
- Review Required CardV4 订单任务中需要人工复核的原业务卡状态;用户仍在原卡片内检查和修正业务字段,完成后确认卡片,不另建独立复核任务卡。
- Reservation Account预订业务中的公司、旅行社或客户账户不是系统登录账号它用于订单级 Basic Information并影响可用 Rate Code 范围。
- Rate Code ApplicabilityRate Code 的业务适用范围;当前已确认先按 Reservation Account + booking typeGROUP / FIT确定候选不把全酒店 Rate Code 当成所有 Account 通用。
- Rooming List Task CardV4 订单任务中的 Rooming List 事项确认卡,表示当前来源消息包含需要人工处理的房表事项;它不同于独立的 Rooming List Excel 生成工具。
- Payment Attachment PreviewPayment 卡中的付款凭证附件展示能力;业务事实仍是 `attachment_ids[]` 关联,图片可缩略图和大图预览,非图片统一文件列表和下载,附件外链必须走 SourceMessage 原文权限链路。
- Source Message NotificationM002 V4 的 S10 纯通知模型;只表示来源邮件需要被查看和确认已处理,不形成订单任务或业务卡。
- Identity / Access / Hotel / Menu登录、用户、角色、权限、酒店授权和动态菜单底座。
- Debug EML受控调试入口用于上传 EML 并触发 SuperAgent 调试链路。
- Manual Invoice手工开票生成能力包含 Excel 模板、PDF 转换和 OSS 输出。
## 5. 外部系统与边界
| 外部系统 | 当前定位 | 契约入口 |
| --- | --- | --- |
| AgentBus | 消息入口适配器。实时入口必须先落 SourceMessage Inbox。 | `docs/project/integrations/superagent-agentbus-project-integration-guide.md` |
| SuperAgent | 外部 AI / Agent 能力提供方。返回内容只能作为建议、证据或审计结果。 | `docs/project/integrations/superagent-api-contract.md` |
| SuperAgent MCP | SuperAgent 调用本项目能力的 MCP 映射,当前内嵌在后端服务。 | `docs/project/integrations/superagent-mcp/README.md` |
| Aliyun OSS | 调试 EML、附件或生成文件的对象存储。 | 相关配置和安全边界见项目文档与后端配置 |
| OHIP / PMS | 后续酒店系统集成方向。当前不允许前端直接访问。 | 后续 Spec / ADR 明确 |
## 6. 当前开发方向
当前项目正在从普通项目文档结构,逐步落地 AI-NSES 文档入口:
- `AGENTS.md` 规定 Agent 如何工作。
- `CONTEXT.md` 说明项目长期背景。
- `PROJECT_STATE.md` 记录当前阶段状态。
- `docs/project/README.md` 作为当前项目专属文档索引。
- `docs/import/reusable/` 保存可迁移到其他项目的通用规范。
业务开发仍以 `docs/project/requirements/``docs/project/integrations/` 下的当前有效文档为准。
## 7. 新 Agent 阅读顺序
1. `AGENTS.md`
2. `CONTEXT.md`
3. `PROJECT_STATE.md`
4. `README.md`
5. `docs/project/README.md`
6. 与当前任务相关的需求、接口、安全、前后端协作或集成文档
涉及接口、权限、审计、酒店隔离或敏感数据返回时,必须额外阅读 `docs/project/security-access-control-boundary.md`