4.5 KiB
4.5 KiB
name, overview, todos, isProject
| name | overview | todos | isProject | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 首充定格已解锁列 | 在 Free Credits 统计(首充定格)列表页增加「已解锁金额」列;后端 `claimed_amount_qf` 已按第二档及以后 release 档已完成金额聚合,主要改 slot_admin_vue 展示即可。 |
|
false |
首充定格列表增加「已解锁金额」列
背景
目标页面为 Free Credits 统计(菜单:活动管理 → Free Credits 统计):
- 前端:slot_admin_vue/src/views/game/freeCreditsStats/index.vue
- 后端:slot_admin/app/game/controller/FreeCreditsStatsController.php → FreeCreditsStatsLogic
需求文档 §18.2 中对应字段为 「已领取金额」(后续已 Claim 金额);产品侧列名为 「已解锁金额」,语义一致:第二档(package_type=release)起用户已成功领取的金额,不含第一档免打码提现。
现状(无需重复造数)
后端 list() 已在每行返回 claimed_amount_qf,聚合逻辑在 aggregatePackages():
SUM(CASE WHEN package_type = {$typeFirstCash} AND status = {$statusCompleted} THEN amount_qf ELSE 0 END) AS first_cashout_amount_qf,
SUM(CASE WHEN package_type = {$typeRelease} AND status = {$statusCompleted} THEN amount_qf ELSE 0 END) AS claimed_amount_qf,
TYPE_FIRST_CASH = 1:第一档提现TYPE_RELEASE = 2:第二档及以后 Claim- 仅
status = STATUS_COMPLETED计入
remaining_amount_qf 已用该字段参与计算:frozen - first_cashout - claimed。
顶部汇总区已有「已领取金额」展示 stats.claimed_amount_qf,与行字段同源。
flowchart LR
subgraph api [GET /game/freeCreditsStats/index]
list[list.data]
stats[otherData.statistics]
end
subgraph agg [aggregatePackages]
release["SUM release completed amount_qf"]
end
release --> claimed["claimed_amount_qf per row"]
claimed --> list
release --> stats
实现方案
1. slot_admin_vue(主要改动)
文件:index.vue
在 columns 中 「完成进度」与「剩余未释放金额」之间 插入一列:
| 列标题 | dataIndex | 说明 |
|---|---|---|
| 已解锁金额 | claimed_amount_qf |
千分位转美元,与定格金额等列一致 |
新增 slot 模板(复用现有 qfToDollar):
<template #claimed_amount_qf="{ record }">
${{ qfToDollar(record.claimed_amount_qf) }}
</template>
无需改 freeCreditsStats.js API 封装。
2. slot_admin 后端(可选 / 建议不改)
FreeCreditsStatsLogic.php 已满足需求,无需新增接口或 SQL。
若希望 API 字段名与列标题一致,可额外返回别名 unlocked_amount_qf(与 claimed_amount_qf 同值),但会增加前后端两套字段,不建议,前端直接用 claimed_amount_qf 即可。
3. 命名对齐(可选)
- 列表列名:已解锁金额(按产品要求)
- 顶部汇总仍为「已领取金额」;与需求文档 §18.1 一致。若产品要求顶部也改名,可一并改为「已解锁金额」,本次可只做列表列。
验证
- 打开 Free Credits 统计页,确认新列有值;未领取第二档的用户为
$0.00。 - 抽查:某用户第二档及以后
free_credits_package中package_type=2且status=3的amount_qf之和 = 列表「已解锁金额」× 1000。 - 确认「剩余未释放金额」= 定格金额 − 第一档已提现 − 已解锁金额(与现有公式一致)。
- 执行
~/.cursor/hooks/verify-slot-backend.sh(若仅改 Vue,预期PASS (no changed files)或仅前端相关检查)。
改动范围小结
| 仓库 | 文件 | 改动 |
|---|---|---|
| slot_admin_vue | src/views/game/freeCreditsStats/index.vue |
新增列 + 金额模板 |
| slot_admin | — | 无(数据已返回) |