diff --git a/docs/ip/00-知识产权申报总表.md b/docs/ip/00-知识产权申报总表.md index 6a5f44b8..ad8f622c 100644 --- a/docs/ip/00-知识产权申报总表.md +++ b/docs/ip/00-知识产权申报总表.md @@ -19,13 +19,13 @@ |---|---|---|---|---:|---|---|---| | 软著1 | 绘境AI游戏创作工作室系统[前端] | 产品端 game-studio | `game-studio/` 全部自研:创作工作台/游戏流/试玩/宿主引擎/接口封装/状态管理/遥测 | 60 | 9939 行(连续有效) | `ruanzhu-1-game-studio` | 待登记 | | 软著2 | 绘境AI游戏运营管理后台系统 | 运营后台 game-admin | `game-admin/` 中 `wanxiang` 命名空间:审核/精选池/数据看板/广告位/提现审核 13 文件 + 1 路由片段 | 13(+1 片段) | 2153 非空(2302 含空行) | `ruanzhu-2-game-admin` | 待登记 | -| 软著3 | 绘境AI智能游戏生成与运行云服务系统 | 生成与运行云服务 | `game-cloud` 后端 4 模块:`game-module-aigc / -project / -runtime / -studio`(含 -api/-server) | 121 | 9563 物理(8487 非空) | `ruanzhu-3-cloud-gen-runtime` | 待登记 | -| 软著4 | 绘境AI游戏分发变现与合规云服务系统 | 分发变现合规云服务 | `game-cloud` 后端 7 模块:`game-module-feed / -telemetry / -ad / -trade / -community / -biz / -compliance` | 210 | 12838 物理(11159 非空) | `ruanzhu-4-cloud-feed-monetize` | 待登记 | -| 软著5 | 绘境AI游戏运行时引擎能力插件系统 | 运行时插件系统 game-runtime | `game-runtime/` 自研:插件协议核心 + 9 能力插件 + 通用宿主 + 契约/类型 + 工具脚本 | 43 | 9854 行(连续有效) | `ruanzhu-5-game-runtime` | 待登记 | -| 软著6 | 绘境AI低成本智能游戏生成服务系统 | 生成 Worker(W-G1) | `wg1/gen-worker/worker/` 自研 Python:worker 主循环 + 真玩验证 harness 编排 + 成本/模型路由 | 11 | 1350 物理(1153 非空) | `ruanzhu-6-gen-worker` | 待登记 | -| — | **合计** | — | — | **458 文件(+1 片段)** | **约 5.6 万行原创代码** | — | — | +| 软著3 | 绘境AI智能游戏生成与运行云服务系统 | 生成与运行云服务 | `game-cloud` 后端 4 模块:`game-module-aigc / -project / -runtime / -studio`(含 -api/-server) | 123 | 10186 物理(9064 非空) | `ruanzhu-3-cloud-gen-runtime` | 待登记 | +| 软著4 | 绘境AI游戏分发变现与合规云服务系统 | 分发变现合规云服务 | `game-cloud` 后端 7 模块:`game-module-feed / -telemetry / -ad / -trade / -community / -biz / -compliance` | 210 | 12841 物理(11162 非空) | `ruanzhu-4-cloud-feed-monetize` | 待登记 | +| 软著5 | 绘境AI游戏运行时引擎能力插件系统 | 运行时插件系统 game-runtime | `game-runtime/` 自研:插件协议核心 + 9 能力插件 + 通用宿主 + 契约/类型 + 工具脚本 | 43 | 9859 行(连续有效) | `ruanzhu-5-game-runtime` | 待登记 | +| 软著6 | 绘境AI低成本智能游戏生成服务系统 | 生成 Worker(W-G1) | `wg1/gen-worker/worker/` 自研 Python:worker 主循环 + 真玩验证 harness 编排 + 成本/模型路由 | 12 | 1650 物理(1411 非空) | `ruanzhu-6-gen-worker` | 待登记 | +| — | **合计** | — | — | **461 文件(+1 片段)** | **约 4.7 万行原创代码(物理行合计)** | — | — | -**注(行数复核)**:已对各软著抽样 `wc -l` 与清单核对一致——软著1 `GamePlayer.vue`=744 / `Publish.vue`=531 / `types.ts`=398;软著3 `AigcGenerateExecutor.java`=552 / `DifyCallbackTxService.java`=506;软著5 `plugin.js`=932 / `boot-game-host.js`=452;软著6 `studio.py`=349 / `run.py`=188。均与《源文件清单.md》一致,数据非陈旧。 +**注(行数复核)**:已对各软著抽样 `wc -l` 与清单核对一致——软著1 `GamePlayer.vue`=744 / `Publish.vue`=531 / `types.ts`=398;软著3 `AigcGenerateExecutor.java`=646 / `DifyCallbackTxService.java`=506;软著5 `plugin.js`=932 / `boot-game-host.js`=457;软著6 `studio.py`=349 / `run.py`=188。均与《源文件清单.md》一致,数据非陈旧。 **鉴别材料取材规则(已在各清单注明)**:有效代码 ≥3000 行者取「前 1500 行 + 后 1500 行」(软著1/3/4/5);<3000 行者「全部连续收录」(软著2/6)。 @@ -78,7 +78,7 @@ | Ⅰ类(发明) | 4 件发明(待申请) | **只要 1 件最终授权**即可锁定知识产权数量满分,且可跨年度复用;4 件并申显著提高至少 1 件授权的概率 | | Ⅱ类(软著) | 6 件软著(待登记) | **6 ≥ 5**,**单凭软著即可独立拿到 Ⅱ 类数量满分**;且与「主要产品(造梦AI 平台)」强相关,技术先进性/产品作用两项易得高分 | -> **结论**:本批 **6 软著 + 4 发明** 的组合,对高企知识产权 30 分形成「**双保险**」——软著线(6≥5)可独立保底数量满分;发明线(≥1 授权)再叠加技术先进性高分。建议两线并行推进。 +> **结论**:本批 **6 软著 + 4 发明** 的组合,对高企知识产权 30 分形成「**双保险**」——软著线(6≥5)可独立保底数量满分;发明线(≥1 授权)再叠加技术先进性高分。建议两线并行推进。(高企知识产权评分综合数量、有效性、对主营产品的支撑作用、获得方式等;上述为数量条件分析,最终得分以申报年度认定规则与专家评审为准。) ### 3.3 时间倒排(关键:发明周期长,须尽早启动) @@ -107,7 +107,7 @@ | 第三方组件 | 许可证 | 在本平台的角色 | 软著处理 | |---|---|---|---| -| **yudao / 芋道(Yudao Cloud,ruoyi-vue-pro)** | MIT | `game-cloud` 后端基座(fork):`yudao-framework / -gateway / -module-system / -module-infra / -module-bpm / -module-pay / -server / -dependencies / -ui` | **整体排除**;软著3/4 仅圈 `cn.wanxiang.game.module.*` 自研业务模块 | +| **芋道 Yudao Cloud(ruoyi-vue-pro)** | MIT | `game-cloud` 后端基座(fork):目录 `huijing-framework / -gateway / -module-system / -module-infra / -module-bpm / -module-pay / -server / -dependencies`;包 `com.wanxiang.huijing.{framework,module(system·infra·bpm·pay),server,gateway}.*` | **整体排除**;软著3/4 仅圈自研 `com.wanxiang.huijing.game.module.*`(以 `.game.` 段为界,区别于芋道上游包) | | **yudao-ui-admin-vue3** | MIT | `game-admin` 运营后台基座(fork):登录鉴权/系统管理/基础设施/通用组件/布局/路由 | **整体排除**;软著2 仅圈 `wanxiang` 命名空间页面与 1 段原创路由片段 | | **littlejsengine(LittleJS 引擎)** | MIT | Web 运行容器底层引擎(增强发行版引擎本体) | **整体排除**;软著5 仅圈引擎之上的「受控插件系统/通用宿主」自研层,`host.js`/`entry.js` 含 `import littlejsengine` 但主体为原创 | | **依赖库**(Vue/Vant/Pinia/Vue Router/Axios/Vite;Spring Boot/Spring Cloud Alibaba/MyBatis/Lombok;openai/AgentScope/httpx/PyYAML/json-repair 等) | 各自开源许可 | 前端/后端/Worker 第三方依赖 | **整体排除**(`node_modules/`、`.venv/`、BOM 依赖声明均不计入) | @@ -189,7 +189,7 @@ |---|---| | `01-软著模块拆分方案.md` | **本 6 件软著的模块拆分依据**;登记边界须与该方案一致,确保「不重不漏、与合规拆分同口径」 | | `10-专利技术交底书模板与挖掘清单.md` | **本 4 件发明的挖掘来源**;后续可据该清单继续挖掘第 5+ 件发明,持续补强 Ⅰ 类资产 | -| `08-AIGC内容标识技术实现方案.md` | 直接支撑**专利4**的内容标识/水印权项(权 9)落地与实施例补强;亦是 GUI 外观无关、但与合规标识强相关 | +| `08-AIGC内容标识技术实现方案.md` | 为**专利4**内容标识/水印权项(权 9,当前为设计态)提供设计实施例补强与后续落地依据;与合规标识强相关 | | `09-内容安全与审核机制方案.md` | 支撑**专利4**合规锁风门的「审核机制」实证;与 `game-module-compliance` 软著4 同源 | | `05-生成式AI备案与安全评估自评.md`、`06-算法备案填报要点.md` | 生成式 AI 备案/算法备案——**专利2/3(模板约束生成、真玩验证)**是其技术先进性的有力佐证 | | `00-上线合规总控Checklist.md` | 上线总控;知识产权(软著证书/专利受理通知)可作为「自主知识产权」项的合规与投标证明材料 | diff --git a/docs/ip/_tools/gen_ru3.py b/docs/ip/_tools/gen_ru3.py index 7e03f155..fda97b28 100644 --- a/docs/ip/_tools/gen_ru3.py +++ b/docs/ip/_tools/gen_ru3.py @@ -48,7 +48,7 @@ header = [ "软件名称:绘境AI智能游戏生成与运行云服务系统 版本:V1.0", "源代码鉴别材料(连续有效代码;按软著规范取前 1500 行 + 后 1500 行,每页≥50 行,转 PDF 时每页页眉标注「绘境AI智能游戏生成与运行云服务系统 V1.0」并加页码)", "说明:本材料仅收录绘境AI自主开发的原创业务源代码(game-cloud 下 game-module-aigc / game-module-project / game-module-runtime / game-module-studio 四模块的 -api 与 -server 主干源码,共 %d 个 .java 文件、源码物理行合计 %d 行)。" % (nfiles, nsrc), - "已严格排除第三方开源与生成物:yudao-framework / yudao-gateway / yudao-module-system / yudao-module-infra / yudao-module-bpm / yudao-module-pay / yudao-server / yudao-dependencies / yudao-ui 等芋道(yudao)基座、LittleJS 引擎、node_modules、target/dist/build、*.min.js、自动生成代码、单元测试代码(src/test)。", + "已严格排除第三方开源与生成物:huijing-framework / huijing-gateway / huijing-module-system / huijing-module-infra / huijing-module-bpm / huijing-module-pay / huijing-server / huijing-dependencies 等芋道(Yudao Cloud,MIT)基座、LittleJS 引擎、node_modules、target/dist/build、*.min.js、自动生成代码、单元测试代码(src/test)。", "拼接顺序:按模块目录字典序(aigc → project → runtime → studio),模块内按文件路径字典序;每个源文件以「// ==================== 文件: 相对路径 ====================」分隔。", "本软件源代码连续有效合计约 %d 行(含文件分隔标识行),本材料收录其中前 1500 行与后 1500 行,合计 3000 行。" % total, ] diff --git a/docs/ip/_tools/gen_ru4.py b/docs/ip/_tools/gen_ru4.py new file mode 100644 index 00000000..807b9082 --- /dev/null +++ b/docs/ip/_tools/gen_ru4.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""ru-4 源代码鉴别材料 重生成器(确定性、字节忠实)。 +复刻 ru-4 既有格式:7 模块按目录字典序(ad→biz→community→compliance→feed→telemetry→trade), +模块内按相对 game-cloud 路径字典序;仅 src/main 下 .java; +分隔「// ===== 文件: <相对game-cloud路径> =====」;每文件 = 分隔行 + 源码行(splitlines,文件间无空行); +总行 = 文件数 + 物理行;取前 1500 + 后 1500,中间省略。 +只读源码,产物写 /tmp/ru4_new.txt;打印逐文件/分模块/总计数,并落各模块清单表行 /tmp/ru4_tbl_*.md。""" +import os, glob +from collections import OrderedDict + +REPO = "/Users/lili/Project/games-development-ai" +CLOUD = os.path.join(REPO, "game-cloud") +# 目录字典序(与既有 .txt 起始 game-module-ad 一致) +MODULES = ["game-module-ad", "game-module-biz", "game-module-community", "game-module-compliance", + "game-module-feed", "game-module-telemetry", "game-module-trade"] +SEP = "// ===== 文件: {rel} =====" + +files = [] # (module, rel_from_cloud, wcl, splitlines) +no_trailing_nl = [] +for m in MODULES: + found = [] + for j in glob.glob(os.path.join(CLOUD, m, "game-module-*", "src", "main", "**", "*.java"), recursive=True): + found.append((os.path.relpath(j, CLOUD), j)) + found.sort(key=lambda x: x[0]) + for rel, j in found: + raw = open(j, encoding="utf-8").read() + wcl = raw.count("\n") # wc -l 口径 + if raw and not raw.endswith("\n"): + no_trailing_nl.append(rel) + files.append((m, rel, wcl, raw.splitlines())) # splitlines:无文件间空行,总行=文件数+物理行 + +# 拼接(字节忠实:每文件=分隔行 + 源码各行) +concat = [] +for m, rel, wcl, sl in files: + concat.append(SEP.format(rel=rel)) + concat.extend(sl) +total = len(concat) +front = concat[:1500] +back = concat[-1500:] +omit_from, omit_to, omit_cnt = 1501, total - 1500, total - 3000 + +nfiles = len(files) +nsrc = sum(f[2] for f in files) +nonblank = sum(sum(1 for x in sl if x.strip() != "") for (m, rel, wcl, sl) in files) +blank = nsrc - nonblank +mod = OrderedDict() +for m, rel, wcl, sl in files: + e = mod.setdefault(m, [0, 0]); e[0] += 1; e[1] += wcl + +RULE = "=" * 80 +header = [ + "软件名称:绘境AI游戏分发变现与合规云服务系统 版本:V1.0", + "说明:本鉴别材料为本软件原创业务源代码(Java,包名 com.wanxiang.huijing.game.module.*),按纳入文件目录字典序连续拼接。", + "统计:纳入原创源文件 %d 个;连续有效代码(含文件分隔标记行)共 %d 行(其中物理代码行 %d 行、空白行 %d 行、非空白有效行 %d 行)。" % (nfiles, total, nsrc, blank, nonblank), + "因总行数超过 3000 行,依软著登记规范取【前 1500 行 + 后 1500 行】,中间部分以分隔标识省略。完整文件清单见《源文件清单.md》。", + "(已严格排除第三方与生成物:芋道(Yudao Cloud,MIT)基座 huijing-framework/gateway/module-system/module-infra/module-bpm/module-pay/server/dependencies、node_modules、target、各模块 src/test 测试代码、littlejsengine、spikes、*.min.js 等。)", +] +out = header + [RULE, "【前 1500 行】"] + front \ + + [RULE, "【中间部分省略:第 %d 行 至 第 %d 行,共省略 %d 行】" % (omit_from, omit_to, omit_cnt), RULE, "【后 1500 行】"] + back +open("/tmp/ru4_new.txt", "w", encoding="utf-8").write("\n".join(out) + "\n") + +print("FILES=%d SRC_LINES=%d CONCAT=%d NONBLANK=%d BLANK=%d OMIT=%d (%d-%d) TXT_LINES=%d" % ( + nfiles, nsrc, total, nonblank, blank, omit_cnt, omit_from, omit_to, len(out))) +for m, (c, l) in mod.items(): + print(" %-26s %d files / %d lines" % (m, c, l)) +if no_trailing_nl: + print(" [WARN 无尾换行]", no_trailing_nl) +print(" BOUNDARY concat[1500]=%r" % (front[1499],)) +# 各模块清单表行(刷新《源文件清单.md》用) +for mm in MODULES: + rows = ["| %s | %d |" % (rel, wcl) for (m, rel, wcl, sl) in files if m == mm] + open("/tmp/ru4_tbl_%s.md" % mm, "w", encoding="utf-8").write("\n".join(rows) + "\n") diff --git a/docs/ip/patents/01-受控插件引擎/技术交底书.md b/docs/ip/patents/01-受控插件引擎/技术交底书.md index d2daddf1..bede1c42 100644 --- a/docs/ip/patents/01-受控插件引擎/技术交底书.md +++ b/docs/ip/patents/01-受控插件引擎/技术交底书.md @@ -212,7 +212,7 @@ game-runtime/ 每个插件目录下置 manifest.json(如 `collision` 声明 `gzBudgetBytes: 8192` 及其具名导出清单 `SpatialHash/circleVsCircle/...`,且无任何玩法语义字段)。`validate-manifest.mjs` 扫描全部 manifest,对 `additionalProperties:false`、required、type、pattern、minLength/maxLength、minimum/maximum、uniqueItems 等关键约束逐条手写校验,任一不合规即以退出码 1 失败、可供 CI 卡门——经核实该校验器能真实检出违规(如 `description` 超 200 字符上限即被判失败)。构建期 `size.mjs` 以增量法(基线壳→+core→逐插件叠加)用 gzip level9 实测每件净增字节并与配额对照,产出 `SIZES.md`(经核实,9 件插件 gz 净增合计约 12.1KB,逐件均判定 ✔ 不超配额)。 -> 【证据口径提示】本机当前运行 `node scripts/validate-manifest.mjs` 时,`audio-music/manifest.json` 因 `description` 字段(248 字符)超过 schema 的 `maxLength: 200` 而被判失败(其余 8 件通过)——此为该 manifest 个例的内容超长,**恰好实证了校验机制本身有效**(违规即卡门);与本发明所主张的"字段封闭契约 + 字节预算治理"的技术手段成立性无关。落定专利文本前宜先把该 manifest 描述截到 200 字符以内,使示例与机制一致。 +> 【实施例口径】`validate-manifest.mjs` 对全部 manifest 逐条手写校验 `additionalProperties:false`、required、type、pattern、min/maxLength、minimum/maximum、uniqueItems 等约束,任一不合规即以退出码 1 失败、可供 CI 卡门——即"字段封闭契约 + 字节预算治理"技术手段的可执行体现。(内部备注:提交前将 `audio-music/manifest.json` 的 `description` 截至 200 字符以内,使全部示例 manifest 均通过校验后再定稿。) ### 4.6 附图说明(文字描述,供代理所制图) diff --git a/docs/ip/patents/04-合规锁风门/技术交底书.md b/docs/ip/patents/04-合规锁风门/技术交底书.md index 79166664..c2c91310 100644 --- a/docs/ip/patents/04-合规锁风门/技术交底书.md +++ b/docs/ip/patents/04-合规锁风门/技术交底书.md @@ -82,7 +82,7 @@ AIGC 内容平台与小游戏分发平台,当前在「内容合规」环节通 对应锁风门服务对外暴露的唯一接口 seam `ComplianceGateApi`(位于 `-api` 包)及其本地实现 `ComplianceGateApiImpl`。 -**步骤 B1 以「契约 -api 接口」作为发布服务对合规服务的唯一依赖面。** 锁风门服务仅通过 `ComplianceGateApi.evaluate(...)` 这一接口暴露给发布服务,发布服务只依赖合规模块的 `-api` 包(`cn.wanxiang.game.module.compliance.api`),禁止依赖其 `-server` 实现,实现跨模块解耦。 +**步骤 B1 以「契约 -api 接口」作为发布服务对合规服务的唯一依赖面。** 锁风门服务仅通过 `ComplianceGateApi.evaluate(...)` 这一接口暴露给发布服务,发布服务只依赖合规模块的 `-api` 包(`com.wanxiang.huijing.game.module.compliance.api`),禁止依赖其 `-server` 实现,实现跨模块解耦。 **步骤 B2 同进程「本地实现优先」、可平滑切分布式。** 接口以 `@FeignClient(name=...)` 声明;实现类 `ComplianceGateApiImpl` 标注 `@RestController + @Primary`,在单体同进程内由本地实现就地解析(仿 yudao 框架 `DictDataApi` 范式),拆分为微服务后则走真实 Feign 远程调用,业务代码无需改动。这使「合规作为发布强制前置」既能在单体内同步、低延迟执行,又具备向微服务演进的兼容性。 diff --git a/docs/ip/ruanzhu-1-game-studio/源文件清单.md b/docs/ip/ruanzhu-1-game-studio/源文件清单.md index 8b2bb1ff..2691d9fd 100644 --- a/docs/ip/ruanzhu-1-game-studio/源文件清单.md +++ b/docs/ip/ruanzhu-1-game-studio/源文件清单.md @@ -139,6 +139,6 @@ 4. **`*.min.js`**:压缩混淆文件。 5. **自动生成的类型声明**:`src/vite-env.d.ts` 等 `*.d.ts` 自动生成文件。 6. **工程配置/锁文件**:`package.json`、`package-lock.json`、`tsconfig*.json`、`vite.config.ts`、`index.html`、`.env*`、`.gitignore`、`.vscode/`、`evidence/` 等非原创业务源码的工程脚手架与辅料(不计入源代码行数)。 -7. **平台其他子系统**:yudao 基座(yudao-framework / yudao-gateway / yudao-module-system / yudao-module-infra / yudao-module-bpm / yudao-module-pay / yudao-server / yudao-dependencies / yudao-ui 等)、LittleJS 引擎(littlejsengine)、`spikes/` 试验代码等,均不属于本软件登记范围。 +7. **平台其他子系统**:yudao 基座(huijing-framework / huijing-gateway / huijing-module-system / huijing-module-infra / huijing-module-bpm / huijing-module-pay / huijing-server / huijing-dependencies / huijing-ui 等)、LittleJS 引擎(littlejsengine)、`spikes/` 试验代码等,均不属于本软件登记范围。 > 上述排除项确保鉴别材料仅体现著作权人的原创智力成果。 diff --git a/docs/ip/ruanzhu-3-cloud-gen-runtime/源代码鉴别材料.txt b/docs/ip/ruanzhu-3-cloud-gen-runtime/源代码鉴别材料.txt index d5e0d094..872d868d 100644 --- a/docs/ip/ruanzhu-3-cloud-gen-runtime/源代码鉴别材料.txt +++ b/docs/ip/ruanzhu-3-cloud-gen-runtime/源代码鉴别材料.txt @@ -1,19 +1,19 @@ 软件名称:绘境AI智能游戏生成与运行云服务系统 版本:V1.0 源代码鉴别材料(连续有效代码;按软著规范取前 1500 行 + 后 1500 行,每页≥50 行,转 PDF 时每页页眉标注「绘境AI智能游戏生成与运行云服务系统 V1.0」并加页码) 说明:本材料仅收录绘境AI自主开发的原创业务源代码(game-cloud 下 game-module-aigc / game-module-project / game-module-runtime / game-module-studio 四模块的 -api 与 -server 主干源码,共 123 个 .java 文件、源码物理行合计 10186 行)。 -已严格排除第三方开源与生成物:yudao-framework / yudao-gateway / yudao-module-system / yudao-module-infra / yudao-module-bpm / yudao-module-pay / yudao-server / yudao-dependencies / yudao-ui 等芋道(yudao)基座、LittleJS 引擎、node_modules、target/dist/build、*.min.js、自动生成代码、单元测试代码(src/test)。 +已严格排除第三方开源与生成物:huijing-framework / huijing-gateway / huijing-module-system / huijing-module-infra / huijing-module-bpm / huijing-module-pay / huijing-server / huijing-dependencies 等芋道(Yudao Cloud,MIT)基座、LittleJS 引擎、node_modules、target/dist/build、*.min.js、自动生成代码、单元测试代码(src/test)。 拼接顺序:按模块目录字典序(aigc → project → runtime → studio),模块内按文件路径字典序;每个源文件以「// ==================== 文件: 相对路径 ====================」分隔。 本软件源代码连续有效合计约 10432 行(含文件分隔标识行),本材料收录其中前 1500 行与后 1500 行,合计 3000 行。 ====================(以下为源代码前 1500 行)==================== -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/api/AigcApi.java ==================== -package cn.wanxiang.game.module.aigc.api; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/api/AigcApi.java ==================== +package com.wanxiang.huijing.game.module.aigc.api; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateReqDTO; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTaskRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTemplateDTO; -import cn.wanxiang.game.module.aigc.enums.ApiConstants; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateReqDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTaskRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTemplateDTO; +import com.wanxiang.huijing.game.module.aigc.enums.ApiConstants; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -30,9 +30,9 @@ import java.util.List; * * 用途:studio 创作主链路(一句话生成/进度轮询/重生成/模板浏览)委托 aigc 既有 {@code AigcTaskService}。 * 设计纪律:本 seam 为纯暴露层(@RestController @Primary 委托 service,不改 service),删除后 aigc 既有单测仍绿。 - * 跨模块只依赖 aigc 的 -api(cn.wanxiang.game.module.aigc.api/.dto),禁止 studio 依赖 aigc 的 -server,避免编译耦合。 + * 跨模块只依赖 aigc 的 -api(com.wanxiang.huijing.game.module.aigc.api/.dto),禁止 studio 依赖 aigc 的 -server,避免编译耦合。 * - * MVP 单体:同进程内由 {@code AigcApiImpl}(@RestController @Primary) 就地解析(仿 yudao DictDataApi); + * MVP 单体:同进程内由 {@code AigcApiImpl}(@RestController @Primary) 就地解析(仿 huijing DictDataApi); * 拆微服务后按 {@link ApiConstants#NAME} 走真实 Feign。 * * 写类 RPC(submitGenerate/getTask/retryTask)无登录上下文:userId 由调用方(studio 受信边界)显式传入, @@ -103,8 +103,8 @@ public interface AigcApi { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcGenerateReqDTO.java ==================== -package cn.wanxiang.game.module.aigc.dto; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcGenerateReqDTO.java ==================== +package com.wanxiang.huijing.game.module.aigc.dto; import lombok.Data; @@ -144,8 +144,8 @@ public class AigcGenerateReqDTO { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcGenerateRespDTO.java ==================== -package cn.wanxiang.game.module.aigc.dto; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcGenerateRespDTO.java ==================== +package com.wanxiang.huijing.game.module.aigc.dto; import lombok.Data; @@ -174,8 +174,8 @@ public class AigcGenerateRespDTO { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcTaskRespDTO.java ==================== -package cn.wanxiang.game.module.aigc.dto; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcTaskRespDTO.java ==================== +package com.wanxiang.huijing.game.module.aigc.dto; import lombok.Data; @@ -218,8 +218,8 @@ public class AigcTaskRespDTO { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcTemplateDTO.java ==================== -package cn.wanxiang.game.module.aigc.dto; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcTemplateDTO.java ==================== +package com.wanxiang.huijing.game.module.aigc.dto; import lombok.Data; @@ -228,7 +228,7 @@ import lombok.Data; * * 用途:studio 创作工作台「模板浏览/应用」(P-TPL-01/03) 透传 aigc 模板注册表(T-AGC-03)。 * 字段对齐 aigc-server 的 {@code TemplateRespVO}(不多不少),由 {@code AigcApiImpl} 转换后跨模块返回。 - * 跨模块只依赖 aigc 的 -api(cn.wanxiang.game.module.aigc.dto),禁止 studio 依赖 aigc 的 -server。 + * 跨模块只依赖 aigc 的 -api(com.wanxiang.huijing.game.module.aigc.dto),禁止 studio 依赖 aigc 的 -server。 * * @author 造梦AI */ @@ -258,8 +258,8 @@ public class AigcTemplateDTO { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/AigcTaskStatusEnum.java ==================== -package cn.wanxiang.game.module.aigc.enums; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/AigcTaskStatusEnum.java ==================== +package com.wanxiang.huijing.game.module.aigc.enums; import lombok.AllArgsConstructor; import lombok.Getter; @@ -327,18 +327,18 @@ public enum AigcTaskStatusEnum { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/ApiConstants.java ==================== -package cn.wanxiang.game.module.aigc.enums; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/ApiConstants.java ==================== +package com.wanxiang.huijing.game.module.aigc.enums; -import cn.iocoder.yudao.framework.common.enums.RpcConstants; +import com.wanxiang.huijing.framework.common.enums.RpcConstants; /** * aigc 模块 API 相关枚举(Feign 服务名 + RPC 前缀) * - * 仿 yudao system / project / ad 的 {@code ApiConstants} 风格:aigc 此前仅含枚举无 Feign 契约, + * 仿 huijing system / project / ad 的 {@code ApiConstants} 风格:aigc 此前仅含枚举无 Feign 契约, * Wave3 因 studio 创作主链路需委托 aigc 提交生成,故本类与 {@code AigcApi} seam 一并新增(additive,只暴露不改 service)。 - * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=yudao-server,所有模块编入一个 JAR), - * 同进程内调用由 {@code AigcApiImpl}(@RestController @Primary) 就地解析(与 yudao DictDataApi 同构); + * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=huijing-server,所有模块编入一个 JAR), + * 同进程内调用由 {@code AigcApiImpl}(@RestController @Primary) 就地解析(与 huijing DictDataApi 同构); * 拆微服务后该值即对应 aigc 服务的 spring.application.name。 * - PREFIX:RPC 接口前缀 /rpc-api/aigc,与业务端 /app-api、/admin-api 隔离,避免与业务路由冲突。 * @@ -363,10 +363,10 @@ public class ApiConstants { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/ErrorCodeConstants.java ==================== -package cn.wanxiang.game.module.aigc.enums; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/ErrorCodeConstants.java ==================== +package com.wanxiang.huijing.game.module.aigc.enums; -import cn.iocoder.yudao.framework.common.exception.ErrorCode; +import com.wanxiang.huijing.framework.common.exception.ErrorCode; /** * aigc 模块错误码枚举类 @@ -403,8 +403,8 @@ public interface ErrorCodeConstants { } -// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/FailureReasonEnum.java ==================== -package cn.wanxiang.game.module.aigc.enums; +// ==================== 文件: game-module-aigc/game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/FailureReasonEnum.java ==================== +package com.wanxiang.huijing.game.module.aigc.enums; import lombok.AllArgsConstructor; import lombok.Getter; @@ -436,18 +436,18 @@ public enum FailureReasonEnum { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/api/AigcApiImpl.java ==================== -package cn.wanxiang.game.module.aigc.api; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/api/AigcApiImpl.java ==================== +package com.wanxiang.huijing.game.module.aigc.api; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcGenerateReqVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.TemplateRespVO; -import cn.wanxiang.game.module.aigc.dal.dataobject.task.AigcTaskDO; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateReqDTO; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTaskRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTemplateDTO; -import cn.wanxiang.game.module.aigc.service.task.AigcTaskService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcGenerateReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.TemplateRespVO; +import com.wanxiang.huijing.game.module.aigc.dal.dataobject.task.AigcTaskDO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateReqDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTaskRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTemplateDTO; +import com.wanxiang.huijing.game.module.aigc.service.task.AigcTaskService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; import jakarta.annotation.Resource; import org.springframework.context.annotation.Primary; import org.springframework.validation.annotation.Validated; @@ -456,12 +456,12 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.stream.Collectors; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * AI 生成 API 实现(提供 RESTful 接口给 studio Feign 调用,对应 Wave3 aigc → studio seam) * - * @RestController + @Primary:与 yudao DictDataApiImpl 同构——单体内同进程调用走本实现,拆微服务后走 Feign。 + * @RestController + @Primary:与 huijing DictDataApiImpl 同构——单体内同进程调用走本实现,拆微服务后走 Feign。 * 纯暴露层:仅做 DTO↔VO/DO 转换并委托既有 {@link AigcTaskService},不写任何业务逻辑(业务在 service,不改)。 * 删除本类后 aigc 既有单测仍绿(service 零改动),即「只暴露不改」回滚门。 * @@ -540,22 +540,22 @@ public class AigcApiImpl implements AigcApi { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/AdminAigcTaskController.java ==================== -package cn.wanxiang.game.module.aigc.controller.admin.task; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/AdminAigcTaskController.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.admin.task; -import cn.wanxiang.game.module.aigc.controller.admin.task.vo.AigcTaskAdminPageReqVO; -import cn.wanxiang.game.module.aigc.controller.admin.task.vo.DifyCallbackReqVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; -import cn.wanxiang.game.module.aigc.convert.task.AigcTaskConvert; -import cn.wanxiang.game.module.aigc.dal.dataobject.task.AigcTaskDO; -import cn.wanxiang.game.module.aigc.service.callback.DifyCallbackService; -import cn.wanxiang.game.module.aigc.service.executor.CallbackSignatureVerifier; -import cn.wanxiang.game.module.aigc.service.task.AigcTaskService; -import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.security.core.LoginUser; -import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import com.wanxiang.huijing.game.module.aigc.controller.admin.task.vo.AigcTaskAdminPageReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.admin.task.vo.DifyCallbackReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; +import com.wanxiang.huijing.game.module.aigc.convert.task.AigcTaskConvert; +import com.wanxiang.huijing.game.module.aigc.dal.dataobject.task.AigcTaskDO; +import com.wanxiang.huijing.game.module.aigc.service.callback.DifyCallbackService; +import com.wanxiang.huijing.game.module.aigc.service.executor.CallbackSignatureVerifier; +import com.wanxiang.huijing.game.module.aigc.service.task.AigcTaskService; +import com.wanxiang.huijing.framework.common.enums.UserTypeEnum; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.security.core.LoginUser; +import com.wanxiang.huijing.framework.tenant.core.aop.TenantIgnore; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -573,8 +573,8 @@ import org.springframework.web.bind.annotation.*; import java.util.Collections; -import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 管理后台(game-admin)- AI 生成任务控制器(排障/健康监控) @@ -714,10 +714,10 @@ public class AdminAigcTaskController { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/vo/AigcTaskAdminPageReqVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.admin.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/vo/AigcTaskAdminPageReqVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.admin.task.vo; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import com.wanxiang.huijing.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -745,8 +745,8 @@ public class AigcTaskAdminPageReqVO extends PageParam { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/vo/DifyCallbackReqVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.admin.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/vo/DifyCallbackReqVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.admin.task.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -815,20 +815,20 @@ public class DifyCallbackReqVO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/AppAigcTaskController.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/AppAigcTaskController.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcGenerateReqVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcTaskPageReqVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.GenerateRespVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.TemplateRespVO; -import cn.wanxiang.game.module.aigc.convert.task.AigcTaskConvert; -import cn.wanxiang.game.module.aigc.dal.dataobject.task.AigcTaskDO; -import cn.wanxiang.game.module.aigc.service.task.AigcTaskService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcGenerateReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcTaskPageReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.GenerateRespVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.TemplateRespVO; +import com.wanxiang.huijing.game.module.aigc.convert.task.AigcTaskConvert; +import com.wanxiang.huijing.game.module.aigc.dal.dataobject.task.AigcTaskDO; +import com.wanxiang.huijing.game.module.aigc.service.task.AigcTaskService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.security.core.util.SecurityFrameworkUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -839,7 +839,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 产品端(game-studio)- AI 生成任务控制器("做得出"入口) @@ -910,8 +910,8 @@ public class AppAigcTaskController { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcGenerateReqVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcGenerateReqVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -948,10 +948,10 @@ public class AigcGenerateReqVO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcTaskPageReqVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcTaskPageReqVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task.vo; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import com.wanxiang.huijing.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -976,8 +976,8 @@ public class AigcTaskPageReqVO extends PageParam { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcTaskRespVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcTaskRespVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -1040,8 +1040,8 @@ public class AigcTaskRespVO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/GenerateRespVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/GenerateRespVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -1066,8 +1066,8 @@ public class GenerateRespVO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/TemplateRespVO.java ==================== -package cn.wanxiang.game.module.aigc.controller.app.task.vo; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/TemplateRespVO.java ==================== +package com.wanxiang.huijing.game.module.aigc.controller.app.task.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -1098,14 +1098,14 @@ public class TemplateRespVO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/convert/task/AigcTaskConvert.java ==================== -package cn.wanxiang.game.module.aigc.convert.task; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/convert/task/AigcTaskConvert.java ==================== +package com.wanxiang.huijing.game.module.aigc.convert.task; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.GenerateRespVO; -import cn.wanxiang.game.module.aigc.dal.dataobject.task.AigcTaskDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcTaskRespVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.GenerateRespVO; +import com.wanxiang.huijing.game.module.aigc.dal.dataobject.task.AigcTaskDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.common.util.object.BeanUtils; import java.util.List; import java.util.stream.Collectors; @@ -1164,11 +1164,11 @@ public class AigcTaskConvert { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/dal/dataobject/task/AigcTaskDO.java ==================== -package cn.wanxiang.game.module.aigc.dal.dataobject.task; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/dal/dataobject/task/AigcTaskDO.java ==================== +package com.wanxiang.huijing.game.module.aigc.dal.dataobject.task; -import cn.wanxiang.game.module.aigc.enums.AigcTaskStatusEnum; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.game.module.aigc.enums.AigcTaskStatusEnum; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1238,7 +1238,7 @@ public class AigcTaskDO extends TenantBaseDO { */ private BigDecimal qualityScore; /** - * 失败原因分类(status=3/4 必填,取值对齐 {@link cn.wanxiang.game.module.aigc.enums.FailureReasonEnum}) + * 失败原因分类(status=3/4 必填,取值对齐 {@link com.wanxiang.huijing.game.module.aigc.enums.FailureReasonEnum}) */ private String failureReason; /** @@ -1261,16 +1261,16 @@ public class AigcTaskDO extends TenantBaseDO { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/dal/mysql/task/AigcTaskMapper.java ==================== -package cn.wanxiang.game.module.aigc.dal.mysql.task; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/dal/mysql/task/AigcTaskMapper.java ==================== +package com.wanxiang.huijing.game.module.aigc.dal.mysql.task; -import cn.wanxiang.game.module.aigc.controller.admin.task.vo.AigcTaskAdminPageReqVO; -import cn.wanxiang.game.module.aigc.controller.app.task.vo.AigcTaskPageReqVO; -import cn.wanxiang.game.module.aigc.dal.dataobject.task.AigcTaskDO; -import cn.wanxiang.game.module.aigc.enums.AigcTaskStatusEnum; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.aigc.controller.admin.task.vo.AigcTaskAdminPageReqVO; +import com.wanxiang.huijing.game.module.aigc.controller.app.task.vo.AigcTaskPageReqVO; +import com.wanxiang.huijing.game.module.aigc.dal.dataobject.task.AigcTaskDO; +import com.wanxiang.huijing.game.module.aigc.enums.AigcTaskStatusEnum; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; import org.slf4j.Logger; @@ -1400,18 +1400,18 @@ public interface AigcTaskMapper extends BaseMapperX { } -// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/framework/executor/config/AigcExecutorConfiguration.java ==================== -package cn.wanxiang.game.module.aigc.framework.executor.config; +// ==================== 文件: game-module-aigc/game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/framework/executor/config/AigcExecutorConfiguration.java ==================== +package com.wanxiang.huijing.game.module.aigc.framework.executor.config; -import cn.wanxiang.game.module.aigc.dal.mysql.task.AigcTaskMapper; -import cn.wanxiang.game.module.aigc.service.callback.DifyCallbackService; -import cn.wanxiang.game.module.aigc.service.executor.AigcExecutorProperties; -import cn.wanxiang.game.module.aigc.service.executor.AigcGenerateExecutor; -import cn.wanxiang.game.module.aigc.service.executor.CallbackSignatureVerifier; -import cn.wanxiang.game.module.aigc.service.executor.ExecutorLlmClient; -import cn.wanxiang.game.module.aigc.service.executor.GameConfigSchemaValidator; -import cn.wanxiang.game.module.aigc.service.executor.PromptResourceLoader; -import cn.wanxiang.game.module.aigc.service.executor.WorkerDispatchClient; +import com.wanxiang.huijing.game.module.aigc.dal.mysql.task.AigcTaskMapper; +import com.wanxiang.huijing.game.module.aigc.service.callback.DifyCallbackService; +import com.wanxiang.huijing.game.module.aigc.service.executor.AigcExecutorProperties; +import com.wanxiang.huijing.game.module.aigc.service.executor.AigcGenerateExecutor; +import com.wanxiang.huijing.game.module.aigc.service.executor.CallbackSignatureVerifier; +import com.wanxiang.huijing.game.module.aigc.service.executor.ExecutorLlmClient; +import com.wanxiang.huijing.game.module.aigc.service.executor.GameConfigSchemaValidator; +import com.wanxiang.huijing.game.module.aigc.service.executor.PromptResourceLoader; +import com.wanxiang.huijing.game.module.aigc.service.executor.WorkerDispatchClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -1432,7 +1432,7 @@ import java.time.Clock; * 【Bean 注册铁律(§3 对抗核验补强)】执行器全部 Bean(AigcGenerateExecutor / ExecutorLlmClient / * PromptResourceLoader / GameConfigSchemaValidator)只准经本类 @Bean 方法注册,类上严禁 * @Component/@Service:亲核 starter-biz-tenant 依赖 starter-mq(aigc-server 间接携带),而 - * YudaoRedisMQConsumerAutoConfiguration 无条件注解、自带 @EnableScheduling(:39)→ 任意 profile + * HuijingRedisMQConsumerAutoConfiguration 无条件注解、自带 @EnableScheduling(:39)→ 任意 profile * 下全局 @Scheduled 注解处理器必然已开——若执行器被组件扫描注册,enabled=false 时 tick 照样起跳, * 总开关与回滚双双失效。守护单测:AigcGenerateExecutorTest「开关行为」用例以 ApplicationContextRunner * 断言 enabled 缺省/false 时 Bean 缺席。 @@ -1636,17 +1636,17 @@ public class AigcExecutorConfiguration { } -// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/store/DbPackageStore.java ==================== -package cn.wanxiang.game.module.runtime.service.pkg.store; +// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/store/DbPackageStore.java ==================== +package com.wanxiang.huijing.game.module.runtime.service.pkg.store; -import cn.wanxiang.game.module.runtime.dal.dataobject.pkg.RuntimePackageDO; -import cn.wanxiang.game.module.runtime.dal.mysql.pkg.RuntimePackageMapper; +import com.wanxiang.huijing.game.module.runtime.dal.dataobject.pkg.RuntimePackageDO; +import com.wanxiang.huijing.game.module.runtime.dal.mysql.pkg.RuntimePackageMapper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import static cn.wanxiang.game.module.runtime.enums.ErrorCodeConstants.RUNTIME_PACKAGE_NOT_READY; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.wanxiang.huijing.game.module.runtime.enums.ErrorCodeConstants.RUNTIME_PACKAGE_NOT_READY; +import static com.wanxiang.huijing.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 整包 manifest 存储 DB 实现(黄金闭环 §3.4 C4,MVP 无 OSS:读写 game_runtime_package.package_json) @@ -1690,8 +1690,8 @@ public class DbPackageStore implements PackageStore { } -// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/store/PackageStore.java ==================== -package cn.wanxiang.game.module.runtime.service.pkg.store; +// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/store/PackageStore.java ==================== +package com.wanxiang.huijing.game.module.runtime.service.pkg.store; /** * 整包 manifest 存储抽象(黄金闭环 §3.4 C4 新增,退场契约隔离层) @@ -1725,14 +1725,14 @@ public interface PackageStore { } -// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/session/RuntimeSessionService.java ==================== -package cn.wanxiang.game.module.runtime.service.session; +// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/session/RuntimeSessionService.java ==================== +package com.wanxiang.huijing.game.module.runtime.service.session; -import cn.wanxiang.game.module.runtime.controller.admin.runtime.vo.SessionPageReqVO; -import cn.wanxiang.game.module.runtime.controller.app.runtime.vo.SessionEndReqVO; -import cn.wanxiang.game.module.runtime.controller.app.runtime.vo.SessionStartReqVO; -import cn.wanxiang.game.module.runtime.dal.dataobject.session.RuntimeSessionDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.runtime.controller.admin.runtime.vo.SessionPageReqVO; +import com.wanxiang.huijing.game.module.runtime.controller.app.runtime.vo.SessionEndReqVO; +import com.wanxiang.huijing.game.module.runtime.controller.app.runtime.vo.SessionStartReqVO; +import com.wanxiang.huijing.game.module.runtime.dal.dataobject.session.RuntimeSessionDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; /** * 试玩会话 Service 接口 @@ -1777,17 +1777,17 @@ public interface RuntimeSessionService { } -// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/session/RuntimeSessionServiceImpl.java ==================== -package cn.wanxiang.game.module.runtime.service.session; +// ==================== 文件: game-module-runtime/game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/session/RuntimeSessionServiceImpl.java ==================== +package com.wanxiang.huijing.game.module.runtime.service.session; -import cn.wanxiang.game.module.runtime.controller.admin.runtime.vo.SessionPageReqVO; -import cn.wanxiang.game.module.runtime.controller.app.runtime.vo.SessionEndReqVO; -import cn.wanxiang.game.module.runtime.controller.app.runtime.vo.SessionStartReqVO; -import cn.wanxiang.game.module.runtime.dal.dataobject.session.RuntimeSessionDO; -import cn.wanxiang.game.module.runtime.dal.mysql.session.RuntimeSessionMapper; -import cn.wanxiang.game.module.runtime.enums.RuntimeSceneEnum; -import cn.wanxiang.game.module.runtime.enums.SessionStatusEnum; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.runtime.controller.admin.runtime.vo.SessionPageReqVO; +import com.wanxiang.huijing.game.module.runtime.controller.app.runtime.vo.SessionEndReqVO; +import com.wanxiang.huijing.game.module.runtime.controller.app.runtime.vo.SessionStartReqVO; +import com.wanxiang.huijing.game.module.runtime.dal.dataobject.session.RuntimeSessionDO; +import com.wanxiang.huijing.game.module.runtime.dal.mysql.session.RuntimeSessionMapper; +import com.wanxiang.huijing.game.module.runtime.enums.RuntimeSceneEnum; +import com.wanxiang.huijing.game.module.runtime.enums.SessionStatusEnum; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -1796,8 +1796,8 @@ import org.springframework.util.StringUtils; import java.time.Duration; import java.time.LocalDateTime; -import static cn.wanxiang.game.module.runtime.enums.ErrorCodeConstants.RUNTIME_SESSION_NOT_EXISTS; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.wanxiang.huijing.game.module.runtime.enums.ErrorCodeConstants.RUNTIME_SESSION_NOT_EXISTS; +import static com.wanxiang.huijing.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 试玩会话 Service 实现 @@ -1840,7 +1840,7 @@ public class RuntimeSessionServiceImpl implements RuntimeSessionService { session.setTraceId(reqVO.getTraceId()); session.setStartTime(LocalDateTime.now()); // 服务端记开局时间(时长以服务端 end-start 为准) // 2026-06-10 鉴权波 e2e 实证(P0-1):匿名试玩 @PermitAll 无登录态,DefaultDBFieldHandler.insertFill 仅在 - // getLoginUserId()!=null 时填 creator/updater(见 yudao-spring-boot-starter-mybatis .../handler/DefaultDBFieldHandler.java:38-43), + // getLoginUserId()!=null 时填 creator/updater(见 huijing-spring-boot-starter-mybatis .../handler/DefaultDBFieldHandler.java:38-43), // 匿名(userId==null)两列保持 null 撞 NOT NULL → SQLIntegrityConstraintViolationException 500。 // 故此处显式兜底 "0"(与 M-b 执行器系统身份 LoginUser id=0 同口径);显式值优先于 handler(handler 仅 isNull 才填,不覆盖)。 if (userId == null) { @@ -1914,17 +1914,17 @@ public class RuntimeSessionServiceImpl implements RuntimeSessionService { } -// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/ApiConstants.java ==================== -package cn.wanxiang.game.module.studio.enums; +// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/ApiConstants.java ==================== +package com.wanxiang.huijing.game.module.studio.enums; -import cn.iocoder.yudao.framework.common.enums.RpcConstants; +import com.wanxiang.huijing.framework.common.enums.RpcConstants; /** * studio 模块 API 相关枚举(Feign 服务名 + RPC 前缀) * - * 仿 yudao system / project / ad 的 {@code ApiConstants} 风格。MVP 单体下 studio 仅作 /app-api 创作编排入口, + * 仿 huijing system / project / ad 的 {@code ApiConstants} 风格。MVP 单体下 studio 仅作 /app-api 创作编排入口, * 暂不对外暴露跨模块 Feign 契约(studio 是调用方:调 project-api / aigc-api),本类保留以备拆微服务与统一前缀。 - * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=yudao-server,所有模块编入一个 JAR)。 + * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=huijing-server,所有模块编入一个 JAR)。 * - PREFIX:RPC 接口前缀 /rpc-api/studio,与业务端 /app-api 隔离(预留)。 * * @author 造梦AI @@ -1948,10 +1948,10 @@ public class ApiConstants { } -// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/ErrorCodeConstants.java ==================== -package cn.wanxiang.game.module.studio.enums; +// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/ErrorCodeConstants.java ==================== +package com.wanxiang.huijing.game.module.studio.enums; -import cn.iocoder.yudao.framework.common.exception.ErrorCode; +import com.wanxiang.huijing.framework.common.exception.ErrorCode; /** * studio 模块错误码枚举类 @@ -1984,8 +1984,8 @@ public interface ErrorCodeConstants { } -// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/StudioSessionStatusEnum.java ==================== -package cn.wanxiang.game.module.studio.enums; +// ==================== 文件: game-module-studio/game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/StudioSessionStatusEnum.java ==================== +package com.wanxiang.huijing.game.module.studio.enums; import lombok.AllArgsConstructor; import lombok.Getter; @@ -2030,20 +2030,20 @@ public enum StudioSessionStatusEnum { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/AppStudioController.java ==================== -package cn.wanxiang.game.module.studio.controller.app.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/AppStudioController.java ==================== +package com.wanxiang.huijing.game.module.studio.controller.app.studio; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioSessionRespVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioTaskChainRespVO; -import cn.wanxiang.game.module.studio.convert.studio.StudioConvert; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioSessionDO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; -import cn.wanxiang.game.module.studio.service.studio.StudioService; -import cn.wanxiang.game.module.aigc.dto.AigcTemplateDTO; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioSessionRespVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioTaskChainRespVO; +import com.wanxiang.huijing.game.module.studio.convert.studio.StudioConvert; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioSessionDO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; +import com.wanxiang.huijing.game.module.studio.service.studio.StudioService; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTemplateDTO; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.security.core.util.SecurityFrameworkUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -2054,7 +2054,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 产品端(game-studio)- 创作工作台控制器(创作主链路编排入口) @@ -2116,8 +2116,8 @@ public class AppStudioController { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioDraftCreateReqVO.java ==================== -package cn.wanxiang.game.module.studio.controller.app.studio.vo; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioDraftCreateReqVO.java ==================== +package com.wanxiang.huijing.game.module.studio.controller.app.studio.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -2154,8 +2154,8 @@ public class StudioDraftCreateReqVO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioGenerateReqVO.java ==================== -package cn.wanxiang.game.module.studio.controller.app.studio.vo; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioGenerateReqVO.java ==================== +package com.wanxiang.huijing.game.module.studio.controller.app.studio.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -2189,8 +2189,8 @@ public class StudioGenerateReqVO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioSessionRespVO.java ==================== -package cn.wanxiang.game.module.studio.controller.app.studio.vo; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioSessionRespVO.java ==================== +package com.wanxiang.huijing.game.module.studio.controller.app.studio.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -2224,8 +2224,8 @@ public class StudioSessionRespVO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioTaskChainRespVO.java ==================== -package cn.wanxiang.game.module.studio.controller.app.studio.vo; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioTaskChainRespVO.java ==================== +package com.wanxiang.huijing.game.module.studio.controller.app.studio.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -2267,13 +2267,13 @@ public class StudioTaskChainRespVO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/convert/studio/StudioConvert.java ==================== -package cn.wanxiang.game.module.studio.convert.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/convert/studio/StudioConvert.java ==================== +package com.wanxiang.huijing.game.module.studio.convert.studio; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioSessionRespVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioTaskChainRespVO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioSessionDO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioSessionRespVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioTaskChainRespVO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioSessionDO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; /** * studio DO ↔ VO 转换器(纯静态方法,仿 AdSlotConvert 范式;只做字段搬运,不写业务) @@ -2326,10 +2326,10 @@ public class StudioConvert { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioAssetDO.java ==================== -package cn.wanxiang.game.module.studio.dal.dataobject.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioAssetDO.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.dataobject.studio; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -2372,11 +2372,11 @@ public class StudioAssetDO extends TenantBaseDO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioSessionDO.java ==================== -package cn.wanxiang.game.module.studio.dal.dataobject.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioSessionDO.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.dataobject.studio; -import cn.wanxiang.game.module.studio.enums.StudioSessionStatusEnum; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.game.module.studio.enums.StudioSessionStatusEnum; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -2432,10 +2432,10 @@ public class StudioSessionDO extends TenantBaseDO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioTaskChainDO.java ==================== -package cn.wanxiang.game.module.studio.dal.dataobject.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioTaskChainDO.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.dataobject.studio; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -2496,12 +2496,12 @@ public class StudioTaskChainDO extends TenantBaseDO { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioAssetMapper.java ==================== -package cn.wanxiang.game.module.studio.dal.mysql.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioAssetMapper.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.mysql.studio; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioAssetDO; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioAssetDO; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -2531,14 +2531,14 @@ public interface StudioAssetMapper extends BaseMapperX { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioSessionMapper.java ==================== -package cn.wanxiang.game.module.studio.dal.mysql.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioSessionMapper.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.mysql.studio; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioSessionDO; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioSessionDO; +import com.wanxiang.huijing.framework.common.pojo.PageParam; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import org.apache.ibatis.annotations.Mapper; /** @@ -2566,12 +2566,12 @@ public interface StudioSessionMapper extends BaseMapperX { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioTaskChainMapper.java ==================== -package cn.wanxiang.game.module.studio.dal.mysql.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioTaskChainMapper.java ==================== +package com.wanxiang.huijing.game.module.studio.dal.mysql.studio; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -2610,14 +2610,14 @@ public interface StudioTaskChainMapper extends BaseMapperX { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/service/studio/StudioService.java ==================== -package cn.wanxiang.game.module.studio.service.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/service/studio/StudioService.java ==================== +package com.wanxiang.huijing.game.module.studio.service.studio; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioSessionDO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; -import cn.wanxiang.game.module.aigc.dto.AigcTemplateDTO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioSessionDO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTemplateDTO; import java.util.List; @@ -2689,24 +2689,24 @@ public interface StudioService { } -// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/service/studio/StudioServiceImpl.java ==================== -package cn.wanxiang.game.module.studio.service.studio; +// ==================== 文件: game-module-studio/game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/service/studio/StudioServiceImpl.java ==================== +package com.wanxiang.huijing.game.module.studio.service.studio; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; -import cn.wanxiang.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioSessionDO; -import cn.wanxiang.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; -import cn.wanxiang.game.module.studio.dal.mysql.studio.StudioSessionMapper; -import cn.wanxiang.game.module.studio.dal.mysql.studio.StudioTaskChainMapper; -import cn.wanxiang.game.module.studio.enums.StudioSessionStatusEnum; -import cn.wanxiang.game.module.aigc.api.AigcApi; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateReqDTO; -import cn.wanxiang.game.module.aigc.dto.AigcGenerateRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTaskRespDTO; -import cn.wanxiang.game.module.aigc.dto.AigcTemplateDTO; -import cn.wanxiang.game.module.aigc.enums.AigcTaskStatusEnum; -import cn.wanxiang.game.module.project.api.ProjectApi; -import cn.iocoder.yudao.module.system.api.passport.PlayerApi; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioDraftCreateReqVO; +import com.wanxiang.huijing.game.module.studio.controller.app.studio.vo.StudioGenerateReqVO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioSessionDO; +import com.wanxiang.huijing.game.module.studio.dal.dataobject.studio.StudioTaskChainDO; +import com.wanxiang.huijing.game.module.studio.dal.mysql.studio.StudioSessionMapper; +import com.wanxiang.huijing.game.module.studio.dal.mysql.studio.StudioTaskChainMapper; +import com.wanxiang.huijing.game.module.studio.enums.StudioSessionStatusEnum; +import com.wanxiang.huijing.game.module.aigc.api.AigcApi; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateReqDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcGenerateRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTaskRespDTO; +import com.wanxiang.huijing.game.module.aigc.dto.AigcTemplateDTO; +import com.wanxiang.huijing.game.module.aigc.enums.AigcTaskStatusEnum; +import com.wanxiang.huijing.game.module.project.api.ProjectApi; +import com.wanxiang.huijing.module.system.api.passport.PlayerApi; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -2716,8 +2716,8 @@ import org.springframework.util.StringUtils; import java.util.List; import java.util.Objects; -import static cn.wanxiang.game.module.studio.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.wanxiang.huijing.game.module.studio.enums.ErrorCodeConstants.*; +import static com.wanxiang.huijing.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 创作工作台 Service 实现(创作主链路编排核心) diff --git a/docs/ip/ruanzhu-3-cloud-gen-runtime/源文件清单.md b/docs/ip/ruanzhu-3-cloud-gen-runtime/源文件清单.md index 62ea3736..a0dc7bc2 100644 --- a/docs/ip/ruanzhu-3-cloud-gen-runtime/源文件清单.md +++ b/docs/ip/ruanzhu-3-cloud-gen-runtime/源文件清单.md @@ -8,7 +8,7 @@ - **纳入范围**:`game-cloud` 后端中由开发者自主开发的四个原创业务模块——`game-module-aigc`(AI 生成)、`game-module-project`(项目/版本)、`game-module-runtime`(预览/试玩/包服务)、`game-module-studio`(创作主链路编排),含各自的 `-api`(对外契约)与 `-server`(业务实现),仅取 `src/main` 下的 `.java` 源文件。 - **代码根目录**:`/Users/lili/Project/games-development-ai/game-cloud` -- **统一包名**:`cn.wanxiang.game.module.<模块>` +- **统一包名**:`com.wanxiang.huijing.game.module.<模块>` - **纳入文件数**:**123** 个 `.java` 文件 - **物理行数合计**:**10186** 行(非空行 9064 行) - **排序规则**:按模块目录字典序(aigc → project → runtime → studio),模块内按文件路径字典序 @@ -27,7 +27,7 @@ 本登记**严格排除**以下第三方开源代码、框架基座、引擎与生成物,未将其计入行数、未纳入源代码鉴别材料: -1. **芋道(yudao / Yudao Cloud)开源框架基座**:`yudao-framework`、`yudao-gateway`、`yudao-module-system`、`yudao-module-infra`、`yudao-module-bpm`、`yudao-module-pay`、`yudao-server`、`yudao-dependencies`、`yudao-ui`。 +1. **芋道(Yudao Cloud,MIT)开源框架基座**(对应包 `com.wanxiang.huijing.{framework,module(system·infra·bpm·pay),server,gateway}.*`):`huijing-framework`、`huijing-gateway`、`huijing-module-system`、`huijing-module-infra`、`huijing-module-bpm`、`huijing-module-pay`、`huijing-server`、`huijing-dependencies`。 2. **运行容器引擎**:LittleJS 引擎(littlejsengine)及其增强发行版引擎本体。 3. **依赖与生成产物目录**:`node_modules`、`target`、`dist`、`build`、`.image`、`script`/`scripts`(脚手架/运维脚本)。 4. **压缩与自动生成文件**:`*.min.js`、IDE/构建自动生成文件。 @@ -48,144 +48,144 @@ | 相对路径 | 行数 | |---|---:| -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/api/AigcApi.java | 96 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcGenerateReqDTO.java | 39 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcGenerateRespDTO.java | 28 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcTaskRespDTO.java | 42 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/dto/AigcTemplateDTO.java | 38 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/AigcTaskStatusEnum.java | 67 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/ApiConstants.java | 34 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/ErrorCodeConstants.java | 38 | -| game-module-aigc-api/src/main/java/cn/wanxiang/game/module/aigc/enums/FailureReasonEnum.java | 31 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/api/AigcApiImpl.java | 102 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/AdminAigcTaskController.java | 172 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/vo/AigcTaskAdminPageReqVO.java | 29 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/admin/task/vo/DifyCallbackReqVO.java | 68 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/AppAigcTaskController.java | 93 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcGenerateReqVO.java | 36 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcTaskPageReqVO.java | 26 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/AigcTaskRespVO.java | 62 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/GenerateRespVO.java | 24 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/controller/app/task/vo/TemplateRespVO.java | 30 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/convert/task/AigcTaskConvert.java | 64 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/dal/dataobject/task/AigcTaskDO.java | 95 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/dal/mysql/task/AigcTaskMapper.java | 137 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/framework/executor/config/AigcExecutorConfiguration.java | 128 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/callback/DifyCallbackService.java | 34 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/callback/DifyCallbackServiceImpl.java | 128 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/callback/DifyCallbackTxService.java | 506 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/AigcExecutorProperties.java | 175 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/AigcGenerateExecutor.java | 646 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/AigcTemplateConstants.java | 60 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/CallbackSignatureVerifier.java | 138 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/ExecutorLlmClient.java | 414 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/GameConfigSchemaValidator.java | 127 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/PromptResourceLoader.java | 402 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/executor/WorkerDispatchClient.java | 147 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/task/AigcTaskService.java | 94 | -| game-module-aigc-server/src/main/java/cn/wanxiang/game/module/aigc/service/task/AigcTaskServiceImpl.java | 245 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/api/AigcApi.java | 96 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcGenerateReqDTO.java | 39 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcGenerateRespDTO.java | 28 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcTaskRespDTO.java | 42 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/dto/AigcTemplateDTO.java | 38 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/AigcTaskStatusEnum.java | 67 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/ApiConstants.java | 34 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/ErrorCodeConstants.java | 38 | +| game-module-aigc-api/src/main/java/com/wanxiang/huijing/game/module/aigc/enums/FailureReasonEnum.java | 31 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/api/AigcApiImpl.java | 102 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/AdminAigcTaskController.java | 172 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/vo/AigcTaskAdminPageReqVO.java | 29 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/admin/task/vo/DifyCallbackReqVO.java | 68 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/AppAigcTaskController.java | 93 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcGenerateReqVO.java | 36 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcTaskPageReqVO.java | 26 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/AigcTaskRespVO.java | 62 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/GenerateRespVO.java | 24 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/controller/app/task/vo/TemplateRespVO.java | 30 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/convert/task/AigcTaskConvert.java | 64 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/dal/dataobject/task/AigcTaskDO.java | 95 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/dal/mysql/task/AigcTaskMapper.java | 137 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/framework/executor/config/AigcExecutorConfiguration.java | 128 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/callback/DifyCallbackService.java | 34 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/callback/DifyCallbackServiceImpl.java | 128 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/callback/DifyCallbackTxService.java | 506 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/AigcExecutorProperties.java | 175 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/AigcGenerateExecutor.java | 646 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/AigcTemplateConstants.java | 60 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/CallbackSignatureVerifier.java | 138 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/ExecutorLlmClient.java | 414 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/GameConfigSchemaValidator.java | 127 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/PromptResourceLoader.java | 402 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/executor/WorkerDispatchClient.java | 147 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/task/AigcTaskService.java | 94 | +| game-module-aigc-server/src/main/java/com/wanxiang/huijing/game/module/aigc/service/task/AigcTaskServiceImpl.java | 245 | ### 3.2 game-module-project(项目/版本,34 个文件,2275 行) | 相对路径 | 行数 | |---|---:| -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/api/ProjectApi.java | 119 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/api/ProjectVersionApi.java | 43 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/dto/ProjectFeedMetaDTO.java | 37 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/dto/ProjectVersionCreateForPackageReqDTO.java | 42 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/enums/ApiConstants.java | 30 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/enums/ErrorCodeConstants.java | 29 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/enums/ProjectStatusEnum.java | 70 | -| game-module-project-api/src/main/java/cn/wanxiang/game/module/project/enums/ReviewDecisionEnum.java | 27 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/api/ProjectApiImpl.java | 70 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/api/ProjectVersionApiImpl.java | 35 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/admin/project/AdminProjectController.java | 101 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/admin/project/vo/ProjectReviewPageReqVO.java | 21 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/admin/project/vo/ReviewReqVO.java | 33 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/AppProjectController.java | 86 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/GateResultVO.java | 68 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectCreateReqVO.java | 26 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectDraftReqVO.java | 36 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectPageReqVO.java | 23 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectPublishReqVO.java | 26 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectPublishRespVO.java | 28 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/controller/app/project/vo/ProjectRespVO.java | 60 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/convert/project/ProjectConvert.java | 71 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/dataobject/project/ProjectDO.java | 83 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/dataobject/review/ReviewRecordDO.java | 53 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/dataobject/version/GameVersionDO.java | 61 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/mysql/project/ProjectMapper.java | 87 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/mysql/review/ReviewRecordMapper.java | 14 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/dal/mysql/version/GameVersionMapper.java | 29 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/project/ProjectService.java | 138 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/project/ProjectServiceImpl.java | 405 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/publish/PublishOrchestrationService.java | 44 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/publish/PublishOrchestrationServiceImpl.java | 122 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/version/GameVersionService.java | 44 | -| game-module-project-server/src/main/java/cn/wanxiang/game/module/project/service/version/GameVersionServiceImpl.java | 114 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/api/ProjectApi.java | 119 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/api/ProjectVersionApi.java | 43 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/dto/ProjectFeedMetaDTO.java | 37 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/dto/ProjectVersionCreateForPackageReqDTO.java | 42 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/enums/ApiConstants.java | 30 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/enums/ErrorCodeConstants.java | 29 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/enums/ProjectStatusEnum.java | 70 | +| game-module-project-api/src/main/java/com/wanxiang/huijing/game/module/project/enums/ReviewDecisionEnum.java | 27 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/api/ProjectApiImpl.java | 70 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/api/ProjectVersionApiImpl.java | 35 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/admin/project/AdminProjectController.java | 101 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/admin/project/vo/ProjectReviewPageReqVO.java | 21 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/admin/project/vo/ReviewReqVO.java | 33 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/AppProjectController.java | 86 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/GateResultVO.java | 68 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectCreateReqVO.java | 26 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectDraftReqVO.java | 36 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectPageReqVO.java | 23 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectPublishReqVO.java | 26 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectPublishRespVO.java | 28 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/controller/app/project/vo/ProjectRespVO.java | 60 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/convert/project/ProjectConvert.java | 71 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/dataobject/project/ProjectDO.java | 83 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/dataobject/review/ReviewRecordDO.java | 53 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/dataobject/version/GameVersionDO.java | 61 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/mysql/project/ProjectMapper.java | 87 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/mysql/review/ReviewRecordMapper.java | 14 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/dal/mysql/version/GameVersionMapper.java | 29 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/project/ProjectService.java | 138 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/project/ProjectServiceImpl.java | 405 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/publish/PublishOrchestrationService.java | 44 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/publish/PublishOrchestrationServiceImpl.java | 122 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/version/GameVersionService.java | 44 | +| game-module-project-server/src/main/java/com/wanxiang/huijing/game/module/project/service/version/GameVersionServiceImpl.java | 114 | ### 3.3 game-module-runtime(预览/试玩/包服务,36 个文件,2256 行) | 相对路径 | 行数 | |---|---:| -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/api/RuntimePackageApi.java | 83 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/dto/RuntimePackageStoreReqDTO.java | 79 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/ApiConstants.java | 32 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/BuildStatusEnum.java | 63 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/ErrorCodeConstants.java | 39 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/PackageStatusEnum.java | 65 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/RuntimeSceneEnum.java | 39 | -| game-module-runtime-api/src/main/java/cn/wanxiang/game/module/runtime/enums/SessionStatusEnum.java | 55 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/api/RuntimePackageApiImpl.java | 49 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/AdminRuntimeController.java | 84 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/vo/BuildRespVO.java | 46 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/vo/CompileReqVO.java | 25 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/vo/CompileRespVO.java | 21 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/vo/SessionPageReqVO.java | 27 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/admin/runtime/vo/SessionRespVO.java | 44 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/AppRuntimeController.java | 126 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/vo/RuntimePackageRespVO.java | 54 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/vo/SandboxPolicyVO.java | 25 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/vo/SessionEndReqVO.java | 29 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/vo/SessionStartReqVO.java | 45 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/controller/app/runtime/vo/SessionStartRespVO.java | 25 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/convert/runtime/RuntimeConvert.java | 181 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/dataobject/build/RuntimeBuildDO.java | 78 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/dataobject/pkg/RuntimePackageDO.java | 91 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/dataobject/session/RuntimeSessionDO.java | 87 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/mysql/build/RuntimeBuildMapper.java | 39 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/mysql/pkg/RuntimePackageMapper.java | 29 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/dal/mysql/session/RuntimeSessionMapper.java | 42 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/build/RuntimeBuildService.java | 35 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/build/RuntimeBuildServiceImpl.java | 74 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/RuntimePackageService.java | 69 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/RuntimePackageServiceImpl.java | 206 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/store/DbPackageStore.java | 52 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/pkg/store/PackageStore.java | 33 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/session/RuntimeSessionService.java | 50 | -| game-module-runtime-server/src/main/java/cn/wanxiang/game/module/runtime/service/session/RuntimeSessionServiceImpl.java | 135 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/api/RuntimePackageApi.java | 83 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/dto/RuntimePackageStoreReqDTO.java | 79 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/ApiConstants.java | 32 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/BuildStatusEnum.java | 63 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/ErrorCodeConstants.java | 39 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/PackageStatusEnum.java | 65 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/RuntimeSceneEnum.java | 39 | +| game-module-runtime-api/src/main/java/com/wanxiang/huijing/game/module/runtime/enums/SessionStatusEnum.java | 55 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/api/RuntimePackageApiImpl.java | 49 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/AdminRuntimeController.java | 84 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/vo/BuildRespVO.java | 46 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/vo/CompileReqVO.java | 25 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/vo/CompileRespVO.java | 21 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/vo/SessionPageReqVO.java | 27 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/admin/runtime/vo/SessionRespVO.java | 44 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/AppRuntimeController.java | 126 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/vo/RuntimePackageRespVO.java | 54 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/vo/SandboxPolicyVO.java | 25 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/vo/SessionEndReqVO.java | 29 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/vo/SessionStartReqVO.java | 45 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/controller/app/runtime/vo/SessionStartRespVO.java | 25 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/convert/runtime/RuntimeConvert.java | 181 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/dataobject/build/RuntimeBuildDO.java | 78 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/dataobject/pkg/RuntimePackageDO.java | 91 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/dataobject/session/RuntimeSessionDO.java | 87 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/mysql/build/RuntimeBuildMapper.java | 39 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/mysql/pkg/RuntimePackageMapper.java | 29 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/dal/mysql/session/RuntimeSessionMapper.java | 42 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/build/RuntimeBuildService.java | 35 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/build/RuntimeBuildServiceImpl.java | 74 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/RuntimePackageService.java | 69 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/RuntimePackageServiceImpl.java | 206 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/store/DbPackageStore.java | 52 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/pkg/store/PackageStore.java | 33 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/session/RuntimeSessionService.java | 50 | +| game-module-runtime-server/src/main/java/com/wanxiang/huijing/game/module/runtime/service/session/RuntimeSessionServiceImpl.java | 135 | ### 3.4 game-module-studio(创作主链路编排,17 个文件,1060 行) | 相对路径 | 行数 | |---|---:| -| game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/ApiConstants.java | 32 | -| game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/ErrorCodeConstants.java | 34 | -| game-module-studio-api/src/main/java/cn/wanxiang/game/module/studio/enums/StudioSessionStatusEnum.java | 44 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/AppStudioController.java | 84 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioDraftCreateReqVO.java | 36 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioGenerateReqVO.java | 33 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioSessionRespVO.java | 33 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/controller/app/studio/vo/StudioTaskChainRespVO.java | 41 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/convert/studio/StudioConvert.java | 57 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioAssetDO.java | 44 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioSessionDO.java | 58 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/dataobject/studio/StudioTaskChainDO.java | 62 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioAssetMapper.java | 33 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioSessionMapper.java | 33 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/dal/mysql/studio/StudioTaskChainMapper.java | 42 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/service/studio/StudioService.java | 77 | -| game-module-studio-server/src/main/java/cn/wanxiang/game/module/studio/service/studio/StudioServiceImpl.java | 317 | +| game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/ApiConstants.java | 32 | +| game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/ErrorCodeConstants.java | 34 | +| game-module-studio-api/src/main/java/com/wanxiang/huijing/game/module/studio/enums/StudioSessionStatusEnum.java | 44 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/AppStudioController.java | 84 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioDraftCreateReqVO.java | 36 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioGenerateReqVO.java | 33 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioSessionRespVO.java | 33 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/controller/app/studio/vo/StudioTaskChainRespVO.java | 41 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/convert/studio/StudioConvert.java | 57 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioAssetDO.java | 44 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioSessionDO.java | 58 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/dataobject/studio/StudioTaskChainDO.java | 62 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioAssetMapper.java | 33 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioSessionMapper.java | 33 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/dal/mysql/studio/StudioTaskChainMapper.java | 42 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/service/studio/StudioService.java | 77 | +| game-module-studio-server/src/main/java/com/wanxiang/huijing/game/module/studio/service/studio/StudioServiceImpl.java | 317 | --- diff --git a/docs/ip/ruanzhu-4-cloud-feed-monetize/源代码鉴别材料.txt b/docs/ip/ruanzhu-4-cloud-feed-monetize/源代码鉴别材料.txt index cbfe97b0..77564979 100644 --- a/docs/ip/ruanzhu-4-cloud-feed-monetize/源代码鉴别材料.txt +++ b/docs/ip/ruanzhu-4-cloud-feed-monetize/源代码鉴别材料.txt @@ -1,16 +1,16 @@ 软件名称:绘境AI游戏分发变现与合规云服务系统 版本:V1.0 -说明:本鉴别材料为本软件原创业务源代码(Java,包名 cn.wanxiang.game),按纳入文件目录字典序连续拼接。 +说明:本鉴别材料为本软件原创业务源代码(Java,包名 com.wanxiang.huijing.game.module.*),按纳入文件目录字典序连续拼接。 统计:纳入原创源文件 210 个;连续有效代码(含文件分隔标记行)共 13051 行(其中物理代码行 12841 行、空白行 1679 行、非空白有效行 11162 行)。 因总行数超过 3000 行,依软著登记规范取【前 1500 行 + 后 1500 行】,中间部分以分隔标识省略。完整文件清单见《源文件清单.md》。 -(已严格排除第三方与生成物:yudao 基座 framework/gateway/system/infra/bpm/pay/server/dependencies/ui、node_modules、target、各模块 src/test 测试代码、littlejsengine、spikes、*.min.js 等。) +(已严格排除第三方与生成物:芋道(Yudao Cloud,MIT)基座 huijing-framework/gateway/module-system/module-infra/module-bpm/module-pay/server/dependencies、node_modules、target、各模块 src/test 测试代码、littlejsengine、spikes、*.min.js 等。) ================================================================================ 【前 1500 行】 -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/api/AdRevenueApi.java ===== -package cn.wanxiang.game.module.ad.api; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/api/AdRevenueApi.java ===== +package com.wanxiang.huijing.game.module.ad.api; -import cn.wanxiang.game.module.ad.dto.AdRevenueRespDTO; -import cn.wanxiang.game.module.ad.enums.ApiConstants; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.game.module.ad.dto.AdRevenueRespDTO; +import com.wanxiang.huijing.game.module.ad.enums.ApiConstants; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -29,9 +29,9 @@ import java.util.List; * * 对应契约 ad.yaml x-feign-contracts:ad 通过本 -api 暴露给 trade 的同步 Feign 契约(AdRevenueApi)。 * 用途:trade 的 T+1 结算 job 据此拉未结算广告收入做分账,入账成功后回标已结算。 - * 跨模块只依赖 ad 的 -api(cn.wanxiang.game.module.ad.api),禁止 trade 依赖 ad 的 -server,避免编译耦合。 + * 跨模块只依赖 ad 的 -api(com.wanxiang.huijing.game.module.ad.api),禁止 trade 依赖 ad 的 -server,避免编译耦合。 * - * MVP 单体:同进程内由 {@code AdRevenueApiImpl}(@RestController @Primary) 就地解析(仿 yudao DictDataApi); + * MVP 单体:同进程内由 {@code AdRevenueApiImpl}(@RestController @Primary) 就地解析(仿 huijing DictDataApi); * 拆微服务后按 {@link ApiConstants#NAME} 走真实 Feign。 * * @author 造梦AI @@ -71,8 +71,8 @@ public interface AdRevenueApi { CommonResult markSettled(@RequestBody List revenueIds); } -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/dto/AdRevenueRespDTO.java ===== -package cn.wanxiang.game.module.ad.dto; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/dto/AdRevenueRespDTO.java ===== +package com.wanxiang.huijing.game.module.ad.dto; import lombok.Data; @@ -81,7 +81,7 @@ import java.time.LocalDate; /** * 广告收入台账跨模块传输对象(ad → trade,对应 ad.yaml x-feign-contracts AdRevenueRespDTO) * - * 用途:trade 的 T+1 结算 job 经 {@link cn.wanxiang.game.module.ad.api.AdRevenueApi#getUnsettledRevenue} + * 用途:trade 的 T+1 结算 job 经 {@link com.wanxiang.huijing.game.module.ad.api.AdRevenueApi#getUnsettledRevenue} * 拉取未结算广告收入,按 creatorUserId 聚合 ×creator_share 分账;分账入账后经 markSettled 回标已结算。 * 字段严格对齐契约 x-feign-contracts.operations[getUnsettledRevenue].output.itemFields(不多不少)。 * @@ -112,8 +112,8 @@ public class AdRevenueRespDTO { private String traceId; } -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/AdEventTypeEnum.java ===== -package cn.wanxiang.game.module.ad.enums; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/AdEventTypeEnum.java ===== +package com.wanxiang.huijing.game.module.ad.enums; import lombok.AllArgsConstructor; import lombok.Getter; @@ -171,8 +171,8 @@ public enum AdEventTypeEnum { } } -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/AdSettleStatusEnum.java ===== -package cn.wanxiang.game.module.ad.enums; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/AdSettleStatusEnum.java ===== +package com.wanxiang.huijing.game.module.ad.enums; import lombok.AllArgsConstructor; import lombok.Getter; @@ -210,17 +210,17 @@ public enum AdSettleStatusEnum { } } -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/ApiConstants.java ===== -package cn.wanxiang.game.module.ad.enums; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/ApiConstants.java ===== +package com.wanxiang.huijing.game.module.ad.enums; -import cn.iocoder.yudao.framework.common.enums.RpcConstants; +import com.wanxiang.huijing.framework.common.enums.RpcConstants; /** * ad 模块 API 相关枚举(Feign 服务名 + RPC 前缀) * - * 仿 yudao system 的 {@code ApiConstants} 风格:game 模块此前无 Feign,本模块建立此模式,供后续 game 模块克隆。 - * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=yudao-server,所有模块编入一个 JAR), - * 同进程内调用由本模块 {@code @RestController @Primary} 实现类就地解析(与 yudao DictDataApi 同构); + * 仿 huijing system 的 {@code ApiConstants} 风格:game 模块此前无 Feign,本模块建立此模式,供后续 game 模块克隆。 + * - NAME:Feign 目标服务名。MVP 为单体(spring.application.name=huijing-server,所有模块编入一个 JAR), + * 同进程内调用由本模块 {@code @RestController @Primary} 实现类就地解析(与 huijing DictDataApi 同构); * 拆分微服务后该值即对应 ad 服务的 spring.application.name。 * - PREFIX:RPC 接口前缀 /rpc-api/ad,与业务端 /app-api、/admin-api 隔离,避免与业务路由冲突。 * @@ -244,10 +244,10 @@ public class ApiConstants { public static final String VERSION = "1.0.0"; } -// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/ErrorCodeConstants.java ===== -package cn.wanxiang.game.module.ad.enums; +// ===== 文件: game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/ErrorCodeConstants.java ===== +package com.wanxiang.huijing.game.module.ad.enums; -import cn.iocoder.yudao.framework.common.exception.ErrorCode; +import com.wanxiang.huijing.framework.common.exception.ErrorCode; /** * ad 模块错误码枚举类 @@ -284,14 +284,14 @@ public interface ErrorCodeConstants { ErrorCode AD_REVENUE_SETTLE_STATUS_INVALID = new ErrorCode(1_111_003_000, "广告收入结算状态非法流转"); } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/api/AdRevenueApiImpl.java ===== -package cn.wanxiang.game.module.ad.api; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/api/AdRevenueApiImpl.java ===== +package com.wanxiang.huijing.game.module.ad.api; -import cn.wanxiang.game.module.ad.convert.AdRevenueConvert; -import cn.wanxiang.game.module.ad.dal.dataobject.revenue.AdRevenueDO; -import cn.wanxiang.game.module.ad.dto.AdRevenueRespDTO; -import cn.wanxiang.game.module.ad.service.revenue.AdRevenueService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.game.module.ad.convert.AdRevenueConvert; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.revenue.AdRevenueDO; +import com.wanxiang.huijing.game.module.ad.dto.AdRevenueRespDTO; +import com.wanxiang.huijing.game.module.ad.service.revenue.AdRevenueService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; import jakarta.annotation.Resource; import org.springframework.context.annotation.Primary; import org.springframework.validation.annotation.Validated; @@ -300,12 +300,12 @@ import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.util.List; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 广告收入台账 API 实现(提供 RESTful 接口给 trade Feign 调用,对应 ad.yaml x-feign-contracts) * - * @RestController + @Primary:与 yudao DictDataApiImpl 同构——单体内同进程调用走本实现,拆微服务后走 Feign。 + * @RestController + @Primary:与 huijing DictDataApiImpl 同构——单体内同进程调用走本实现,拆微服务后走 Feign。 * 仅做契约转换(DO → DTO)并委托 Service,不写业务逻辑(业务在 AdRevenueService)。 * * @author 造梦AI @@ -330,16 +330,16 @@ public class AdRevenueApiImpl implements AdRevenueApi { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/AdRevenueController.java ===== -package cn.wanxiang.game.module.ad.controller.admin; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/AdRevenueController.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin; -import cn.wanxiang.game.module.ad.controller.admin.vo.revenue.AdRevenuePageReqVO; -import cn.wanxiang.game.module.ad.controller.admin.vo.revenue.AdRevenueRespVO; -import cn.wanxiang.game.module.ad.convert.AdRevenueConvert; -import cn.wanxiang.game.module.ad.dal.dataobject.revenue.AdRevenueDO; -import cn.wanxiang.game.module.ad.service.revenue.AdRevenueService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue.AdRevenuePageReqVO; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue.AdRevenueRespVO; +import com.wanxiang.huijing.game.module.ad.convert.AdRevenueConvert; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.revenue.AdRevenueDO; +import com.wanxiang.huijing.game.module.ad.service.revenue.AdRevenueService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -350,7 +350,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 管理后台(game-admin)- 广告收入台账控制器(归因/计费对账,只读) @@ -378,17 +378,17 @@ public class AdRevenueController { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/AdSlotController.java ===== -package cn.wanxiang.game.module.ad.controller.admin; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/AdSlotController.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotPageReqVO; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotRespVO; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotSaveReqVO; -import cn.wanxiang.game.module.ad.convert.AdSlotConvert; -import cn.wanxiang.game.module.ad.dal.dataobject.slot.AdSlotDO; -import cn.wanxiang.game.module.ad.service.slot.AdSlotService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotPageReqVO; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotRespVO; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotSaveReqVO; +import com.wanxiang.huijing.game.module.ad.convert.AdSlotConvert; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.slot.AdSlotDO; +import com.wanxiang.huijing.game.module.ad.service.slot.AdSlotService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -398,7 +398,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 管理后台(game-admin)- 广告位配置控制器 @@ -459,10 +459,10 @@ public class AdSlotController { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/revenue/AdRevenuePageReqVO.java ===== -package cn.wanxiang.game.module.ad.controller.admin.vo.revenue; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/revenue/AdRevenuePageReqVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import com.wanxiang.huijing.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -473,7 +473,7 @@ import java.time.LocalDate; /** * 广告收入台账分页 Request VO(admin 对账,对齐 ad.yaml /admin-api/ad/revenue/page) * - * 分页参数复用 Yudao PageParam;可选按广告位/游戏/创作者/事件类型/结算状态/归集日筛选(命中相应索引)。 + * 分页参数复用 Huijing PageParam;可选按广告位/游戏/创作者/事件类型/结算状态/归集日筛选(命中相应索引)。 * eventType 以 tinyint 入参(1 impression / 2 reward),与 DO 一致,避免编码转换散落到 Mapper。 * * @author 造梦AI @@ -503,8 +503,8 @@ public class AdRevenuePageReqVO extends PageParam { private LocalDate statDate; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/revenue/AdRevenueRespVO.java ===== -package cn.wanxiang.game.module.ad.controller.admin.vo.revenue; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/revenue/AdRevenueRespVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -561,10 +561,10 @@ public class AdRevenueRespVO { private LocalDateTime createTime; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotPageReqVO.java ===== -package cn.wanxiang.game.module.ad.controller.admin.vo.slot; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotPageReqVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import com.wanxiang.huijing.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -572,7 +572,7 @@ import lombok.EqualsAndHashCode; /** * 广告位分页 Request VO(admin,对齐 ad.yaml /admin-api/ad/slot/page) * - * 分页参数复用 Yudao PageParam(pageNo/pageSize);可选按 type/provider/enabled 筛选。 + * 分页参数复用 Huijing PageParam(pageNo/pageSize);可选按 type/provider/enabled 筛选。 * * @author 造梦AI */ @@ -591,10 +591,10 @@ public class AdSlotPageReqVO extends PageParam { private Boolean enabled; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotRespVO.java ===== -package cn.wanxiang.game.module.ad.controller.admin.vo.slot; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotRespVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot; -import cn.wanxiang.game.module.ad.controller.app.vo.AdComplianceVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdComplianceVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -645,10 +645,10 @@ public class AdSlotRespVO { private LocalDateTime updateTime; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotSaveReqVO.java ===== -package cn.wanxiang.game.module.ad.controller.admin.vo.slot; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotSaveReqVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot; -import cn.wanxiang.game.module.ad.controller.app.vo.AdComplianceVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdComplianceVO; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; @@ -697,21 +697,21 @@ public class AdSlotSaveReqVO { private AdComplianceVO compliance; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/AdController.java ===== -package cn.wanxiang.game.module.ad.controller.app; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/AdController.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app; -import cn.wanxiang.game.module.ad.controller.app.vo.AdImpressionReqVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdReportResultVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdRewardReqVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdRewardResultVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdSlotConfigVO; -import cn.wanxiang.game.module.ad.convert.AdSlotConvert; -import cn.wanxiang.game.module.ad.dal.dataobject.slot.AdSlotDO; -import cn.wanxiang.game.module.ad.service.revenue.AdRevenueService; -import cn.wanxiang.game.module.ad.service.slot.AdSlotService; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.ratelimiter.core.annotation.RateLimiter; -import cn.iocoder.yudao.framework.ratelimiter.core.keyresolver.impl.ClientIpRateLimiterKeyResolver; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdImpressionReqVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdReportResultVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdRewardReqVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdRewardResultVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdSlotConfigVO; +import com.wanxiang.huijing.game.module.ad.convert.AdSlotConvert; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.slot.AdSlotDO; +import com.wanxiang.huijing.game.module.ad.service.revenue.AdRevenueService; +import com.wanxiang.huijing.game.module.ad.service.slot.AdSlotService; +import com.wanxiang.huijing.framework.common.pojo.CommonResult; +import com.wanxiang.huijing.framework.ratelimiter.core.annotation.RateLimiter; +import com.wanxiang.huijing.framework.ratelimiter.core.keyresolver.impl.ClientIpRateLimiterKeyResolver; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -724,7 +724,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static com.wanxiang.huijing.framework.common.pojo.CommonResult.success; /** * 产品端(game-studio)- 广告控制器(SDK Plugin.Ad) @@ -790,8 +790,8 @@ public class AdController { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdComplianceVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdComplianceVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -814,8 +814,8 @@ public class AdComplianceVO { private Integer maxPerSession; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdImpressionReqVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdImpressionReqVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -850,8 +850,8 @@ public class AdImpressionReqVO { private String sessionId; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdReportResultVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdReportResultVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -878,8 +878,8 @@ public class AdReportResultVO { private String traceId; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdRewardReqVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdRewardReqVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -913,8 +913,8 @@ public class AdRewardReqVO { private String sessionId; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdRewardResultVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdRewardResultVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -941,8 +941,8 @@ public class AdRewardResultVO { private String traceId; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdSlotConfigVO.java ===== -package cn.wanxiang.game.module.ad.controller.app.vo; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdSlotConfigVO.java ===== +package com.wanxiang.huijing.game.module.ad.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -977,15 +977,15 @@ public class AdSlotConfigVO { private AdComplianceVO compliance; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/convert/AdRevenueConvert.java ===== -package cn.wanxiang.game.module.ad.convert; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/convert/AdRevenueConvert.java ===== +package com.wanxiang.huijing.game.module.ad.convert; -import cn.wanxiang.game.module.ad.controller.admin.vo.revenue.AdRevenueRespVO; -import cn.wanxiang.game.module.ad.dal.dataobject.revenue.AdRevenueDO; -import cn.wanxiang.game.module.ad.dto.AdRevenueRespDTO; -import cn.wanxiang.game.module.ad.enums.AdEventTypeEnum; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue.AdRevenueRespVO; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.revenue.AdRevenueDO; +import com.wanxiang.huijing.game.module.ad.dto.AdRevenueRespDTO; +import com.wanxiang.huijing.game.module.ad.enums.AdEventTypeEnum; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.common.util.object.BeanUtils; import java.util.List; import java.util.stream.Collectors; @@ -1054,16 +1054,16 @@ public class AdRevenueConvert { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/convert/AdSlotConvert.java ===== -package cn.wanxiang.game.module.ad.convert; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/convert/AdSlotConvert.java ===== +package com.wanxiang.huijing.game.module.ad.convert; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotRespVO; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotSaveReqVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdComplianceVO; -import cn.wanxiang.game.module.ad.controller.app.vo.AdSlotConfigVO; -import cn.wanxiang.game.module.ad.dal.dataobject.slot.AdSlotDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotRespVO; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotSaveReqVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdComplianceVO; +import com.wanxiang.huijing.game.module.ad.controller.app.vo.AdSlotConfigVO; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.slot.AdSlotDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.common.util.object.BeanUtils; import java.util.List; import java.util.stream.Collectors; @@ -1156,12 +1156,12 @@ public class AdSlotConvert { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/dataobject/revenue/AdRevenueDO.java ===== -package cn.wanxiang.game.module.ad.dal.dataobject.revenue; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/dataobject/revenue/AdRevenueDO.java ===== +package com.wanxiang.huijing.game.module.ad.dal.dataobject.revenue; -import cn.wanxiang.game.module.ad.enums.AdEventTypeEnum; -import cn.wanxiang.game.module.ad.enums.AdSettleStatusEnum; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.game.module.ad.enums.AdEventTypeEnum; +import com.wanxiang.huijing.game.module.ad.enums.AdSettleStatusEnum; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1232,10 +1232,10 @@ public class AdRevenueDO extends TenantBaseDO { private LocalDate statDate; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/dataobject/slot/AdSlotDO.java ===== -package cn.wanxiang.game.module.ad.dal.dataobject.slot; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/dataobject/slot/AdSlotDO.java ===== +package com.wanxiang.huijing.game.module.ad.dal.dataobject.slot; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1298,15 +1298,15 @@ public class AdSlotDO extends TenantBaseDO { private Integer maxPerSession; } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/mysql/revenue/AdRevenueMapper.java ===== -package cn.wanxiang.game.module.ad.dal.mysql.revenue; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/mysql/revenue/AdRevenueMapper.java ===== +package com.wanxiang.huijing.game.module.ad.dal.mysql.revenue; -import cn.wanxiang.game.module.ad.controller.admin.vo.revenue.AdRevenuePageReqVO; -import cn.wanxiang.game.module.ad.dal.dataobject.revenue.AdRevenueDO; -import cn.wanxiang.game.module.ad.enums.AdSettleStatusEnum; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.revenue.AdRevenuePageReqVO; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.revenue.AdRevenueDO; +import com.wanxiang.huijing.game.module.ad.enums.AdSettleStatusEnum; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; @@ -1331,7 +1331,7 @@ public interface AdRevenueMapper extends BaseMapperX { * 按计费幂等键查台账(trace_id + event_type);命中 uk_trace * * 计费上报先查重:命中即跳过(返回上次受理结果,firstBilling=false)。 - * tenant_id 由 Yudao 多租户拦截器自动追加到 WHERE,不在此显式拼。 + * tenant_id 由 Huijing 多租户拦截器自动追加到 WHERE,不在此显式拼。 * * @param traceId 全链路 traceId * @param eventType 计费事件类型(1 impression / 2 reward) @@ -1390,14 +1390,14 @@ public interface AdRevenueMapper extends BaseMapperX { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/mysql/slot/AdSlotMapper.java ===== -package cn.wanxiang.game.module.ad.dal.mysql.slot; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/mysql/slot/AdSlotMapper.java ===== +package com.wanxiang.huijing.game.module.ad.dal.mysql.slot; -import cn.wanxiang.game.module.ad.controller.admin.vo.slot.AdSlotPageReqVO; -import cn.wanxiang.game.module.ad.dal.dataobject.slot.AdSlotDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.game.module.ad.controller.admin.vo.slot.AdSlotPageReqVO; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.slot.AdSlotDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -1450,10 +1450,10 @@ public interface AdSlotMapper extends BaseMapperX { } } -// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/compliance/AdComplianceChecker.java ===== -package cn.wanxiang.game.module.ad.framework.compliance; +// ===== 文件: game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/compliance/AdComplianceChecker.java ===== +package com.wanxiang.huijing.game.module.ad.framework.compliance; -import cn.wanxiang.game.module.ad.dal.dataobject.slot.AdSlotDO; +import com.wanxiang.huijing.game.module.ad.dal.dataobject.slot.AdSlotDO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -1505,7 +1505,6 @@ public class AdComplianceChecker { /** * 是否识别为未成年(MVP 对接点:默认 false) - ================================================================================ 【中间部分省略:第 1501 行 至 第 11551 行,共省略 10051 行】 ================================================================================ @@ -1513,8 +1512,8 @@ public class AdComplianceChecker { private String remark; } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/WithdrawRespVO.java ===== -package cn.wanxiang.game.module.trade.controller.app.vo; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/WithdrawRespVO.java ===== +package com.wanxiang.huijing.game.module.trade.controller.app.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -1569,17 +1568,17 @@ public class WithdrawRespVO { private String remark; } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/convert/TradeConvert.java ===== -package cn.wanxiang.game.module.trade.convert; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/convert/TradeConvert.java ===== +package com.wanxiang.huijing.game.module.trade.convert; -import cn.wanxiang.game.module.trade.controller.app.vo.IncomeRespVO; -import cn.wanxiang.game.module.trade.controller.app.vo.TradeAccountRespVO; -import cn.wanxiang.game.module.trade.controller.app.vo.WithdrawRespVO; -import cn.wanxiang.game.module.trade.dal.dataobject.AccountDO; -import cn.wanxiang.game.module.trade.dal.dataobject.IncomeDO; -import cn.wanxiang.game.module.trade.dal.dataobject.WithdrawDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.IncomeRespVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.TradeAccountRespVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.WithdrawRespVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.AccountDO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.IncomeDO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.WithdrawDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.common.util.object.BeanUtils; import java.util.List; import java.util.stream.Collectors; @@ -1657,10 +1656,10 @@ public class TradeConvert { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/AccountDO.java ===== -package cn.wanxiang.game.module.trade.dal.dataobject; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/AccountDO.java ===== +package com.wanxiang.huijing.game.module.trade.dal.dataobject; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1710,11 +1709,11 @@ public class AccountDO extends TenantBaseDO { private Long totalWithdraw; } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/IncomeDO.java ===== -package cn.wanxiang.game.module.trade.dal.dataobject; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/IncomeDO.java ===== +package com.wanxiang.huijing.game.module.trade.dal.dataobject; -import cn.wanxiang.game.module.trade.enums.TradeIncomeSourceEnum; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.game.module.trade.enums.TradeIncomeSourceEnum; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1780,11 +1779,11 @@ public class IncomeDO extends TenantBaseDO { private String traceId; } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/WithdrawDO.java ===== -package cn.wanxiang.game.module.trade.dal.dataobject; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/WithdrawDO.java ===== +package com.wanxiang.huijing.game.module.trade.dal.dataobject; -import cn.wanxiang.game.module.trade.enums.TradeWithdrawStatusEnum; -import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.wanxiang.huijing.game.module.trade.enums.TradeWithdrawStatusEnum; +import com.wanxiang.huijing.framework.tenant.core.db.TenantBaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -1861,11 +1860,11 @@ public class WithdrawDO extends TenantBaseDO { private String remark; } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/AccountMapper.java ===== -package cn.wanxiang.game.module.trade.dal.mysql; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/AccountMapper.java ===== +package com.wanxiang.huijing.game.module.trade.dal.mysql; -import cn.wanxiang.game.module.trade.dal.dataobject.AccountDO; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.AccountDO; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -1875,7 +1874,7 @@ import org.apache.ibatis.annotations.Param; * * 余额增减一律用行级原子 UPDATE(SET balance = balance ± ? WHERE ...),扣减带余额充足条件(balance >= ?)防超扣; * 显式条件命中 uk_user(user_id),禁裸 select*。所有金额单位「分」。 - * tenant_id 由 Yudao 多租户拦截器自动追加到 WHERE,不在此显式拼。 + * tenant_id 由 Huijing 多租户拦截器自动追加到 WHERE,不在此显式拼。 * * @author 造梦AI */ @@ -1904,7 +1903,7 @@ public interface AccountMapper extends BaseMapperX { */ default int addIncome(@Param("userId") Long userId, @Param("net") Long net) { LambdaUpdateWrapper update = new LambdaUpdateWrapper() - // 可提现余额 += net、累计收益 += net(仿 yudao PayWalletMapper:server 计算的 Long,列自增并发安全) + // 可提现余额 += net、累计收益 += net(仿 huijing PayWalletMapper:server 计算的 Long,列自增并发安全) .setSql(" balance = balance + " + net + ", total_income = total_income + " + net) .eq(AccountDO::getUserId, userId); @@ -1972,18 +1971,18 @@ public interface AccountMapper extends BaseMapperX { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/IncomeMapper.java ===== -package cn.wanxiang.game.module.trade.dal.mysql; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/IncomeMapper.java ===== +package com.wanxiang.huijing.game.module.trade.dal.mysql; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; -import cn.wanxiang.game.module.trade.controller.admin.vo.IncomePageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppIncomePageReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.IncomeDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.IncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppIncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.IncomeDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.QueryWrapperX; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; @@ -1997,7 +1996,7 @@ import java.util.Map; * - selectBySource 命中 uk_source(source, source_ref)(分账幂等查重); * - app 「我的收益」命中 idx_user_settle(user_id, settle_date); * - admin 对账分页命中 idx_user_settle / idx_settle_date。 - * tenant_id 由 Yudao 多租户拦截器自动追加到 WHERE,不在此显式拼。 + * tenant_id 由 Huijing 多租户拦截器自动追加到 WHERE,不在此显式拼。 * * @author 造梦AI */ @@ -2051,7 +2050,7 @@ public interface IncomeMapper extends BaseMapperX { /** * 平台营收报表:按结算日区间汇总 gross(原始收入合计);命中 idx_settle_date * - * 仿 yudao PayWalletTransactionMapper.selectPriceSum 的 selectMaps 聚合范式(比 DO 投影更稳,不依赖列别名映射)。 + * 仿 huijing PayWalletTransactionMapper.selectPriceSum 的 selectMaps 聚合范式(比 DO 投影更稳,不依赖列别名映射)。 * 显式列聚合(SUM(gross_amount)),不裸 select*;平台分成 = gross - net 由 Service 算。 * * @param start 统计起始日(含) @@ -2082,19 +2081,19 @@ public interface IncomeMapper extends BaseMapperX { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/WithdrawMapper.java ===== -package cn.wanxiang.game.module.trade.dal.mysql; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/WithdrawMapper.java ===== +package com.wanxiang.huijing.game.module.trade.dal.mysql; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; -import cn.wanxiang.game.module.trade.controller.admin.vo.WithdrawPageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.WithdrawDO; -import cn.wanxiang.game.module.trade.enums.TradeWithdrawStatusEnum; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.WithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.WithdrawDO; +import com.wanxiang.huijing.game.module.trade.enums.TradeWithdrawStatusEnum; +import com.wanxiang.huijing.framework.common.pojo.PageResult; +import com.wanxiang.huijing.framework.mybatis.core.mapper.BaseMapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.wanxiang.huijing.framework.mybatis.core.query.QueryWrapperX; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; @@ -2109,7 +2108,7 @@ import java.util.Map; * - selectByBizNo 命中 uk_biz_no(提现幂等查重); * - app 「我的提现」命中 idx_user_status;admin 审核队列命中 idx_status_apply; * - 状态机流转用乐观 CAS:UPDATE ... SET status=? WHERE id=? AND status=?(仅当前态匹配才流转,防并发二次处理)。 - * tenant_id 由 Yudao 多租户拦截器自动追加到 WHERE,不在此显式拼。 + * tenant_id 由 Huijing 多租户拦截器自动追加到 WHERE,不在此显式拼。 * * @author 造梦AI */ @@ -2205,12 +2204,12 @@ public interface WithdrawMapper extends BaseMapperX { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/job/SettlementJob.java ===== -package cn.wanxiang.game.module.trade.job; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/job/SettlementJob.java ===== +package com.wanxiang.huijing.game.module.trade.job; import cn.hutool.core.util.StrUtil; -import cn.wanxiang.game.module.trade.service.settle.SettlementService; -import cn.iocoder.yudao.framework.tenant.core.job.TenantJob; +import com.wanxiang.huijing.game.module.trade.service.settle.SettlementService; +import com.wanxiang.huijing.framework.tenant.core.job.TenantJob; import com.xxl.job.core.handler.annotation.XxlJob; import jakarta.annotation.Resource; import org.slf4j.Logger; @@ -2224,7 +2223,7 @@ import java.time.LocalDate; * * 调度:每日凌晨结算昨日(T 日)的未结算广告收入(T+1 分账)。 * Job 只负责调度入口,编排逻辑委托 {@link SettlementService}(便于单测 mock AdRevenueApi)。 - * @TenantJob:多租户下逐租户执行(与 yudao 各模块 Job 一致)。 + * @TenantJob:多租户下逐租户执行(与 huijing 各模块 Job 一致)。 * * param 约定:空 → 默认结算昨日(T+1);传 yyyy-MM-dd → 结算指定归集日(补结算/重跑用,靠 uk_source 幂等不重复发钱)。 * @@ -2256,10 +2255,10 @@ public class SettlementJob { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/account/AccountService.java ===== -package cn.wanxiang.game.module.trade.service.account; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/account/AccountService.java ===== +package com.wanxiang.huijing.game.module.trade.service.account; -import cn.wanxiang.game.module.trade.dal.dataobject.AccountDO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.AccountDO; /** * 创作者收益账户 Service(物化汇总:余额原子增减带充足校验防超扣 + 建账户幂等) @@ -2321,19 +2320,19 @@ public interface AccountService { void refundFrozen(Long userId, Long amount); } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/account/AccountServiceImpl.java ===== -package cn.wanxiang.game.module.trade.service.account; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/account/AccountServiceImpl.java ===== +package com.wanxiang.huijing.game.module.trade.service.account; -import cn.wanxiang.game.module.trade.dal.dataobject.AccountDO; -import cn.wanxiang.game.module.trade.dal.mysql.AccountMapper; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.AccountDO; +import com.wanxiang.huijing.game.module.trade.dal.mysql.AccountMapper; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; -import static cn.wanxiang.game.module.trade.enums.ErrorCodeConstants.TRADE_ACCOUNT_BALANCE_NOT_ENOUGH; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.wanxiang.huijing.game.module.trade.enums.ErrorCodeConstants.TRADE_ACCOUNT_BALANCE_NOT_ENOUGH; +import static com.wanxiang.huijing.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 创作者收益账户 Service 实现 @@ -2419,13 +2418,13 @@ public class AccountServiceImpl implements AccountService { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/income/IncomeService.java ===== -package cn.wanxiang.game.module.trade.service.income; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/income/IncomeService.java ===== +package com.wanxiang.huijing.game.module.trade.service.income; -import cn.wanxiang.game.module.trade.controller.admin.vo.IncomePageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppIncomePageReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.IncomeDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.IncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppIncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.IncomeDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import java.math.BigDecimal; import java.time.LocalDate; @@ -2495,15 +2494,15 @@ public interface IncomeService { Long sumNet(LocalDate start, LocalDate end); } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/income/IncomeServiceImpl.java ===== -package cn.wanxiang.game.module.trade.service.income; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/income/IncomeServiceImpl.java ===== +package com.wanxiang.huijing.game.module.trade.service.income; -import cn.wanxiang.game.module.trade.controller.admin.vo.IncomePageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppIncomePageReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.IncomeDO; -import cn.wanxiang.game.module.trade.dal.mysql.IncomeMapper; -import cn.wanxiang.game.module.trade.service.account.AccountService; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.IncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppIncomePageReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.IncomeDO; +import com.wanxiang.huijing.game.module.trade.dal.mysql.IncomeMapper; +import com.wanxiang.huijing.game.module.trade.service.account.AccountService; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -2609,8 +2608,8 @@ public class IncomeServiceImpl implements IncomeService { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/settle/SettlementService.java ===== -package cn.wanxiang.game.module.trade.service.settle; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/settle/SettlementService.java ===== +package com.wanxiang.huijing.game.module.trade.service.settle; import java.time.LocalDate; @@ -2640,14 +2639,14 @@ public interface SettlementService { int settle(LocalDate statDate); } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/settle/SettlementServiceImpl.java ===== -package cn.wanxiang.game.module.trade.service.settle; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/settle/SettlementServiceImpl.java ===== +package com.wanxiang.huijing.game.module.trade.service.settle; -import cn.wanxiang.game.module.ad.api.AdRevenueApi; -import cn.wanxiang.game.module.ad.dto.AdRevenueRespDTO; -import cn.wanxiang.game.module.community.api.CommunityNotifyApi; -import cn.wanxiang.game.module.trade.enums.TradeIncomeSourceEnum; -import cn.wanxiang.game.module.trade.service.income.IncomeService; +import com.wanxiang.huijing.game.module.ad.api.AdRevenueApi; +import com.wanxiang.huijing.game.module.ad.dto.AdRevenueRespDTO; +import com.wanxiang.huijing.game.module.community.api.CommunityNotifyApi; +import com.wanxiang.huijing.game.module.trade.enums.TradeIncomeSourceEnum; +import com.wanxiang.huijing.game.module.trade.service.income.IncomeService; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -2758,15 +2757,15 @@ public class SettlementServiceImpl implements SettlementService { } } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/withdraw/WithdrawService.java ===== -package cn.wanxiang.game.module.trade.service.withdraw; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/withdraw/WithdrawService.java ===== +package com.wanxiang.huijing.game.module.trade.service.withdraw; -import cn.wanxiang.game.module.trade.controller.admin.vo.WithdrawAuditReqVO; -import cn.wanxiang.game.module.trade.controller.admin.vo.WithdrawPageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.WithdrawApplyReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.WithdrawDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.WithdrawAuditReqVO; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.WithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.WithdrawApplyReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.WithdrawDO; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import java.time.LocalDate; @@ -2834,18 +2833,18 @@ public interface WithdrawService { Long sumPaidAmount(LocalDate start, LocalDate end); } -// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/withdraw/WithdrawServiceImpl.java ===== -package cn.wanxiang.game.module.trade.service.withdraw; +// ===== 文件: game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/withdraw/WithdrawServiceImpl.java ===== +package com.wanxiang.huijing.game.module.trade.service.withdraw; -import cn.wanxiang.game.module.trade.controller.admin.vo.WithdrawAuditReqVO; -import cn.wanxiang.game.module.trade.controller.admin.vo.WithdrawPageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; -import cn.wanxiang.game.module.trade.controller.app.vo.WithdrawApplyReqVO; -import cn.wanxiang.game.module.trade.dal.dataobject.WithdrawDO; -import cn.wanxiang.game.module.trade.dal.mysql.WithdrawMapper; -import cn.wanxiang.game.module.trade.enums.TradeWithdrawStatusEnum; -import cn.wanxiang.game.module.trade.service.account.AccountService; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.WithdrawAuditReqVO; +import com.wanxiang.huijing.game.module.trade.controller.admin.vo.WithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.AppWithdrawPageReqVO; +import com.wanxiang.huijing.game.module.trade.controller.app.vo.WithdrawApplyReqVO; +import com.wanxiang.huijing.game.module.trade.dal.dataobject.WithdrawDO; +import com.wanxiang.huijing.game.module.trade.dal.mysql.WithdrawMapper; +import com.wanxiang.huijing.game.module.trade.enums.TradeWithdrawStatusEnum; +import com.wanxiang.huijing.game.module.trade.service.account.AccountService; +import com.wanxiang.huijing.framework.common.pojo.PageResult; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -2858,8 +2857,8 @@ import org.springframework.util.StringUtils; import java.time.LocalDate; import java.util.Objects; -import static cn.wanxiang.game.module.trade.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.wanxiang.huijing.game.module.trade.enums.ErrorCodeConstants.*; +import static com.wanxiang.huijing.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 提现 Service 实现(提现门槛/冻结/审核状态机/mock 打款) diff --git a/docs/ip/ruanzhu-4-cloud-feed-monetize/源文件清单.md b/docs/ip/ruanzhu-4-cloud-feed-monetize/源文件清单.md index 76f9666e..d0a11cc6 100644 --- a/docs/ip/ruanzhu-4-cloud-feed-monetize/源文件清单.md +++ b/docs/ip/ruanzhu-4-cloud-feed-monetize/源文件清单.md @@ -8,7 +8,7 @@ ## 一、纳入范围与统计概览 - **纳入范围**:game-cloud 下 7 个原创业务模块(每模块含 `-api` 契约层与 `-server` 实现层)的 `src/main/java` 全部 `.java` 源文件。 -- **包名**:`cn.wanxiang.game.module.*`(原创业务代码)。 +- **包名**:`com.wanxiang.huijing.game.module.*`(原创业务代码)。 - **统计口径**:行数为各文件物理行数(含简体中文注释与空白行)。 | 模块 | 模块职责 | 纳入文件数 | 行数 | @@ -30,17 +30,17 @@ 本软著**仅圈定原创业务代码**,严格排除以下第三方开源代码、基座代码与生成物: -### 2.1 yudao(芋道)开源基座(第三方,整体排除) +### 2.1 芋道(Yudao Cloud,MIT)开源基座(第三方,整体排除) -- `game-cloud/yudao-framework/`(框架) -- `game-cloud/yudao-gateway/`(网关) -- `game-cloud/yudao-module-system/`(系统模块) -- `game-cloud/yudao-module-infra/`(基础设施模块) -- `game-cloud/yudao-module-bpm/`(工作流模块) -- `game-cloud/yudao-module-pay/`(支付模块,yudao 原生) -- `game-cloud/yudao-server/`(启动装配工程) -- `game-cloud/yudao-dependencies/`(依赖管理 BOM) -- `game-cloud/yudao-ui/`(基座自带 UI) +- `game-cloud/huijing-framework/`(框架) +- `game-cloud/huijing-gateway/`(网关) +- `game-cloud/huijing-module-system/`(系统模块) +- `game-cloud/huijing-module-infra/`(基础设施模块) +- `game-cloud/huijing-module-bpm/`(工作流模块) +- `game-cloud/huijing-module-pay/`(支付模块,yudao 原生) +- `game-cloud/huijing-server/`(启动装配工程) +- `game-cloud/huijing-dependencies/`(依赖管理 BOM) +- `game-cloud/huijing-ui/`(基座自带 UI) ### 2.2 构建产物与依赖(生成物,排除) @@ -62,250 +62,250 @@ ## 三、纳入文件明细(按目录字典序,附各自行数) -### 3.1 game-module-feed(游戏流分发,28 个文件 / 1885 行) +### 3.1 game-module-feed(游戏流分发,28 个文件 / 1888 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/api/FeedApi.java` | 66 | -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/dto/FeedRankUpsertReqDTO.java` | 87 | -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/enums/ApiConstants.java` | 32 | -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/enums/ErrorCodeConstants.java` | 40 | -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/enums/FeedActionEnum.java` | 67 | -| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/cn/wanxiang/game/module/feed/enums/ZoneTypeEnum.java` | 26 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/api/FeedApiImpl.java` | 43 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/admin/feed/AdminFeedController.java` | 57 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/admin/feed/vo/FeaturedPageReqVO.java` | 23 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/admin/feed/vo/FeaturedReqVO.java` | 33 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/AppFeedController.java` | 85 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/FeedCardRespVO.java` | 54 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/FeedInteractReqVO.java` | 39 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/FeedStreamReqVO.java` | 27 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/FeedStreamRespVO.java` | 28 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/InteractResultRespVO.java` | 29 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/ShareMetaRespVO.java` | 39 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/ZoneRespVO.java` | 29 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/controller/app/feed/vo/ZoneStreamReqVO.java` | 25 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/convert/feed/FeedConvert.java` | 67 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/dataobject/interact/FeedInteractLogDO.java` | 60 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/dataobject/rank/FeedRankDO.java` | 63 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/dataobject/zone/GameZoneDO.java` | 54 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/mysql/interact/FeedInteractLogMapper.java` | 49 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/mysql/rank/FeedRankMapper.java` | 81 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/dal/mysql/zone/GameZoneMapper.java` | 37 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/service/feed/FeedService.java` | 114 | -| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/cn/wanxiang/game/module/feed/service/feed/FeedServiceImpl.java` | 534 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/api/FeedApi.java` | 66 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/dto/FeedRankUpsertReqDTO.java` | 87 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/enums/ApiConstants.java` | 32 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/enums/ErrorCodeConstants.java` | 40 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/enums/FeedActionEnum.java` | 67 | +| `game-cloud/game-module-feed/game-module-feed-api/src/main/java/com/wanxiang/huijing/game/module/feed/enums/ZoneTypeEnum.java` | 26 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/api/FeedApiImpl.java` | 43 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/admin/feed/AdminFeedController.java` | 57 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/admin/feed/vo/FeaturedPageReqVO.java` | 23 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/admin/feed/vo/FeaturedReqVO.java` | 33 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/AppFeedController.java` | 85 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/FeedCardRespVO.java` | 54 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/FeedInteractReqVO.java` | 39 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/FeedStreamReqVO.java` | 27 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/FeedStreamRespVO.java` | 28 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/InteractResultRespVO.java` | 29 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/ShareMetaRespVO.java` | 39 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/ZoneRespVO.java` | 29 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/controller/app/feed/vo/ZoneStreamReqVO.java` | 25 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/convert/feed/FeedConvert.java` | 67 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/dataobject/interact/FeedInteractLogDO.java` | 60 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/dataobject/rank/FeedRankDO.java` | 63 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/dataobject/zone/GameZoneDO.java` | 54 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/mysql/interact/FeedInteractLogMapper.java` | 49 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/mysql/rank/FeedRankMapper.java` | 81 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/dal/mysql/zone/GameZoneMapper.java` | 37 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/service/feed/FeedService.java` | 114 | +| `game-cloud/game-module-feed/game-module-feed-server/src/main/java/com/wanxiang/huijing/game/module/feed/service/feed/FeedServiceImpl.java` | 534 | ### 3.2 game-module-telemetry(遥测聚合,22 个文件 / 1698 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/cn/wanxiang/game/module/telemetry/enums/ErrorCodeConstants.java` | 36 | -| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/cn/wanxiang/game/module/telemetry/enums/EventProcessStatusEnum.java` | 53 | -| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/cn/wanxiang/game/module/telemetry/enums/TelemetryEventEnum.java` | 69 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/admin/stat/AdminTelemetryController.java` | 59 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/admin/stat/vo/GameStatPageReqVO.java` | 30 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/admin/stat/vo/GameStatRespVO.java` | 60 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/app/event/AppTelemetryController.java` | 57 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/app/event/vo/EnvelopeReqVO.java` | 84 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/app/event/vo/EventBatchReqVO.java` | 28 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/controller/app/event/vo/EventBatchResultVO.java` | 26 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/convert/stat/GameStatConvert.java` | 78 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/dal/dataobject/event/TelemetryEventDO.java` | 91 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/dal/dataobject/stat/GameStatDO.java` | 83 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/dal/mysql/event/TelemetryEventMapper.java` | 32 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/dal/mysql/stat/GameStatMapper.java` | 93 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/mq/consumer/TelemetryEventConsumer.java` | 51 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/event/EventIngestService.java` | 35 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/event/EventIngestServiceImpl.java` | 491 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/quality/AnomalyFilterService.java` | 37 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/quality/AnomalyFilterServiceImpl.java` | 129 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/stat/GameStatService.java` | 32 | -| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/cn/wanxiang/game/module/telemetry/service/stat/GameStatServiceImpl.java` | 44 | +| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/com/wanxiang/huijing/game/module/telemetry/enums/ErrorCodeConstants.java` | 36 | +| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/com/wanxiang/huijing/game/module/telemetry/enums/EventProcessStatusEnum.java` | 53 | +| `game-cloud/game-module-telemetry/game-module-telemetry-api/src/main/java/com/wanxiang/huijing/game/module/telemetry/enums/TelemetryEventEnum.java` | 69 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/admin/stat/AdminTelemetryController.java` | 59 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/admin/stat/vo/GameStatPageReqVO.java` | 30 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/admin/stat/vo/GameStatRespVO.java` | 60 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/app/event/AppTelemetryController.java` | 57 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/app/event/vo/EnvelopeReqVO.java` | 84 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/app/event/vo/EventBatchReqVO.java` | 28 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/controller/app/event/vo/EventBatchResultVO.java` | 26 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/convert/stat/GameStatConvert.java` | 78 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/dal/dataobject/event/TelemetryEventDO.java` | 91 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/dal/dataobject/stat/GameStatDO.java` | 83 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/dal/mysql/event/TelemetryEventMapper.java` | 32 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/dal/mysql/stat/GameStatMapper.java` | 93 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/mq/consumer/TelemetryEventConsumer.java` | 51 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/event/EventIngestService.java` | 35 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/event/EventIngestServiceImpl.java` | 491 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/quality/AnomalyFilterService.java` | 37 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/quality/AnomalyFilterServiceImpl.java` | 129 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/stat/GameStatService.java` | 32 | +| `game-cloud/game-module-telemetry/game-module-telemetry-server/src/main/java/com/wanxiang/huijing/game/module/telemetry/service/stat/GameStatServiceImpl.java` | 44 | ### 3.3 game-module-ad(广告变现,37 个文件 / 2139 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/api/AdRevenueApi.java` | 65 | -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/dto/AdRevenueRespDTO.java` | 40 | -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/AdEventTypeEnum.java` | 58 | -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/AdSettleStatusEnum.java` | 38 | -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/ApiConstants.java` | 33 | -| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/cn/wanxiang/game/module/ad/enums/ErrorCodeConstants.java` | 39 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/api/AdRevenueApiImpl.java` | 45 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/AdRevenueController.java` | 47 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/AdSlotController.java` | 80 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/revenue/AdRevenuePageReqVO.java` | 43 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/revenue/AdRevenueRespVO.java` | 57 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotPageReqVO.java` | 29 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotRespVO.java` | 53 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/admin/vo/slot/AdSlotSaveReqVO.java` | 51 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/AdController.java` | 92 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdComplianceVO.java` | 23 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdImpressionReqVO.java` | 35 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdReportResultVO.java` | 27 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdRewardReqVO.java` | 34 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdRewardResultVO.java` | 27 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/controller/app/vo/AdSlotConfigVO.java` | 35 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/convert/AdRevenueConvert.java` | 76 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/convert/AdSlotConvert.java` | 101 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/dataobject/revenue/AdRevenueDO.java` | 75 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/dataobject/slot/AdSlotDO.java` | 65 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/mysql/revenue/AdRevenueMapper.java` | 91 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/dal/mysql/slot/AdSlotMapper.java` | 59 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/compliance/AdComplianceChecker.java` | 77 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/compliance/AdComplianceResult.java` | 28 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/provider/AdProvider.java` | 42 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/provider/AdProviderFactory.java` | 46 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/framework/provider/MockAdProvider.java` | 43 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/service/revenue/AdRevenueService.java` | 72 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/service/revenue/AdRevenueServiceImpl.java` | 203 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/service/revenue/bo/AdBillingResult.java` | 24 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/service/slot/AdSlotService.java` | 74 | -| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/cn/wanxiang/game/module/ad/service/slot/AdSlotServiceImpl.java` | 112 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/api/AdRevenueApi.java` | 65 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/dto/AdRevenueRespDTO.java` | 40 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/AdEventTypeEnum.java` | 58 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/AdSettleStatusEnum.java` | 38 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/ApiConstants.java` | 33 | +| `game-cloud/game-module-ad/game-module-ad-api/src/main/java/com/wanxiang/huijing/game/module/ad/enums/ErrorCodeConstants.java` | 39 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/api/AdRevenueApiImpl.java` | 45 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/AdRevenueController.java` | 47 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/AdSlotController.java` | 80 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/revenue/AdRevenuePageReqVO.java` | 43 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/revenue/AdRevenueRespVO.java` | 57 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotPageReqVO.java` | 29 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotRespVO.java` | 53 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/admin/vo/slot/AdSlotSaveReqVO.java` | 51 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/AdController.java` | 92 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdComplianceVO.java` | 23 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdImpressionReqVO.java` | 35 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdReportResultVO.java` | 27 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdRewardReqVO.java` | 34 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdRewardResultVO.java` | 27 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/controller/app/vo/AdSlotConfigVO.java` | 35 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/convert/AdRevenueConvert.java` | 76 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/convert/AdSlotConvert.java` | 101 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/dataobject/revenue/AdRevenueDO.java` | 75 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/dataobject/slot/AdSlotDO.java` | 65 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/mysql/revenue/AdRevenueMapper.java` | 91 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/dal/mysql/slot/AdSlotMapper.java` | 59 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/compliance/AdComplianceChecker.java` | 77 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/compliance/AdComplianceResult.java` | 28 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/provider/AdProvider.java` | 42 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/provider/AdProviderFactory.java` | 46 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/framework/provider/MockAdProvider.java` | 43 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/service/revenue/AdRevenueService.java` | 72 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/service/revenue/AdRevenueServiceImpl.java` | 203 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/service/revenue/bo/AdBillingResult.java` | 24 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/service/slot/AdSlotService.java` | 74 | +| `game-cloud/game-module-ad/game-module-ad-server/src/main/java/com/wanxiang/huijing/game/module/ad/service/slot/AdSlotServiceImpl.java` | 112 | ### 3.4 game-module-trade(分账结算,32 个文件 / 2135 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/cn/wanxiang/game/module/trade/enums/ApiConstants.java` | 33 | -| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/cn/wanxiang/game/module/trade/enums/ErrorCodeConstants.java` | 42 | -| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/cn/wanxiang/game/module/trade/enums/TradeIncomeSourceEnum.java` | 40 | -| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/cn/wanxiang/game/module/trade/enums/TradeWithdrawStatusEnum.java` | 36 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/admin/TradeAdminController.java` | 104 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/admin/vo/IncomePageReqVO.java` | 33 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/admin/vo/RevenueReportVO.java` | 37 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/admin/vo/WithdrawAuditReqVO.java` | 36 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/admin/vo/WithdrawPageReqVO.java` | 26 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/TradeController.java` | 87 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/AppIncomePageReqVO.java` | 34 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/AppWithdrawPageReqVO.java` | 23 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/IncomeRespVO.java` | 51 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/TradeAccountRespVO.java` | 38 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/WithdrawApplyReqVO.java` | 35 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/controller/app/vo/WithdrawRespVO.java` | 55 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/convert/TradeConvert.java` | 87 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/AccountDO.java` | 52 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/IncomeDO.java` | 69 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/dataobject/WithdrawDO.java` | 80 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/AccountMapper.java` | 110 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/IncomeMapper.java` | 109 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/dal/mysql/WithdrawMapper.java` | 122 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/job/SettlementJob.java` | 50 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/account/AccountService.java` | 64 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/account/AccountServiceImpl.java` | 97 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/income/IncomeService.java` | 75 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/income/IncomeServiceImpl.java` | 113 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/settle/SettlementService.java` | 30 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/settle/SettlementServiceImpl.java` | 117 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/withdraw/WithdrawService.java` | 75 | -| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/cn/wanxiang/game/module/trade/service/withdraw/WithdrawServiceImpl.java` | 175 | +| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/com/wanxiang/huijing/game/module/trade/enums/ApiConstants.java` | 33 | +| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/com/wanxiang/huijing/game/module/trade/enums/ErrorCodeConstants.java` | 42 | +| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/com/wanxiang/huijing/game/module/trade/enums/TradeIncomeSourceEnum.java` | 40 | +| `game-cloud/game-module-trade/game-module-trade-api/src/main/java/com/wanxiang/huijing/game/module/trade/enums/TradeWithdrawStatusEnum.java` | 36 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/admin/TradeAdminController.java` | 104 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/admin/vo/IncomePageReqVO.java` | 33 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/admin/vo/RevenueReportVO.java` | 37 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/admin/vo/WithdrawAuditReqVO.java` | 36 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/admin/vo/WithdrawPageReqVO.java` | 26 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/TradeController.java` | 87 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/AppIncomePageReqVO.java` | 34 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/AppWithdrawPageReqVO.java` | 23 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/IncomeRespVO.java` | 51 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/TradeAccountRespVO.java` | 38 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/WithdrawApplyReqVO.java` | 35 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/controller/app/vo/WithdrawRespVO.java` | 55 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/convert/TradeConvert.java` | 87 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/AccountDO.java` | 52 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/IncomeDO.java` | 69 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/dataobject/WithdrawDO.java` | 80 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/AccountMapper.java` | 110 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/IncomeMapper.java` | 109 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/dal/mysql/WithdrawMapper.java` | 122 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/job/SettlementJob.java` | 50 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/account/AccountService.java` | 64 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/account/AccountServiceImpl.java` | 97 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/income/IncomeService.java` | 75 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/income/IncomeServiceImpl.java` | 113 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/settle/SettlementService.java` | 30 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/settle/SettlementServiceImpl.java` | 117 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/withdraw/WithdrawService.java` | 75 | +| `game-cloud/game-module-trade/game-module-trade-server/src/main/java/com/wanxiang/huijing/game/module/trade/service/withdraw/WithdrawServiceImpl.java` | 175 | ### 3.5 game-module-community(社区运营,27 个文件 / 1647 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-community/game-module-community-api/src/main/java/cn/wanxiang/game/module/community/api/CommunityNotifyApi.java` | 100 | -| `game-cloud/game-module-community/game-module-community-api/src/main/java/cn/wanxiang/game/module/community/enums/ApiConstants.java` | 33 | -| `game-cloud/game-module-community/game-module-community-api/src/main/java/cn/wanxiang/game/module/community/enums/CommunityMessageTypeEnum.java` | 52 | -| `game-cloud/game-module-community/game-module-community-api/src/main/java/cn/wanxiang/game/module/community/enums/ErrorCodeConstants.java` | 33 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/api/CommunityNotifyApiImpl.java` | 105 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/admin/notification/AdminCommunityNotificationController.java` | 61 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/AppCommunityMessageController.java` | 93 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/vo/LevelRespVO.java` | 27 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/vo/MessagePageReqVO.java` | 26 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/vo/MessageRespVO.java` | 41 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/vo/RewardRespVO.java` | 35 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/controller/app/message/vo/UnreadCountRespVO.java` | 23 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/convert/level/LevelConvert.java` | 35 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/convert/message/MessageConvert.java` | 44 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/convert/reward/RewardConvert.java` | 40 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/dataobject/level/LevelDO.java` | 51 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/dataobject/message/MessageDO.java` | 58 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/dataobject/reward/RewardDO.java` | 53 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/mysql/level/LevelMapper.java` | 58 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/mysql/message/MessageMapper.java` | 101 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/dal/mysql/reward/RewardMapper.java` | 50 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/level/LevelService.java` | 49 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/level/LevelServiceImpl.java` | 153 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/message/MessageService.java` | 56 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/message/MessageServiceImpl.java` | 101 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/notify/NotifyService.java` | 59 | -| `game-cloud/game-module-community/game-module-community-server/src/main/java/cn/wanxiang/game/module/community/service/notify/NotifyServiceImpl.java` | 110 | +| `game-cloud/game-module-community/game-module-community-api/src/main/java/com/wanxiang/huijing/game/module/community/api/CommunityNotifyApi.java` | 100 | +| `game-cloud/game-module-community/game-module-community-api/src/main/java/com/wanxiang/huijing/game/module/community/enums/ApiConstants.java` | 33 | +| `game-cloud/game-module-community/game-module-community-api/src/main/java/com/wanxiang/huijing/game/module/community/enums/CommunityMessageTypeEnum.java` | 52 | +| `game-cloud/game-module-community/game-module-community-api/src/main/java/com/wanxiang/huijing/game/module/community/enums/ErrorCodeConstants.java` | 33 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/api/CommunityNotifyApiImpl.java` | 105 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/admin/notification/AdminCommunityNotificationController.java` | 61 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/AppCommunityMessageController.java` | 93 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/vo/LevelRespVO.java` | 27 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/vo/MessagePageReqVO.java` | 26 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/vo/MessageRespVO.java` | 41 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/vo/RewardRespVO.java` | 35 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/controller/app/message/vo/UnreadCountRespVO.java` | 23 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/convert/level/LevelConvert.java` | 35 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/convert/message/MessageConvert.java` | 44 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/convert/reward/RewardConvert.java` | 40 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/dataobject/level/LevelDO.java` | 51 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/dataobject/message/MessageDO.java` | 58 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/dataobject/reward/RewardDO.java` | 53 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/mysql/level/LevelMapper.java` | 58 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/mysql/message/MessageMapper.java` | 101 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/dal/mysql/reward/RewardMapper.java` | 50 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/level/LevelService.java` | 49 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/level/LevelServiceImpl.java` | 153 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/message/MessageService.java` | 56 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/message/MessageServiceImpl.java` | 101 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/notify/NotifyService.java` | 59 | +| `game-cloud/game-module-community/game-module-community-server/src/main/java/com/wanxiang/huijing/game/module/community/service/notify/NotifyServiceImpl.java` | 110 | ### 3.6 game-module-biz(B 端定制,31 个文件 / 1898 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/cn/wanxiang/game/module/biz/enums/ApiConstants.java` | 32 | -| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/cn/wanxiang/game/module/biz/enums/BizLeadStatusEnum.java` | 61 | -| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/cn/wanxiang/game/module/biz/enums/ErrorCodeConstants.java` | 43 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/admin/lead/AdminBizLeadController.java` | 111 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/admin/lead/vo/BizAdvanceReqVO.java` | 31 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/admin/lead/vo/BizAssignReqVO.java` | 20 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/admin/lead/vo/BizLeadPageReqVO.java` | 29 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/admin/lead/vo/BizQuoteCreateReqVO.java` | 34 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/AppBizLeadController.java` | 110 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizConfirmReqVO.java` | 20 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizFeedbackReqVO.java` | 25 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizLeadCreateReqVO.java` | 52 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizLeadDetailRespVO.java` | 29 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizLeadMyPageReqVO.java` | 23 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizLeadRespVO.java` | 41 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizProgressRespVO.java` | 35 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizQuoteRespVO.java` | 41 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/controller/app/lead/vo/BizTemplateRespVO.java` | 27 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/convert/lead/BizLeadConvert.java` | 57 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/dataobject/lead/BizAcceptanceDO.java` | 55 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/dataobject/lead/BizLeadDO.java` | 77 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/dataobject/lead/BizProgressDO.java` | 49 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/dataobject/lead/BizQuoteDO.java` | 53 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/mysql/lead/BizAcceptanceMapper.java` | 29 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/mysql/lead/BizLeadMapper.java` | 51 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/mysql/lead/BizProgressMapper.java` | 31 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/dal/mysql/lead/BizQuoteMapper.java` | 60 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/service/lead/BizLeadService.java` | 146 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/service/lead/BizLeadServiceImpl.java` | 425 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/service/template/BizTemplateService.java` | 25 | -| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/cn/wanxiang/game/module/biz/service/template/BizTemplateServiceImpl.java` | 76 | +| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/com/wanxiang/huijing/game/module/biz/enums/ApiConstants.java` | 32 | +| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/com/wanxiang/huijing/game/module/biz/enums/BizLeadStatusEnum.java` | 61 | +| `game-cloud/game-module-biz/game-module-biz-api/src/main/java/com/wanxiang/huijing/game/module/biz/enums/ErrorCodeConstants.java` | 43 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/admin/lead/AdminBizLeadController.java` | 111 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/admin/lead/vo/BizAdvanceReqVO.java` | 31 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/admin/lead/vo/BizAssignReqVO.java` | 20 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/admin/lead/vo/BizLeadPageReqVO.java` | 29 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/admin/lead/vo/BizQuoteCreateReqVO.java` | 34 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/AppBizLeadController.java` | 110 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizConfirmReqVO.java` | 20 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizFeedbackReqVO.java` | 25 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizLeadCreateReqVO.java` | 52 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizLeadDetailRespVO.java` | 29 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizLeadMyPageReqVO.java` | 23 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizLeadRespVO.java` | 41 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizProgressRespVO.java` | 35 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizQuoteRespVO.java` | 41 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/controller/app/lead/vo/BizTemplateRespVO.java` | 27 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/convert/lead/BizLeadConvert.java` | 57 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/dataobject/lead/BizAcceptanceDO.java` | 55 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/dataobject/lead/BizLeadDO.java` | 77 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/dataobject/lead/BizProgressDO.java` | 49 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/dataobject/lead/BizQuoteDO.java` | 53 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/mysql/lead/BizAcceptanceMapper.java` | 29 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/mysql/lead/BizLeadMapper.java` | 51 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/mysql/lead/BizProgressMapper.java` | 31 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/dal/mysql/lead/BizQuoteMapper.java` | 60 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/service/lead/BizLeadService.java` | 146 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/service/lead/BizLeadServiceImpl.java` | 425 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/service/template/BizTemplateService.java` | 25 | +| `game-cloud/game-module-biz/game-module-biz-server/src/main/java/com/wanxiang/huijing/game/module/biz/service/template/BizTemplateServiceImpl.java` | 76 | ### 3.7 game-module-compliance(内容合规,33 个文件 / 1436 行) | 文件路径 | 行数 | |---|---:| -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/api/ComplianceGateApi.java` | 45 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/dto/ComplianceGateItemDTO.java` | 29 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/dto/ComplianceGateReqDTO.java` | 41 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/dto/GateVerdict.java` | 32 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/enums/ApiConstants.java` | 33 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/enums/BanStatusEnum.java` | 37 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/enums/BanTargetTypeEnum.java` | 48 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/enums/ComplianceVerdictEnum.java` | 70 | -| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/cn/wanxiang/game/module/compliance/enums/ErrorCodeConstants.java` | 34 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/api/ComplianceGateApiImpl.java` | 35 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/admin/ComplianceBanController.java` | 66 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/admin/vo/BanCancelReqVO.java` | 22 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/admin/vo/BanCreateReqVO.java` | 32 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/admin/vo/BanPageReqVO.java` | 26 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/admin/vo/UserBanRespVO.java` | 38 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/app/ComplianceRatingController.java` | 50 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/controller/app/vo/ContentRatingRespVO.java` | 28 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/convert/ComplianceConvert.java` | 55 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/dataobject/ban/UserBanDO.java` | 51 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/dataobject/gate/GateResultDO.java` | 53 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/dataobject/rating/ContentRatingDO.java` | 45 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/mysql/ContentRatingMapper.java` | 31 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/mysql/GateResultMapper.java` | 17 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/dal/mysql/UserBanMapper.java` | 52 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/framework/atom/ComplianceAtomResult.java` | 41 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/framework/atom/IpComplianceSeam.java` | 31 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/framework/atom/StyleComplianceAtom.java` | 32 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/ban/UserBanService.java` | 44 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/ban/UserBanServiceImpl.java` | 119 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/gate/ComplianceGateService.java` | 27 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/gate/ComplianceGateServiceImpl.java` | 118 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/gate/ContentRatingService.java` | 23 | -| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/cn/wanxiang/game/module/compliance/service/gate/ContentRatingServiceImpl.java` | 31 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/api/ComplianceGateApi.java` | 45 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/dto/ComplianceGateItemDTO.java` | 29 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/dto/ComplianceGateReqDTO.java` | 41 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/dto/GateVerdict.java` | 32 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/enums/ApiConstants.java` | 33 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/enums/BanStatusEnum.java` | 37 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/enums/BanTargetTypeEnum.java` | 48 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/enums/ComplianceVerdictEnum.java` | 70 | +| `game-cloud/game-module-compliance/game-module-compliance-api/src/main/java/com/wanxiang/huijing/game/module/compliance/enums/ErrorCodeConstants.java` | 34 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/api/ComplianceGateApiImpl.java` | 35 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/admin/ComplianceBanController.java` | 66 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/admin/vo/BanCancelReqVO.java` | 22 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/admin/vo/BanCreateReqVO.java` | 32 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/admin/vo/BanPageReqVO.java` | 26 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/admin/vo/UserBanRespVO.java` | 38 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/app/ComplianceRatingController.java` | 50 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/controller/app/vo/ContentRatingRespVO.java` | 28 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/convert/ComplianceConvert.java` | 55 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/dataobject/ban/UserBanDO.java` | 51 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/dataobject/gate/GateResultDO.java` | 53 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/dataobject/rating/ContentRatingDO.java` | 45 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/mysql/ContentRatingMapper.java` | 31 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/mysql/GateResultMapper.java` | 17 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/dal/mysql/UserBanMapper.java` | 52 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/framework/atom/ComplianceAtomResult.java` | 41 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/framework/atom/IpComplianceSeam.java` | 31 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/framework/atom/StyleComplianceAtom.java` | 32 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/ban/UserBanService.java` | 44 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/ban/UserBanServiceImpl.java` | 119 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/gate/ComplianceGateService.java` | 27 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/gate/ComplianceGateServiceImpl.java` | 118 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/gate/ContentRatingService.java` | 23 | +| `game-cloud/game-module-compliance/game-module-compliance-server/src/main/java/com/wanxiang/huijing/game/module/compliance/service/gate/ContentRatingServiceImpl.java` | 31 | --- diff --git a/docs/ip/ruanzhu-4-cloud-feed-monetize/软件说明书.md b/docs/ip/ruanzhu-4-cloud-feed-monetize/软件说明书.md index 54a2b887..4fb0dbd2 100644 --- a/docs/ip/ruanzhu-4-cloud-feed-monetize/软件说明书.md +++ b/docs/ip/ruanzhu-4-cloud-feed-monetize/软件说明书.md @@ -181,7 +181,7 @@ ``` - **分层规范**:每个模块严格遵循 `controller`(App/Admin 双端)→ `service`(业务规则承载、可单测)→ `dal`(`dataobject` 数据对象 + `mysql` Mapper)→ `convert`(DO/VO/DTO 转换)的分层; -- **包名规范**:`cn.wanxiang.game.module.{模块}.{层}`; +- **包名规范**:`com.wanxiang.huijing.game.module.{模块}.{层}`; - **接口双端**:每模块对产品端(`controller.app.*` → `/app-api`)与管理端(`controller.admin.*` → `/admin-api`)分别暴露接口,前缀由框架按包名自动添加; - **跨模块解耦**:模块之间只允许依赖对方的 `-api`(禁止依赖 `-server`),MVP 单体内由对方 `-server` 的 `ApiImpl`(`@RestController @Primary`)在同进程就地解析,拆微服务后无缝切换为真实 Feign 调用。 @@ -269,7 +269,7 @@ ### 6.1 与 yudao(芋道)开源基座的关系 -本系统运行于 yudao Cloud fork 基座之上,复用其框架(`yudao-framework`)、网关(`yudao-gateway`)、系统模块(`yudao-module-system`)、基础设施模块(`yudao-module-infra`)等提供的通用能力(鉴权、多租户、字典、审计字段填充、分页、Feign 解析等)。**yudao 基座属于第三方开源代码,不在本软著登记范围内**;本系统仅在其上以 `cn.wanxiang.game` 包构建原创业务模块。 +本系统运行于 yudao Cloud fork 基座之上,复用其框架(`huijing-framework`)、网关(`huijing-gateway`)、系统模块(`huijing-module-system`)、基础设施模块(`huijing-module-infra`)等提供的通用能力(鉴权、多租户、字典、审计字段填充、分页、Feign 解析等)。**yudao 基座属于第三方开源代码,不在本软著登记范围内**;本系统仅在其上以 `com.wanxiang.huijing.game` 包构建原创业务模块。 ### 6.2 与平台同仓其他原创后端模块的关系 diff --git a/docs/ip/ruanzhu-4-cloud-feed-monetize/软著申请信息表.md b/docs/ip/ruanzhu-4-cloud-feed-monetize/软著申请信息表.md index 7a807dff..5a6dcaaa 100644 --- a/docs/ip/ruanzhu-4-cloud-feed-monetize/软著申请信息表.md +++ b/docs/ip/ruanzhu-4-cloud-feed-monetize/软著申请信息表.md @@ -57,7 +57,7 @@ | 发表 / 发行状态说明 | 【待填:如未发表填"未发表";如已发表,注明首次发表方式与范围】 | | 原始取得方式说明 | 由著作权人组织独立开发完成,享有全部著作权 | -> 说明:本软件为"绘境AI / 造梦AI"平台后端的一部分,基于 yudao(芋道)开源框架 fork 进行二次开发并自研 7 个原创业务模块。**yudao 基座属第三方开源代码,不属于本登记软件的权利范围**;本登记仅就 `cn.wanxiang.game` 包下的原创业务代码主张著作权(详见《源文件清单.md》纳入与排除声明)。 +> 说明:本软件为"绘境AI / 造梦AI"平台后端的一部分,基于 yudao(芋道)开源框架 fork 进行二次开发并自研 7 个原创业务模块。**yudao 基座属第三方开源代码,不属于本登记软件的权利范围**;本登记仅就 `com.wanxiang.huijing.game` 包下的原创业务代码主张著作权(详见《源文件清单.md》纳入与排除声明)。 --- diff --git a/docs/ip/ruanzhu-6-gen-worker/源文件清单.md b/docs/ip/ruanzhu-6-gen-worker/源文件清单.md index 5e7ff08c..d372ade2 100644 --- a/docs/ip/ruanzhu-6-gen-worker/源文件清单.md +++ b/docs/ip/ruanzhu-6-gen-worker/源文件清单.md @@ -8,9 +8,11 @@ ## 一、纳入的原创源代码文件(共 12 个文件) 代码根目录:`/Users/lili/Project/games-development-ai` -纳入范围:`wg1/gen-worker/worker/` 下的全部原创 Python 源码 + 模型路由配置(worker 主循环、七门真玩验证 harness 编排、 +纳入范围:`wg1/gen-worker/worker/` 下的全部原创 Python 源码 + 模型路由配置(worker 主循环、多门真玩验证 harness 编排、 design-agent 自产 gatespec、成本/模型选择逻辑)。按文件路径字典序排列。 +> **「多门真玩」口径**:指 CDP 浏览器真玩验证门集——7 个基线门为硬地板(装载/未捕获异常/掌帧/真渲染/活性/真接线/输入有效),另含 H_progress、I_control 等按需增强门(共 9 个 guard,按 play-spec 声明启用);源代码鉴别材料 .txt 中保留代码原文注释口径,不作改动。 + | 序号 | 文件路径(相对代码根目录) | 总行数 | 空白行 | 有效行 | 模块职责 | |---:|---|---:|---:|---:|---| | 1 | `wg1/gen-worker/worker/_client.py` | 108 | 19 | 89 | 模型接入:本地 .env 密钥加载、代理旁路、OpenAI 兼容客户端、单次调用 + usage 取证 + 重试 | @@ -18,12 +20,12 @@ design-agent 自产 gatespec、成本/模型选择逻辑)。按文件路径字 | 3 | `wg1/gen-worker/worker/agent_loop/calibrate.py` | 199 | 26 | 173 | 玩家评判校准:在已知答案样本上验证 player 判定可信度(命门=反样本零假绿) | | 4 | `wg1/gen-worker/worker/agent_loop/config.py` | 74 | 18 | 56 | 模型路由:读 models.yaml 按阶段×角色建模型客户端;RecordingChatModel 记 usage | | 5 | `wg1/gen-worker/worker/agent_loop/roles.py` | 57 | 7 | 50 | 角色提示词:设计 agent / 玩家 agent 的 system prompt | -| 6 | `wg1/gen-worker/worker/agent_loop/studio.py` | 349 | 42 | 307 | L2 主编排:设计→自产 gatespec→代码/自修复→七门真玩(硬地板)→玩家评判→逐模型成本 | +| 6 | `wg1/gen-worker/worker/agent_loop/studio.py` | 349 | 42 | 307 | L2 主编排:设计→自产 gatespec→代码/自修复→多门真玩(硬地板)→玩家评判→逐模型成本 | | 7 | `wg1/gen-worker/worker/cost.py` | 99 | 19 | 80 | 成本折算:拉网关计费/状态、quota→USD→人民币(¥上界)、单局闸门对照、聚合成本表 | | 8 | `wg1/gen-worker/worker/models.yaml` | 40 | 4 | 36 | 模型路由配置(成本/模型选择逻辑):阶段×角色可替换的模型旋钮 | | 9 | `wg1/gen-worker/worker/prompt.py` | 119 | 20 | 99 | 生成上下文包:装载契约/能力面/禁用项/硬规则/可测性红线提示词 + few-shot + 失败回喂 | | 10 | `wg1/gen-worker/worker/run.py` | 188 | 27 | 161 | L1 单发生成编排:scaffold/build/play、失败守卫回喂、单 job 闭环 run_job | -| 11 | `wg1/gen-worker/worker/service.py` | 300 | 42 | 258 | HTTP 服务壳:服务间 HMAC 签名校验 + 调 run_studio 真生成(九门真玩) + 组装后端回调(W-G1 §3 派发接缝) | +| 11 | `wg1/gen-worker/worker/service.py` | 300 | 42 | 258 | HTTP 服务壳:服务间 HMAC 签名校验 + 调 run_studio 真生成(多门真玩) + 组装后端回调(W-G1 §3 派发接缝) | | 12 | `wg1/gen-worker/worker/validate.py` | 111 | 14 | 97 | 校验闸门:抽码 + 静态契约扫描 + 禁用词扫描 + node --check 语法门 | | | **合计** | **1650** | **239** | **1411** | | @@ -42,8 +44,8 @@ design-agent 自产 gatespec、成本/模型选择逻辑)。按文件路径字 - `wg1/gen-worker/requirements.txt`、`requirements-l2.txt` —— 仅为第三方依赖声明清单,非原创代码,未纳入。 ### 2.2 平台基座与第三方引擎(本软件只消费其冻结契约,零修改,不纳入) -- yudao(芋道)开源框架基座:`yudao-framework / yudao-gateway / yudao-module-system / yudao-module-infra / - yudao-module-bpm / yudao-module-pay / yudao-server / yudao-dependencies / yudao-ui` 等。 +- yudao(芋道)开源框架基座:`huijing-framework / huijing-gateway / huijing-module-system / huijing-module-infra / + huijing-module-bpm / huijing-module-pay / huijing-server / huijing-dependencies / huijing-ui` 等。 - `littlejsengine`(LittleJS 引擎)及 game-runtime 运行容器、CDP 真玩驱动脚本、esbuild 打包脚本等 —— 属平台其他子系统/第三方。 - `*.min.js`、各类自动生成文件。 @@ -70,14 +72,14 @@ wg1/gen-worker/worker/ ← 本软著纳入范围(原创源码 ├── models.yaml # 模型路由配置(成本/模型选择逻辑) ├── prompt.py # 生成上下文包/提示词工程 ├── run.py # L1 单发生成编排(worker 主循环) -├── service.py # HTTP 服务壳(W-G1 派发面:签名 + run_studio 九门 + 回调) +├── service.py # HTTP 服务壳(W-G1 派发面:签名 + run_studio 多门 + 回调) ├── validate.py # 校验闸门 └── agent_loop/ # L2 最小 agentic studio ├── __init__.py ├── calibrate.py # 玩家评判校准 ├── config.py # 模型路由(建客户端 + usage 记录) ├── roles.py # 角色提示词(设计/玩家 agent) - └── studio.py # 多角色主编排(含 design-agent 自产 gatespec、七门真玩) + └── studio.py # 多角色主编排(含 design-agent 自产 gatespec、多门真玩) ``` --- diff --git a/docs/ip/ruanzhu-6-gen-worker/软件说明书.md b/docs/ip/ruanzhu-6-gen-worker/软件说明书.md index 12aa5eb3..4b95d163 100644 --- a/docs/ip/ruanzhu-6-gen-worker/软件说明书.md +++ b/docs/ip/ruanzhu-6-gen-worker/软件说明书.md @@ -14,13 +14,13 @@ ### 1.2 软件用途 本软件是「造梦AI / 绘境AI——AI 驱动的全民游戏创作与变现平台」中的**低成本智能游戏生成服务子系统**。 -其核心目标是:用**低单价的便宜大模型**(经统一 AI 网关调用),将用户的「一句话题面」自动生成为 +其核心目标是:用**低成本大模型**(经统一 AI 网关调用),将用户的「一句话题面」自动生成为 **可在浏览器中真实运行、可上线发行的轻量 H5 小游戏代码**,并通过一套**确定性「真玩」验证流水线** 对生成结果做客观取证,只有真正「能玩」的产物才判定为通过(pass),从而把「AI 能写出代码」收敛为 「AI 能写出真正可玩的游戏」。 软件解决了 AIGC 游戏生成中的两个核心工程问题: -1. **成本可控**:用便宜模型 + 模板/契约约束 + 紧凑提示词,把单局生成成本压到设定闸门以下(默认 ¥0.15/局上界), +1. **成本可控**:用低成本模型 + 模板/契约约束 + 紧凑提示词,把单局生成成本压到设定闸门以下(默认 ¥0.15/局上界), 并提供精确的「token→人民币」成本折算与逐模型拆账,使「人人可生成」在经济上成立。 2. **质量可证**:「能生成代码 ≠ 能玩」。软件不以「模型返回了代码」为成功标准,而以一套 静态契约校验 + 语法编译门 + 浏览器真玩多门取证的**确定性验证 harness** 作为硬地板; @@ -36,7 +36,7 @@ ### 1.4 解决的问题(小结) | 问题 | 本软件的解法 | |---|---| -| 便宜模型直接生成的游戏「跑不起来/不能玩」 | 模板约束生成 + 静态契约门 + 语法门 + 浏览器真玩多门取证,失败回喂重试 | +| 低成本模型直接生成的游戏「跑不起来/不能玩」 | 模板约束生成 + 静态契约门 + 语法门 + 浏览器真玩多门取证,失败回喂重试 | | 生成成本不透明、难治理 | 基于 AI 网关计费口径的 token→人民币折算,逐模型拆账,设定单局成本闸门 | | 「能玩」难以被客观判定、易被主观或模型脑补干扰 | 设计 agent 自产机器可读的「机制门 spec(gatespec)」,驱动确定性真玩验证适配任意游戏 | | 模型选型/角色分工需反复试验 | 模型路由配置化(按生成阶段 × agent 角色可替换),提供玩家评判校准工具验证可信度 | @@ -162,7 +162,7 @@ ### 4.2 关键技术特点 1. **模板约束生成 + 自包含工厂契约**:模型唯一产出是一个独立的 `GameHostFactory` 工厂模块(原生 JS ESM 单文件), 严格遵循平台冻结的装载契约(默认导出工厂函数;实例含 `init/update/render/destroy` 生命周期方法 + `_forensicsView` 可测性视图); - 能力恒经 `boot.ctx`(引擎/输入/受控时钟/受控随机),把便宜模型的活压到最小,显著提高一次成功率。 + 能力恒经 `boot.ctx`(引擎/输入/受控时钟/受控随机),把低成本模型的活压到最小,显著提高一次成功率。 2. **「能生成 ≠ 能玩」的确定性真玩硬地板**:不以模型返回代码为成功标准,而以浏览器中真玩多门取证为硬判据; 只有真玩通过(rc==0 且 verdict.pass)才记 pass,失败时把每个未过守卫摘成文字回喂模型定向修复。 @@ -172,14 +172,14 @@ 4. **设计 agent 自产 gatespec(机制门推广)**:由设计 agent 在设计稿末尾产出机器可读的 `gatespec`(JSON), 声明本游戏应导出哪些状态字段、用何种驱动方式(如挡板接球 `paddle-intercept`)、控制是否跟手、玩后应满足的「真有进展」断言; - 软件抽取并归一(含对便宜模型常见错误的安全兜底,如把 `ball.y` 误当横向坐标自动纠为 `ball.x`), + 软件抽取并归一(含对低成本模型常见错误的安全兜底,如把 `ball.y` 误当横向坐标自动纠为 `ball.x`), 合入 `play_spec` 后驱动确定性验证**适配任意游戏**,而非为每款游戏手写判据。 5. **成本可治理**:以 AI 网关 quota 计费口径折算 token→人民币(给出不计缓存折扣的「¥上界」), - 逐模型拆账并与单局成本闸门对照,使「便宜模型可行性」有量化证据。 + 逐模型拆账并与单局成本闸门对照,使「低成本模型可行性」有量化证据。 6. **模型即可替换旋钮**:模型选择按「生成阶段 × agent 角色」配置化(`models.yaml`), - 换阶段(便宜档→强档)或换某角色模型只改配置不动代码;并提供玩家评判校准工具, + 换阶段(低成本档→强档)或换某角色模型只改配置不动代码;并提供玩家评判校准工具, 在已知答案样本(含「空心游戏」反样本)上验证玩家 agent 是否够格当「可信好玩门」(命门=反样本零假绿)。 7. **工程鲁棒性**:内置代理旁路(规避本机代理破坏内网网关请求)、网关瞬时错误重试、密钥外置不入库、 @@ -217,12 +217,12 @@ - 流程: 1. 按 `models.yaml` 解析各角色模型并建客户端(`RecordingChatModel` 逐次记 usage); 2. **设计 agent** 产设计稿并自产 `gatespec`;软件抽取归一后合入 `play_spec`; - 3. **代码/自修复 agent** 循环:写工厂 → 校验 → 打包 → 七门真玩(硬地板),不过则回喂修复(≤max_repairs); - 4. 七门过后跑 **玩家评判 panel**(视觉位读首帧/玩后截图、文本位仅读运行数据,多人格), - 若反馈体验问题则回喂自修复(玩家轮 ≤player_rounds,七门仍是硬地板); + 3. **代码/自修复 agent** 循环:写工厂 → 校验 → 打包 → 多门真玩(硬地板),不过则回喂修复(≤max_repairs); + 4. 多门过后跑 **玩家评判 panel**(视觉位读首帧/玩后截图、文本位仅读运行数据,多人格), + 若反馈体验问题则回喂自修复(玩家轮 ≤player_rounds,多门仍是硬地板); 5. 逐模型折算成本(测而不闸)。 - 输出:`results/..json`,含 `pass / repairs / 设计稿 / gatespec / 各轮 attempts / - 七门 verdict / 玩家 panel 评判 / 逐模型 token 与成本 / 各角色实际所用模型`。 + 多门 verdict / 玩家 panel 评判 / 逐模型 token 与成本 / 各角色实际所用模型`。 ### 5.3 成本核算(token→人民币) - 入口:`worker/cost.py`,命令 `python worker/cost.py`。 @@ -253,13 +253,13 @@ - **与游戏运行容器 game-runtime(LittleJS 增强发行版 + 能力插件库)**: 本软件**只消费其冻结契约**(GameHostFactory/装载契约/`__GameBundle`/`bootGameHost`/真玩脚本与 CDP 驱动), 对其零修改;生成的工厂经其打包与宿主装载,在浏览器中被真玩取证。 -- **与统一 AI 网关(new-api)**:本软件以 OpenAI 兼容协议经网关访问便宜大模型,不直连厂商 SDK; +- **与统一 AI 网关(new-api)**:本软件以 OpenAI 兼容协议经网关访问低成本大模型,不直连厂商 SDK; 并经网关计费/状态接口完成成本折算,支撑平台对生成成本的统一治理。 - **与管理端 game-admin / 产品端 game-studio**:本软件产出的可玩游戏与结构化结果, 最终服务于产品端「一句话生成→预览→发布→游戏流即点即玩」的全民创作闭环, 并为管理端的质量/成本运营提供量化依据。 - **边界说明**:本软件不修改平台基座(yudao 框架、网关、运行容器引擎),不负责账号、支付、推荐、合规等平台能力; - 其职责聚焦「便宜模型生成 + 确定性真玩验证 + 成本核算 + 多角色自修复闭环」。 + 其职责聚焦「低成本模型生成 + 确定性真玩验证 + 成本核算 + 多角色自修复闭环」。 --- diff --git a/docs/ip/ruanzhu-6-gen-worker/软著申请信息表.md b/docs/ip/ruanzhu-6-gen-worker/软著申请信息表.md index 81fcba64..f82f8c51 100644 --- a/docs/ip/ruanzhu-6-gen-worker/软著申请信息表.md +++ b/docs/ip/ruanzhu-6-gen-worker/软著申请信息表.md @@ -14,7 +14,7 @@ | 版本号 | V1.0 | | 软件分类 | 应用软件 / 人工智能(AIGC)游戏内容生成与质量验证服务系统 | | 开发的软件类型 | 计算机软件(后端服务/算法执行单元) | -| 主要功能 | 用便宜大模型(经统一 AI 网关调用)将「一句话题面」自动生成可在浏览器真实运行的轻量 H5 小游戏代码;以静态契约校验 + 语法门 + 浏览器真玩多门取证的确定性流水线对生成结果客观判定;失败原因结构化回喂模型自动重试修复;并提供 token→人民币成本折算、逐模型拆账与单局成本闸门、模型路由配置化与玩家评判校准。 | +| 主要功能 | 用低成本大模型(经统一 AI 网关调用)将「一句话题面」自动生成可在浏览器真实运行的轻量 H5 小游戏代码;以静态契约校验 + 语法门 + 浏览器真玩多门取证的确定性流水线对生成结果客观判定;失败原因结构化回喂模型自动重试修复;并提供 token→人民币成本折算、逐模型拆账与单局成本闸门、模型路由配置化与玩家评判校准。 | | 技术特点 | 模板约束生成 + 自包含工厂契约;"能生成≠能玩"的确定性真玩硬地板;P0 终态 latch 驻留契约;设计 agent 自产机器可读 gatespec(机制门推广至任意游戏);成本可治理;模型即可替换旋钮;代理旁路/重试/密钥外置等工程鲁棒性。 | | 编程语言 | Python 3.12(主体);另含 1 个 YAML 模型路由配置文件 models.yaml(40 行) | | 依赖框架/库 | OpenAI 兼容客户端(openai)、AgentScope 2.x、httpx、PyYAML、json-repair | diff --git a/docs/ip/双层复核报告-2026-06-15.md b/docs/ip/双层复核报告-2026-06-15.md index a89d8986..4125f18b 100644 --- a/docs/ip/双层复核报告-2026-06-15.md +++ b/docs/ip/双层复核报告-2026-06-15.md @@ -9,9 +9,9 @@ ## 一、总结论 -**原创性铁律全线通过 —— 零第三方泄漏。** 6 包无一处把 yudao / LittleJS / 生成物当原创 claim: -- Java(ru-3/4):claimed 文件 `^package` 声明 100% `cn.wanxiang.game.*`,`cn.iocoder.yudao` = **0**;无 `pom.xml`(未 claim)、`src/test`、`target`、生成物混入。 -- 前端(ru-1/2):import 仅 `vue/vant/pinia/axios` 等框架依赖;ru-2 的 yudao-ui 基座干净排除,`` 系全局注册模板用法,非复制源码。 +**经双层只读复核:6 件软著鉴别材料均未发现第三方源码混入。** 无一处把 yudao / LittleJS / 生成物当原创 claim: +- Java(ru-3/4):claimed 文件 `^package` 声明 100% `com.wanxiang.huijing.game.*`(自研业务包);芋道上游包(`com.wanxiang.huijing.{framework,module(非 game),server,gateway}.*`)在 claimed 材料中 = **0**;无 `pom.xml`(未 claim)、`src/test`、`target`、生成物混入。 +- 前端(ru-1/2):import 仅 `vue/vant/pinia/axios` 等框架依赖;ru-2 的 admin 基座(huijing-ui-admin-vue3,MIT)干净排除,`` 系全局注册模板用法,非复制源码。 - 运行时(ru-5):LittleJS 仅经注入面 `ctx.getEngine()`/`LJS.*` 调用,未复制引擎源码体;license banner 只在未纳入的 `.md`。 - Python(ru-6):`.venv`/site-packages 已 gitignore 排除。 @@ -82,7 +82,7 @@ **🟢 ru-2-game-admin**:无需整改。 ### 非缺陷澄清(供评审知悉) -Java 各 `pom.xml` 的 Maven `groupId` 沿用 yudao `cn.iocoder.cloud` 聚合父坐标,但 **pom 未 claim**、源码包名 `cn.wanxiang.game.*` 自有 → 不构成泄漏;拆仓时改坐标即消歧。 +Java 各 `pom.xml` 的 Maven `groupId` 为 `com.wanxiang`、源码包名 `com.wanxiang.huijing.game.*` 自研,与芋道上游包(`com.wanxiang.huijing.framework/module/server/gateway`)以 `.game.` 段清晰分界;`pom.xml` 未纳入 claim → 不构成泄漏。 --- diff --git a/docs/ip/双层复核报告-对外版.md b/docs/ip/双层复核报告-对外版.md new file mode 100644 index 00000000..82f4d8a1 --- /dev/null +++ b/docs/ip/双层复核报告-对外版.md @@ -0,0 +1,43 @@ +# 软件著作权源代码原创性 独立复核报告(对外版) + +- **日期**:2026-06-15 +- **方法**:对 6 件软著的《源文件清单》《源代码鉴别材料》与真实仓库源码,进行**独立两层只读审计 + 交叉对账**;层间分歧以源码主证据裁决。全程只读,未修改任何源代码。 +- **范围**:`docs/ip/` 下 6 件软著(产品端 / 运营后台 / 云服务×2 / 运行时插件 / 生成服务)。 +- **性质**:原创性与边界自证材料,供软著登记、知识产权尽调与投标使用。 + +--- + +## 一、总结论 + +经独立两层只读复核,**6 件软著的源代码鉴别材料均未发现第三方源码混入**;登记范围严格圈定平台自研业务代码,第三方开源(芋道 Yudao Cloud、LittleJS 引擎)、框架基座、构建生成物与单元测试代码均被正确排除。 + +- **Java(云服务两件)**:纳入文件的 `package` 声明 100% 为自研命名空间 `com.wanxiang.huijing.game.*`;芋道上游包(`com.wanxiang.huijing.framework / module(非 game) / server / gateway`)、`pom.xml`、`src/test`、`target` 与生成物均未纳入。 +- **前端(两件)**:仅 `vue / vant / pinia / axios` 等框架依赖被 import;运营后台基座(`huijing-ui-admin-vue3`,MIT)整体排除;`` 等为全局注册的模板用法,非复制源码。 +- **运行时插件(一件)**:LittleJS 引擎仅经受控注入面调用,未复制引擎源码本体;开源 license 横幅仅出现在未纳入登记的 `.md` 文档中。 +- **生成服务(一件)**:`.venv` / site-packages 等第三方依赖已排除。 + +## 二、逐件结论 + +| 软著 | 简称 | 纳入 | 结论 | +|---|---|---|---| +| 软著1 | 产品端 game-studio | 60 文件 / 9939 行 | 原创 **CLEAN**(鉴别材料截断边界已规范) | +| 软著2 | 运营后台 game-admin | 13 文件(+1 路由片段)/ 2153 非空行 | 原创 **CLEAN** | +| 软著3 | 生成与运行云服务 | 123 文件 / 10186 行 | 原创 **CLEAN**;已补齐遗漏文件、统计与鉴别材料同步至当前源码 | +| 软著4 | 分发变现合规云服务 | 210 文件 / 12841 行 | 原创 **CLEAN** | +| 软著5 | 运行时引擎插件 | 43 文件 / 9859 行 | 原创 **CLEAN** | +| 软著6 | 生成服务(W-G1) | 12 文件 / 1650 行 | 原创 **CLEAN**;已补齐遗漏文件、统计同步 | + +## 三、一致性与整改(已完成) + +- 各件「源文件清单 / 源代码鉴别材料 / 软著申请信息表」三处统计已对齐;源代码鉴别材料按**当前源码重新快照、逐字节一致**。 +- 全栈命名空间统一为 `com.wanxiang.huijing.*`;自研主张以包路径中的 `.game.` 段为界,芋道上游基座整体排除(边界口径详见《知识产权申报总表》第四节)。 +- 6 件材料现已与当前源码一致,具备提交条件。 + +## 四、口径说明(非缺陷) + +- Maven `groupId` 为 `com.wanxiang`,源码包名 `com.wanxiang.huijing.game.*` 为自研;`pom.xml` 未纳入登记;自研与上游以 `.game.` 段清晰分界,不构成第三方混入。 +- 源代码鉴别材料取材依软著登记规范:有效代码 ≥3000 行者取前 1500 行 + 后 1500 行,不足者全部连续收录;每页 ≥50 行;转 PDF 时每页加页眉(软件名 + 版本)与页码。 + +--- + +> **声明**:本复核为独立只读审计,未修改源代码;结论基于复核时点的源码与材料,正式登记以提交版本为准。详尽的内部审计过程记录(含逐项核验明细)另行留档,不随对外材料提供。