v1.0.0 (2026-08-15 18:56)
Personal Report
Overview
- Description: Query the user's deposit and withdrawal action logs, as well as detailed game tickets (win/loss reports) for major game halls.
Business Logic & Explanations
TIP
The underlying design of personal reports uses read-write separation and anti-crawler security designs:
- Query Separation: Deposit and withdrawal history records do not query MySQL under high concurrency. Instead, they are retrieved directly from Elasticsearch (
wg_deposit,wg_withdraw) to improve query efficiency. - Precision Restoration: To avoid floating-point precision loss, amounts in ES are stored as integers by multiplying them by
100000. The backend interface must uniformly divide (/ 100000) to restore the real amount before returning it to the frontend. - Encrypted Transmission: In the game ticket query (
/api/finance/report/games), the hall name (gamename) and type (gamegenr) submitted by the frontend must be ciphertext encrypted bySha256Lib. The backend mustdecryptit before initiating the query, which is used to prevent batch crawler attacks.
1. GET - Get Deposit History
- Path:
/api/finance/report/deposit - Description: Fetch deposit history from ES with pagination.
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer Token |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | Integer | No | Page number, default 1 |
limit | Integer | No | Quantity per page, default 15 |
Response Example
json
{
"code": 0,
"msg": "Success",
"data": {
"list": [
{
"amount": 100.00, // Executed / 100000 after fetching from ES
"status": "Success",
"applied_time": "2026-11-22 14:00:00"
}
],
"total": 1
}
}2. GET - Get Withdrawal History
- Path:
/api/finance/report/withdraw - Description: Fetch withdrawal history from ES with pagination.
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer Token |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | Integer | No | Page number, default 1 |
limit | Integer | No | Quantity per page, default 15 |
Response Example
json
{
"code": 0,
"msg": "Success",
"data": {
"list": [],
"total": 0
}
}3. GET - Get Game History Report
- Path:
/api/finance/report/games - Description: Retrieve specific hall's betting turnover and win/loss records.
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer Token |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
date1 | String | Yes | Start date (Y-m-d) |
date2 | String | Yes | End date (Y-m-d) |
gamename | String | Yes | Game/Hall name (Ciphertext encrypted by Sha256) |
gamecode | String | Yes | Game code (Ciphertext encrypted by Sha256) |
gamegenr | String | Yes | Game category ID (Ciphertext encrypted by Sha256) |
Response Example
json
{
"code": 0,
"msg": "Success",
"data": [
{
"datetime": "2026-11-22 14:00:00",
"gamename": "Slot A",
"turnover": "100.00",
"win": "50.00",
"winlose": "-50.00"
}
]
}