50 lines
7.2 KiB
Plaintext
50 lines
7.2 KiB
Plaintext
# game-cloud(后端 · monorepo 子目录)
|
||
|
||
> **本目录状态:MVP 后端主体已建成运行(2026-06-11 对账)。** 11/13 game 模块建成接入单体(community/biz 已建;ip=seam 寄宿 compliance、pay=huijing 原生未接),M1 全栈真启动 + M2 生成链路 + 发布/数据回路/审核台 e2e 真实。**进度一律以 `docs/mvp/MVP进度总账.md` 为准,本文件只随结构变化更新**(收口规则见 `.agents/skills/wave-close-checklist.md` 第 4 步)。
|
||
> 决策:MVP 先在当前仓 monorepo 承载,later 再拆为独立 game-cloud 仓(见 memory monorepo-first-split-later)。
|
||
|
||
## 目标功能
|
||
绘境AI 后端:Huijing Cloud fork + 13 个 game-module 业务模块(project/aigc/runtime/feed/telemetry/pay/trade/community/ip/compliance/biz/ad/studio)。技术栈 Java 17 + Spring Cloud Alibaba + MySQL + Redis + Flyway(MVP 单体承载);生成主线=**便宜模型直出经 new-api 网关 + agent 写码于插件库**(C2 裁定 + HJ-GEN-001 终审;~~模板驱动/LLM 填参~~线随模板哲学终裁退役;Dify/OpenGame 降级远期增强、从未部署;agentic 编排基建=**SAA-only(HJ-AGI-002)**为 MVP 编排基建(旧 AgentScope 2.x/HJ-AGI-001 已被推翻);RocketMQ/Nacos 为远期形态、MVP 未部署)。另规划第二条 **tier2 自治富游戏轨**(AgentScope ReAct 单写者造合成/经营/挂机类多系统富游戏)=待 0号 spike 的 long-term premium 独立轨,设计见 `docs/architecture/架构/生成引擎/`,MVP 运行时未落。
|
||
|
||
## 目录规划(已落地)
|
||
```
|
||
game-cloud/
|
||
├── (huijing-cloud fork 框架:game-framework / game-gateway / game-server ...) ← fork 已就位(master-jdk17 裁剪版)
|
||
├── game-module-project/ ← 黄金模板模块(先做到完美,其余 12 个克隆)
|
||
│ ├── game-module-project-api/ # 枚举/错误码段 1-100/跨模块 DTO·Feign
|
||
│ └── game-module-project-server/ # controller(admin/app)/service/dal/convert(结构对齐 huijing fork)
|
||
└── game-module-*/ ← 其余 12 模块克隆黄金模板
|
||
```
|
||
|
||
## 边界 / 不做
|
||
- 契约不放这里:`contracts/`(仓根)是跨端单一事实源,本模块引用它。
|
||
- 管理后台前端 = `game-admin/`;产品端前端 = `game-studio/`(各自子目录)。
|
||
|
||
## 当前状态 / TODO(更新 2026-06-11;此后逐波进度不再追记于此,以总账 §2/§6 为准)
|
||
|
||
> **进度对账以 `docs/mvp/MVP进度总账.md`(单一事实源)为准**,本节只记本模块要点。
|
||
- [x] 契约先行:8 类契约锁定(`contracts/`,M0),含 project 的 DB+API。
|
||
- [x] **fork huijing-cloud 完成**:GitHub `master-jdk17`(Java17, rev 2026.05-SNAPSHOT),已裁剪至 system/infra/pay/bpm + framework/gateway/server/dependencies(删 11 个 demo 模块,74M→44M)。
|
||
- [x] 业务决策 HJ-DEC-001 敲定:D1 主 DeepSeek+备 Qwen / D2 放置·经营·合成·点击 4 模板 / D3 MVP 统一 80%(全配置化) / D4 ui-ux-pro-max+demo(详见 `docs/agent-specs/2026-06-08-mvp业务决策.md`)。
|
||
- [x] 结构决定:游戏模块跟 fork 用 **`-api`/`-server`**(已同步规范 §9/§1)。
|
||
- [x] **工具链就绪**:JDK 17.0.19 + Maven 3.8.7。
|
||
- [x] **黄金模块 `game-module-project` 建成并编译通过**(`mvn install` BUILD SUCCESS,18 源文件,照抄 fork notice/infra 范式):
|
||
-api(ErrorCodeConstants 段1-100/ProjectStatusEnum/ReviewDecisionEnum) + -server(ProjectDO·ReviewRecordDO 继承 TenantBaseDO / 2 Mapper / ProjectService+Impl 状态机·归属·门禁·审核事务 / ProjectConvert / 7 VO / App+Admin 双控制器)。
|
||
- [x] **B 路线接线 huijing-server**:pom 依赖 game-module-project-server;`HuijingServerApplication` 加 `com.wanxiang.huijing.game.module` 组件扫描 + `@MapperScan`;`application.yaml` type-aliases 纳入 game DO。
|
||
- [x] **关键核实**:`WebProperties` 端前缀按 `**.controller.app/admin.**` 通配 → cn.wanxiang 包自动获 `/app-api`·`/admin-api`,无需改框架。
|
||
- [x] **集成编译通过**:`mvn -pl huijing-server -am compile` BUILD SUCCESS(接线后整体编译,含 Flyway 依赖)。
|
||
- [x] **Flyway 启用(创始人定 A)**:huijing-server 加 `flyway-core`+`flyway-mysql`(版本由 spring-boot 管理);`application.yaml` 加 `spring.flyway`(enabled+`baseline-on-migrate`+`baseline-version=0`,关键防 V1.0.0 被当≤baseline 跳过);迁移脚本复制到 `huijing-server/.../db/migration/`(执行副本,源在 `contracts/db-schemas/`,diff 一致;Flyway 校验和敏感故保持同步)。
|
||
- [x] **端前缀(创始人定 B)**:保留 huijing 默认 `/app-api`·`/admin-api`,已把 `project.yaml`/`README`/`规范§4`/`events.schema` 的 `/app`·`/admin` 改为 `/app-api`·`/admin-api`(控制器代码零改,前缀框架按包名自动加)。
|
||
- [x] **Service 单测通过**:`ProjectServiceImplTest` 9 用例全绿(Mockito,覆盖默认值/归属/状态机/发布门禁/审核流转)。
|
||
- [x] **M1 全栈真启动达成(2026-06-09,mini-desktop 隔离 staging)**:单体 `Started HuijingServerApplication`、Flyway V1-V9 全 success、24 张 game_* 表、admin-api/app-api 均 200。启动装配缺陷已修(撤 openfeign 排除+4 CommonApi 补 primary=false `d7fac90`;去 system/infra-server repackage `8565fa2`)。详见记忆 `m1-runtime-bringup-state`。
|
||
- [x] **Wave1 闭环脊柱 4 模块(aigc/runtime/feed/telemetry)已并行建成并验证**(Workflow 三相编排:契约→建设→集成;4 模块 46 单测绿 + 全量集成编译绿 41 模块 reactor;详见 `docs/agent-specs/2026-06-08-后端模块并行建设-execution.md`)。13 张表全落 `contracts/db-schemas/V1-V5`,错误码段 100-104 独占。
|
||
- [x] **Wave2 变现域**:ad/trade 后端建成验证(`43fce85`)。pay 为 huijing 原生,当前未接单体。
|
||
- [x] **Wave3 治理/创作**:compliance(锁风门 Gate 二态,已注入 project.publish)+ studio(创作任务链)建成(`b70e90b`/`6c8844f`)。
|
||
- [x] **已建 11/13 game 模块**(project/aigc/runtime/feed/telemetry/ad/trade/compliance/studio + Wave4 的 community/biz),全部接入单体、有单测、有契约 yaml、有 Flyway V1-V13;ip=D5 seam 寄宿 compliance 不独立建,pay=huijing 原生未接。
|
||
- [x] **Wave4 community+biz 建成+集成门收口(2026-06-11,`737e6d5`+`6c7d93f`)**:60 模块编译/启动 Flyway V11→V13/18 端点/单测 32 绿/两链路 staging 实测,详见总账 §2/§6 与 `HJ-WAVE4-EXEC-001`。
|
||
- [ ] **桩真实化(决定 M2-M5)**:~~Dify 真实生成~~ → 生成真实化走 new-api 网关+agent 写码于插件库(M-b 执行器已上线,Dify/OpenGame 不部署)/ runtime 真实编译 / OSS 存取 / telemetry 聚合(~~MQ~~ MVP 单体内同步/事件,RocketMQ 远期)/ 真实广告+pay。见总账 §5。
|
||
- [x] **已全量 git 提交并推送** origin/dev/2.0.0(最新 `8565fa2`)。
|
||
|
||
## 规范锚点
|
||
包名 `com.wanxiang.huijing.game.module.{模块}.{层}`;错误码段见 `.agents/rules/engineering-conventions.md §1.3`;API `/app-api`·`/admin-api` 双端(前缀框架按包名自动加);DO/VO/DTO 分层;Flyway 迁移(执行位 `huijing-server/.../db/migration/`);测试金字塔(单测>80%/集成 Testcontainers)。
|