## 操作玩家slots奖池

- 注: *接口需单独申请权限*

### 获取玩家slots奖池
>   URL: APIURL/api/v1/slotspool/get

#### 请求参数：

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| Players | []string | 玩家的Id数组 |

-  eg. `{"Players":["testuser1","testuserxxxx"]}`


#### 返回结果:
    
| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| Players | []GetPlayer | 玩家的信息数组 |

#### GetPlayer结构体

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| UserID  | string     | 玩家的Id                                      |
| Amount  | float64    | 玩家奖池金额                                  |
| Error   | string     | 错误信息                                      |

-  eg. `{"code":0,"error":"","data":{"Players":[{"UserID":"testuser1","Amount":-199.22,"Error":""},{"UserID":"testuserxxxx","Amount":0,"Error":"player not found"}]}}`



### 增减玩家slots奖池

>   URL: APIURL/api/v1/slotspool/inc

#### 请求参数：

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| Players | []IncPlayer | 玩家的信息数组 |
| TraceId | string[8-64]     | 请求追踪Id                                    |

#### IncPlayer结构体

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| UserID  | string     | 玩家的Id                                      |
| AccVal  | float64    | 增减的奖池金额                                |


- eg. `{"Players":[{"UserID":"testuser1","AccVal":1000},{"UserID":"testuserxxxx","AccVal":100}],"TraceId":"test_trace_ifddaaaafds"}`

#### 返回结果:

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| Players | []IncPlayerResult | 玩家的信息数组 |

#### IncPlayerResult结构体

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| UserID  | string     | 玩家的Id                                      |
| AccVal  | float64    | 增减的奖池金额  +增加, -减少                               |
| RevisedPool | float64 | 修正后的奖池金额                              |
| Error   | string     | 错误信息                                      |

- eg. `{"code":0,"error":"","data":{"Players":[{"UserID":"testuser1","AccVal":1000,"RevisedPool":-199.22,"Error":""},{"UserID":"testuserxxxx","AccVal":100,"RevisedPool":0,"Error":"player not found"}]}}`

- 注: 
1. AccVal为正数表示增加奖池金额，为负数表示减少奖池金额。
2. 同一玩家在同一请求中不能重复出现。每个玩家会产生独立的操作订单记录。
3. 同商户下, TraceId 和 UserID 的组合必须唯一, 防止重复操作。
4. Error 为非空字符串表示操作失败，具体错误信息会在此字段返回。
5. 玩家未找到时, 不会生成订单记录, 可在创建玩家后重新执行该操作。


### 查询slots奖池订单

>   URL: APIURL/api/v1/slotspool/queryOrder 

#### 请求参数：

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| TraceId | string[8-64]  | 请求追踪Id **required**                       |
| UserID  | string     | 玩家的Id      **optional**                       |

- eg. `{"TraceId":"test_trace_id","UserID":"testuser1"}`


#### 返回结果:

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| Orders  | []Order    | 订单信息数组                                   |

#### Order结构体

| 参数名  | 类型       | 描述                                           |
|---------|------------|------------------------------------------------|
| ID      | string     | 订单Id                                        |
| AppID   | string     | 商户 Id                                        |
| TraceId | string     | 请求追踪Id                                    |
| CreateTime | time  | 创建时间                                      |
| Pid     | int        | 平台内部玩家Id                                |
| UserID  | string     | 商户侧玩家的Id                                      |
| AccVal  | float64    | 增减的奖池金额                                |
| DoneTime | time      | 完成时间                                      |
| Error   | string     | 错误信息                                      |
| RevisedPool | float64 | 修正后的奖池金额                              |

- eg.`{"code":0,"error":"","data":{"Orders":[{"ID":"6af2e26425353f1c9b531fbb","AppID":"faketrans","TraceId":"test_trace_id","CreateTime":"2026-11-10T17:22:44.744+08:00","Pid":100001,"UserID":"testuser1","AccVal":100,"DoneTime":"2026-11-10T17:22:44.744+08:00","Error":"","RevisedPool":-1399.22}]}}`


- 注: 
1. 订单数据保留60天。