name, overview, todos, isProject
| name |
overview |
todos |
isProject |
| Free Credits 验收核查 |
「首充前免费余额定格与分档释放」的后端核心链路(定格、分档、首档提现、后续 Claim、充值事件、钱包账务)已在 slot_console / slot_wallet / slot_pay / slot_lib 落地约 70–80%,但尚未达到需求文档 V1.0 全量验收标准;运营后台、客户端 UI、广播、异常风控、部分 API 字段与自动化测试仍缺失或未对齐。 |
| id |
content |
status |
| p0-wallet-atomicity |
补齐 Claim+Y1 原子性/回滚;确认是否需要 Deposit Lot |
pending |
|
| id |
content |
status |
| p0-status-api-fields |
status/buildStatus 增加 total_recharge、show_home_status_bar、show_activity_entry |
pending |
|
| id |
content |
status |
| p0-peak-balance |
首页解锁「曾达到门槛」:增加峰值记录或可靠触发点 |
pending |
|
| id |
content |
status |
| p1-admin-config-stats |
slot_admin 增加 type=11 配置页与统计页(对接 innerapi) |
pending |
|
| id |
content |
status |
| p1-refund-risk |
实现充值退款/拒付暂停未释放档位(文档 20.1) |
pending |
|
| id |
content |
status |
| p2-frontend-broadcast |
前端仓实现 UI/广播;本仓可增加 broadcast API |
pending |
|
| id |
content |
status |
| p2-tests |
按文档 22.1/22.2 补充自动化或验收用例 |
pending |
|
|
false |
首充前免费余额定格与分档释放 — 实现完成度核查
结论:未实现完。 后端主流程可联调,但对照 需求文档 第 22 节验收标准,仍有若干 P0 账务/规则缺口 与大量 前端/运营/统计 范围未覆盖。
实现分布(已落地)
按需求章节对照(22.1 核心规则)
| 验收项(文档 22.1) |
实现情况 |
说明 |
| 未达 $50 点 Withdraw 提示 |
前端 |
后端 status 返回 win_threshold / home_withdraw_unlocked,无专用提示 API |
| 曾达 $50 后输回仍解锁 |
部分 |
已解锁用户靠 home_withdraw_unlocked=1 保持;未持久化历史峰值,仅在 MQ 事件时若 balance >= threshold 才写库,存在漏解锁边界(例如达峰后无 win/bonus 类事件即输掉) |
| 任意入口首充定格 |
是 |
RechargeEvent + handleRecharge,frozenAmount = balance_after - wallet_amount |
| 首充失败不定格 |
是 |
仅充值成功 MQ 触发 |
| 定格后余额扣除、活动展示 |
是 |
freeCreditsFreeze + player/package 记录 |
| 累计未满 $50 第一档不可提现 |
是 |
首包 STATUS_LOCKED 直至 wallet.r >= recharge_unlock_amount |
| 累计满 $50 第一档可提现 |
是 |
advanceByRecharge 解锁 package_no=1 |
| 定格 < $20 时第一档=定格额 |
是 |
min(frozen, first_cash_amount) |
| 第一档提现成功后关首页状态条 |
后端未显式字段 |
有 STATUS_FIRST_CASH_DONE,但 buildStatus 未返回 show_home_status_bar 等 UI 开关,需前端自行推断 |
| 后续充值只解锁下一档 |
是 |
max_unlock_per_recharge + nextLockedReleasePackage |
| Claim 入 Deposit + Y1 |
部分 |
入 deposit_balance + createTask(SOURCE_TYPE_FREE);无 Deposit Lot(文档 15.4、22.2) |
| 全部完成关活动入口 |
部分 |
STATUS_COMPLETED=10;API 未返回 show_activity_entry 布尔字段 |
按需求章节对照(22.2 账务)
| 验收项 |
实现情况 |
风险 |
| 定格有钱包流水 |
是 |
BIZ_TYPE_FREE_CREDITS_FREEZE |
| 定格前后余额正确 |
是 |
addLog 记录 |
| 第一档不进普通钱包 |
是 |
独立 free_credit_first_cashout,跳过 withdrawFrozen |
| Claim 创建 Deposit Lot |
否 |
全仓库无 DepositLot/deposit_lot 实现 |
| Claim 创建 Y1 |
是 |
但 createTask 在钱包事务 commit 之后;失败仅打日志,不满足 文档 20.3「流水任务失败整体回滚」 |
| 重复回调不重复定格 |
是 |
frozen_amount_qf > 0 跳过 |
| 重复 Claim 不重复入账 |
部分 |
package 状态 + claim_biz_id 唯一;钱包层 未见 biz_id 幂等查重 |
明确未实现 / 未对齐项
P0(影响验收或资金一致性)
- Deposit Lot:文档 15.4 / 22.2 要求 Claim 后创建;当前仅
inc deposit + Y1 task。
- Claim 与 Y1 原子性:
freeCreditsClaim 先 commit 入账,再 createTask;与 20.3 冲突。
- 充值退款/拒付暂停档位(文档 20.1):
FreeCreditsLogic 无 refund/chargeback 处理。
- status API 缺累计充值进度:定格后 UI 需要
$9.99 / $50(文档 6.3、7.3),buildStatus 未返回 total_recharge(内部用 wallet.r,未透出)。
- 「曾经达到 $50」:无
peak_balance 字段;依赖事件驱动 syncHomeWithdrawUnlocked,与 5.2 字面规则不完全一致。
P1(运营与配置)
- 后台配置模块(文档 17):
backend/slot_admin / slot_admin_vue 无 TYPE_FREE_CREDITS=11 的 CRUD 页面;仅能手工维护 s_recharge_gift_config.ext_config。
- 后台统计页(文档 18):仅有 innerapi 简化接口;列表缺 渠道、时间范围、第一档状态、排序项、累计充值、完成进度 等字段/筛选项。
- 可配置 Y1 倍数(文档 17
后续档打码倍数):代码写死 createTask(0, fee, SOURCE_TYPE_FREE),未读 ext_config。
- 状态机
STATUS_FROZEN=2:模型定义了但 Logic 从未赋值(定格后直接 DEPOSIT_PENDING / FIRST_CASH_READY)。
P2(产品体验 / 文档其他章节)
- 客户端 UI(文档 6–14):
slot_pwa 等仓库 零引用 free_credits;首页状态条、Free Play to Go、独立提现页、广播模块均未实现(原开发计划也标明前端另仓)。
- 广播模块(文档 13):无最近 10 条提现/领取记录 API。
- 注册赠送改 $30(文档 19):与本活动解耦,未在本需求代码变更中验证是否已改配置/落地页。
- 自动化测试:无 FreeCredits 相关单测/集成测试。
与现有开发计划的一致性
free_credits_release 计划 中 implement-console-core 仍为 pending,与代码现状(Logic 已较完整)不一致;test-acceptance 标 completed 但仓库内 无测试文件,建议以文档 22 节手工/自动化用例重新验收。
建议验收顺序(若需补齐)
- 手工走通 P0 账务用例:首充定格幂等、满 $50 解锁、首档提现回调、顺序 Claim、重复 Claim/回调。
- 补齐 status 字段:
total_recharge、show_home_status_bar、show_activity_entry、current_balance。
- 对齐钱包:Deposit Lot(若钱包规范要求)、Claim+Y1 同事务或补偿回滚。
- 运营:slot_admin 增加 type=11 配置页 + 统计页对接 innerapi。
- 前端仓:按文档 6–14 接 API(本 monorepo 外)。
- 补测试:覆盖 22.1 / 22.2 表格各行。
总览评分(仅供沟通)
| 范围 |
完成度(估) |
| 后端核心状态机 + 充值/提现/Claim 链路 |
~75–85% |
| 钱包账务与文档完全一致 |
~60% |
| 客户端 API 字段/UI 支撑 |
~50% |
| 运营后台配置与统计 |
~25% |
| 前端 UI / 文案 / 广播 |
~0%(本仓库) |
| 自动化测试 |
~0% |
综合:需求文档 V1.0 不能判定为「已全部实现」;可判定为「后端 MVP 已具备,待补齐账务细节、运营与前端后全量验收」。