5.4 KiB
5.4 KiB
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 / Card:M002 V4 后续采用的订单任务与多卡模型;一封来源邮件可按
order_ref形成多个订单任务,每个订单任务下包含来源邮件展示卡、Basic Information 卡和若干业务卡。 - Room Information Card:V4 订单任务中由 New Booking、Update Booking 或 Cancel Booking 触发的房型信息卡;它展示订单房型、日期、早餐、晚数和 Group 状态等可确认业务信息。
- Review Required Card:V4 订单任务中需要人工复核的原业务卡状态;用户仍在原卡片内检查和修正业务字段,完成后确认卡片,不另建独立复核任务卡。
- Reservation Account:预订业务中的公司、旅行社或客户账户,不是系统登录账号;它用于订单级 Basic Information,并影响可用 Rate Code 范围。
- Rate Code Applicability:Rate Code 的业务适用范围;当前已确认先按 Reservation Account + booking type(GROUP / FIT)确定候选,不把全酒店 Rate Code 当成所有 Account 通用。
- Rooming List Task Card:V4 订单任务中的 Rooming List 事项确认卡,表示当前来源消息包含需要人工处理的房表事项;它不同于独立的 Rooming List Excel 生成工具。
- Payment Attachment Preview:Payment 卡中的付款凭证附件展示能力;业务事实仍是
attachment_ids[]关联,图片可缩略图和大图预览,非图片统一文件列表和下载,附件外链必须走 SourceMessage 原文权限链路。 - Source Message Notification:M002 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 阅读顺序
AGENTS.mdCONTEXT.mdPROJECT_STATE.mdREADME.mddocs/project/README.md- 与当前任务相关的需求、接口、安全、前后端协作或集成文档
涉及接口、权限、审计、酒店隔离或敏感数据返回时,必须额外阅读 docs/project/security-access-control-boundary.md。