Skip to content
v1.0.0 (2026-08-15 18:56)

个人报表 (Personal Report)

接口说明

  • 说明: 查询用户的充提流水记录以及各大游戏场馆的详细游戏注单(胜负报表)。

底层业务逻辑与说明 (Business Logic)

TIP

个人报表的底层设计采用了读写分离及反爬虫安全设计:

  1. 查询分离:充值和提现历史记录不查询 MySQL,而是直接从 Elasticsearch (wg_deposit, wg_withdraw) 获取,能够支撑高并发访问。
  2. 精度还原:ES 中为了避免浮点精度丢失,金额是以 * 100000 的整数形式存储。后端接口在返回给前端前,必须统一切割(/ 100000)还原。
  3. 加密传输:游戏注单查询 (/api/finance/report/games) 中,前端提交的场馆名 (gamename) 和类型 (gamegenr) 必须是经过 Sha256Lib 加密后的密文,后端必须先 decrypt 解密才能发起查询,用于防止批量爬虫攻击。

1. GET - 获取充值记录

  • 路径: /api/finance/report/deposit
  • 说明: 分页从 ES 获取充值历史。

请求头

参数名类型必填说明
AuthorizationStringBearer Token

请求参数

参数名类型必填说明
pageInteger页码,默认 1
limitInteger每页数量,默认 15

返回示例

json
{
  "code": 0,
  "msg": "获取成功",
  "data": {
    "list": [
      {
        "amount": 100.00, // 从 ES 取出后已执行 / 100000
        "status": "Success",
        "applied_time": "2026-11-22 14:00:00"
      }
    ],
    "total": 1
  }
}

2. GET - 获取提现记录

  • 路径: /api/finance/report/withdraw
  • 说明: 分页从 ES 获取提现历史。

请求头

参数名类型必填说明
AuthorizationStringBearer Token

请求参数

参数名类型必填说明
pageInteger页码,默认 1
limitInteger每页数量,默认 15

返回示例

json
{
  "code": 0,
  "msg": "获取成功",
  "data": {
    "list": [],
    "total": 0
  }
}

3. GET - 获取游戏注单报表

  • 路径: /api/finance/report/games
  • 说明: 检索具体场馆的游戏打码及输赢情况。

请求头

参数名类型必填说明
AuthorizationStringBearer Token

请求参数

参数名类型必填说明
date1String开始日期 (Y-m-d)
date2String结束日期 (Y-m-d)
gamenameString游戏/场馆名称 (经过 Sha256 加密的密文)
gamecodeString游戏代码 (经过 Sha256 加密的密文)
gamegenrString游戏分类 ID (经过 Sha256 加密的密文)

返回示例

json
{
  "code": 0,
  "msg": "获取成功",
  "data": [
    {
      "datetime": "2026-11-22 14:00:00",
      "gamename": "Slot A",
      "turnover": "100.00",
      "win": "50.00",
      "winlose": "-50.00"
    }
  ]
}