# 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. 分页查询采用内存分页,大数据量时建议使用数据库分页优化