docs(ip): 命名空间同步 com.wanxiang.huijing + Codex 复核整改
- 软著3/4 源代码鉴别材料按当前 com.wanxiang.huijing 源码重新提取(gen_ru3/新增 gen_ru4,字节忠实) - 全量同步包名/路径/芋道目录标签;自研主张以 .game. 段为界,芋道(MIT)整体排除 - 总表 §一统计对齐各清单(123/10186、210/12841、9859、12/1650、461 文件);5.6万→约4.7万(纠无支撑数) - Codex 只读复核整改:高企表述加限定;专利4 权9 矛盾、专利1 manifest 口径修正;ru-6 便宜→低成本、七门九门→多门统一 - 新增双层复核报告对外洁净版 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
b780323e53
commit
6404ea7db1
@ -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` | 上线总控;知识产权(软著证书/专利受理通知)可作为「自主知识产权」项的合规与投标证明材料 |
|
||||
|
||||
@ -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,
|
||||
]
|
||||
|
||||
73
docs/ip/_tools/gen_ru4.py
Normal file
73
docs/ip/_tools/gen_ru4.py
Normal file
@ -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")
|
||||
@ -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 附图说明(文字描述,供代理所制图)
|
||||
|
||||
|
||||
@ -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 远程调用,业务代码无需改动。这使「合规作为发布强制前置」既能在单体内同步、低延迟执行,又具备向微服务演进的兼容性。
|
||||
|
||||
|
||||
@ -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/` 试验代码等,均不属于本软件登记范围。
|
||||
|
||||
> 上述排除项确保鉴别材料仅体现著作权人的原创智力成果。
|
||||
|
||||
@ -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<AigcTaskDO> {
|
||||
|
||||
}
|
||||
|
||||
// ==================== 文件: 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<StudioAssetDO> {
|
||||
|
||||
}
|
||||
|
||||
// ==================== 文件: 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<StudioSessionDO> {
|
||||
|
||||
}
|
||||
|
||||
// ==================== 文件: 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<StudioTaskChainDO> {
|
||||
|
||||
}
|
||||
|
||||
// ==================== 文件: 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 实现(创作主链路编排核心)
|
||||
|
||||
@ -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 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -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<Boolean> markSettled(@RequestBody List<Long> 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<AdRevenueDO> {
|
||||
* 按计费幂等键查台账(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<AdRevenueDO> {
|
||||
}
|
||||
|
||||
}
|
||||
// ===== 文件: 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<AdSlotDO> {
|
||||
}
|
||||
|
||||
}
|
||||
// ===== 文件: 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<AccountDO> {
|
||||
*/
|
||||
default int addIncome(@Param("userId") Long userId, @Param("net") Long net) {
|
||||
LambdaUpdateWrapper<AccountDO> update = new LambdaUpdateWrapper<AccountDO>()
|
||||
// 可提现余额 += 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<AccountDO> {
|
||||
}
|
||||
|
||||
}
|
||||
// ===== 文件: 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<IncomeDO> {
|
||||
/**
|
||||
* 平台营收报表:按结算日区间汇总 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<IncomeDO> {
|
||||
}
|
||||
|
||||
}
|
||||
// ===== 文件: 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<WithdrawDO> {
|
||||
}
|
||||
|
||||
}
|
||||
// ===== 文件: 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 打款)
|
||||
|
||||
@ -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 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -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 与平台同仓其他原创后端模块的关系
|
||||
|
||||
|
||||
@ -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》纳入与排除声明)。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -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、多门真玩)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@ -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/<game_id>.<stage>.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 框架、网关、运行容器引擎),不负责账号、支付、推荐、合规等平台能力;
|
||||
其职责聚焦「便宜模型生成 + 确定性真玩验证 + 成本核算 + 多角色自修复闭环」。
|
||||
其职责聚焦「低成本模型生成 + 确定性真玩验证 + 成本核算 + 多角色自修复闭环」。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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 基座干净排除,`<el-*>` 系全局注册模板用法,非复制源码。
|
||||
**经双层只读复核: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)干净排除,`<el-*>` 系全局注册模板用法,非复制源码。
|
||||
- 运行时(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 → 不构成泄漏。
|
||||
|
||||
---
|
||||
|
||||
|
||||
43
docs/ip/双层复核报告-对外版.md
Normal file
43
docs/ip/双层复核报告-对外版.md
Normal file
@ -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)整体排除;`<el-*>` 等为全局注册的模板用法,非复制源码。
|
||||
- **运行时插件(一件)**: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 时每页加页眉(软件名 + 版本)与页码。
|
||||
|
||||
---
|
||||
|
||||
> **声明**:本复核为独立只读审计,未修改源代码;结论基于复核时点的源码与材料,正式登记以提交版本为准。详尽的内部审计过程记录(含逐项核验明细)另行留档,不随对外材料提供。
|
||||
Loading…
x
Reference in New Issue
Block a user