Files
cpzs-backend/VIP兑换记录查询API使用说明.md

182 lines
4.4 KiB
Markdown
Raw Normal View History

2025-08-01 19:09:57 +08:00
# VIP兑换记录查询API使用说明
## 接口概述
本文档描述了VIP兑换记录查询相关的API接口主要用于查询用户的VIP兑换记录信息。
## 接口列表
### 1. 获取用户所有兑换记录
**接口地址:** `GET /vip-exchange-record/user/{userId}`
**接口描述:** 根据用户ID获取该用户的所有VIP兑换记录
**请求参数:**
- `userId` (必填): 用户ID路径参数必须大于0
**请求示例:**
```http
GET /vip-exchange-record/user/123
```
**响应示例:**
```json
{
"code": 0,
"message": "success",
"data": [
{
"id": 1,
"userId": 123,
"type": "月度会员",
"exchangeMode": 1,
"orderNo": 1234567890123456,
"orderAmount": 0,
"isUse": 1,
"exchangeTime": "2024-01-15T10:30:00",
"updateTime": "2024-01-15T10:30:00"
},
{
"id": 2,
"userId": 123,
"type": "年度会员",
"exchangeMode": 1,
"orderNo": 1234567890123457,
"orderAmount": 0,
"isUse": 1,
"exchangeTime": "2024-02-15T14:20:00",
"updateTime": "2024-02-15T14:20:00"
}
]
}
```
### 2. 分页获取用户兑换记录
**接口地址:** `GET /vip-exchange-record/user/{userId}/page`
**接口描述:** 根据用户ID分页获取该用户的VIP兑换记录
**请求参数:**
- `userId` (必填): 用户ID路径参数必须大于0
- `page` (可选): 页码从1开始默认为1
- `size` (可选): 每页大小默认为10最大100
**请求示例:**
```http
GET /vip-exchange-record/user/123/page?page=1&size=5
```
**响应示例:**
```json
{
"code": 0,
"message": "success",
"data": [
{
"id": 1,
"userId": 123,
"type": "月度会员",
"exchangeMode": 1,
"orderNo": 1234567890123456,
"orderAmount": 0,
"isUse": 1,
"exchangeTime": "2024-01-15T10:30:00",
"updateTime": "2024-01-15T10:30:00"
}
]
}
```
### 3. 获取兑换记录详情
**接口地址:** `GET /vip-exchange-record/{recordId}`
**接口描述:** 根据兑换记录ID获取详细信息
**请求参数:**
- `recordId` (必填): 兑换记录ID路径参数必须大于0
**请求示例:**
```http
GET /vip-exchange-record/1
```
**响应示例:**
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"userId": 123,
"type": "月度会员",
"exchangeMode": 1,
"orderNo": 1234567890123456,
"orderAmount": 0,
"isUse": 1,
"exchangeTime": "2024-01-15T10:30:00",
"updateTime": "2024-01-15T10:30:00"
}
}
```
## 数据字段说明
### VipExchangeRecord 字段说明
| 字段名 | 类型 | 说明 |
|--------|------|------|
| id | Long | 兑换记录唯一标识符 |
| userId | Long | 用户ID |
| type | String | 会员类型(月度会员/年度会员) |
| exchangeMode | Integer | 兑换方式1-VIP码兑换 |
| orderNo | Long | 订单编号16位随机数字 |
| orderAmount | Integer | 订单金额(单位:分) |
| isUse | Integer | 是否已兑换0-未兑换1-已兑换) |
| exchangeTime | Date | 兑换时间 |
| updateTime | Date | 更新时间 |
## 响应状态码
| 状态码 | 说明 |
|--------|------|
| 0 | 成功 |
| 40000 | 请求参数错误 |
| 40400 | 请求数据不存在 |
| 50000 | 系统内部异常 |
## 错误响应示例
```json
{
"code": 40000,
"message": "用户ID不能为空且必须大于0",
"data": null
}
```
## 使用说明
1. **数据排序**: 所有查询结果都按照兑换时间倒序排列(最新的记录在前)
2. **分页查询**:
- 页码从1开始
- 每页大小限制在1-100之间
- 超出范围会使用默认值
3. **参数校验**:
- 用户ID和记录ID必须为正整数
- 参数错误会返回40000状态码
4. **异常处理**:
- 系统异常会返回50000状态码
- 详细错误信息会在message字段中说明
## 注意事项
1. 接口支持Swagger文档可通过 `/swagger-ui/index.html` 查看详细文档
2. 所有接口都有完整的日志记录,便于问题排查
3. 建议在生产环境中添加认证和权限控制
4. 分页查询采用内存分页,大数据量时建议使用数据库分页优化