482 lines
14 KiB
Plaintext
482 lines
14 KiB
Plaintext
/**
|
||
* 管理员获取所有双色球推测记录(支持分页和用户ID筛选)
|
||
* @param userId 用户ID(可选)
|
||
* @param current 当前页码,默认为1
|
||
* @param pageSize 每页大小,默认为10
|
||
* @param request HTTP请求
|
||
* @return 分页的双色球预测记录
|
||
*/
|
||
@GetMapping("/admin/all-records")
|
||
@Operation(summary = "管理员获取所有推测记录", description = "管理员获取所有双色球推测记录,支持分页和根据用户ID、中奖等级筛选")
|
||
public ApiResponse<PageResponse<PredictRecord>> getAllRecordsForAdmin(
|
||
@Parameter(description = "用户ID(可选),用于筛选指定用户的记录")
|
||
@RequestParam(value = "userId", required = false) Long userId,
|
||
@Parameter(description = "中奖等级(可选),例如:一等奖、二等奖、未中奖")
|
||
@RequestParam(value = "predictResult", required = false) String predictResult,
|
||
@Parameter(description = "当前页码,从1开始,默认为1")
|
||
@RequestParam(value = "current", defaultValue = "1") Integer current,
|
||
@Parameter(description = "每页大小,默认为10")
|
||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||
HttpServletRequest request) {
|
||
|
||
// 验证管理员权限
|
||
User loginUser = userService.getLoginUser(request);
|
||
if (loginUser == null) {
|
||
return ResultUtils.error(ErrorCode.NOT_LOGIN_ERROR, "用户未登录");
|
||
}
|
||
|
||
if (!userService.isAdmin(loginUser)) {
|
||
return ResultUtils.error(ErrorCode.NO_AUTH_ERROR, "无权限访问,仅管理员可用");
|
||
}
|
||
|
||
try {
|
||
log.info("管理员获取所有双色球推测记录,userId={},predictResult={},current={},pageSize={}",
|
||
userId, predictResult, current, pageSize);
|
||
|
||
// 调用Service层方法
|
||
PageResponse<PredictRecord> result = predictRecordService.getAllRecordsForAdmin(userId, predictResult, current, pageSize);
|
||
|
||
log.info("管理员获取双色球推测记录完成,总记录数:{}", result.getTotal());
|
||
return ResultUtils.success(result);
|
||
|
||
} catch (Exception e) {
|
||
log.error("管理员获取双色球推测记录失败:{}", e.getMessage(), e);
|
||
return ResultUtils.error(ErrorCode.SYSTEM_ERROR, "获取推测记录失败:" + e.getMessage());
|
||
}
|
||
}
|
||
|
||
GET http://localhost:8123/api/ball-analysis/admin/all-records?
|
||
userId={{$random.integer(100)}}&
|
||
predictResult={{$random.alphanumeric(8)}}&
|
||
current={{$random.integer(100)}}&
|
||
pageSize={{$random.integer(100)}}
|
||
|
||
|
||
响应示例
|
||
{
|
||
"code": 0,
|
||
"success": true,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 57,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1759766400000,
|
||
"redBall1": 25,
|
||
"redBall2": 17,
|
||
"redBall3": 18,
|
||
"redBall4": 15,
|
||
"redBall5": 21,
|
||
"redBall6": 29,
|
||
"blueBall": 11,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1759824079000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 56,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1759766400000,
|
||
"redBall1": 13,
|
||
"redBall2": 18,
|
||
"redBall3": 2,
|
||
"redBall4": 4,
|
||
"redBall5": 5,
|
||
"redBall6": 1,
|
||
"blueBall": 10,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1759818889000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 55,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1758384000000,
|
||
"redBall1": 22,
|
||
"redBall2": 33,
|
||
"redBall3": 24,
|
||
"redBall4": 25,
|
||
"redBall5": 20,
|
||
"redBall6": 15,
|
||
"blueBall": 14,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758427874000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 54,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1758384000000,
|
||
"redBall1": 23,
|
||
"redBall2": 25,
|
||
"redBall3": 33,
|
||
"redBall4": 29,
|
||
"redBall5": 24,
|
||
"redBall6": 20,
|
||
"blueBall": 15,
|
||
"predictStatus": "已中奖",
|
||
"predictResult": "六等奖",
|
||
"predictTime": 1758427335000,
|
||
"bonus": 5,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 53,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1758384000000,
|
||
"redBall1": 22,
|
||
"redBall2": 27,
|
||
"redBall3": 29,
|
||
"redBall4": 24,
|
||
"redBall5": 30,
|
||
"redBall6": 25,
|
||
"blueBall": 14,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758427265000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 52,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1758384000000,
|
||
"redBall1": 18,
|
||
"redBall2": 27,
|
||
"redBall3": 32,
|
||
"redBall4": 30,
|
||
"redBall5": 29,
|
||
"redBall6": 28,
|
||
"blueBall": 15,
|
||
"predictStatus": "已中奖",
|
||
"predictResult": "六等奖",
|
||
"predictTime": 1758426942000,
|
||
"bonus": 5,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 51,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1758384000000,
|
||
"redBall1": 26,
|
||
"redBall2": 18,
|
||
"redBall3": 23,
|
||
"redBall4": 19,
|
||
"redBall5": 20,
|
||
"redBall6": 25,
|
||
"blueBall": 14,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758426099000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 50,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1757520000000,
|
||
"redBall1": 22,
|
||
"redBall2": 18,
|
||
"redBall3": 19,
|
||
"redBall4": 23,
|
||
"redBall5": 20,
|
||
"redBall6": 15,
|
||
"blueBall": 13,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1757597385000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 49,
|
||
"userId": 1,
|
||
"drawId": 2025096,
|
||
"drawDate": 1757260800000,
|
||
"redBall1": 14,
|
||
"redBall2": 20,
|
||
"redBall3": 18,
|
||
"redBall4": 27,
|
||
"redBall5": 33,
|
||
"redBall6": 13,
|
||
"blueBall": 15,
|
||
"predictStatus": "已中奖",
|
||
"predictResult": "六等奖",
|
||
"predictTime": 1757312366000,
|
||
"bonus": 5,
|
||
"type": "ssq"
|
||
},
|
||
{
|
||
"id": 48,
|
||
"userId": 1,
|
||
"drawId": 2025095,
|
||
"drawDate": 1756828800000,
|
||
"redBall1": 17,
|
||
"redBall2": 22,
|
||
"redBall3": 27,
|
||
"redBall4": 16,
|
||
"redBall5": 6,
|
||
"redBall6": 7,
|
||
"blueBall": 4,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1756882722000,
|
||
"bonus": 0,
|
||
"type": "ssq"
|
||
}
|
||
],
|
||
"total": 35,
|
||
"page": 1,
|
||
"size": 10,
|
||
"totalPages": 4,
|
||
"hasNext": true,
|
||
"hasPrevious": false
|
||
}
|
||
}
|
||
|
||
@GetMapping("/admin/all-records")
|
||
@Operation(summary = "管理员获取所有推测记录", description = "管理员获取所有大乐透推测记录,支持分页和根据用户ID、中奖等级筛选")
|
||
public ApiResponse<PageResponse<DltPredictRecord>> getAllRecordsForAdmin(
|
||
@Parameter(description = "用户ID(可选),用于筛选指定用户的记录")
|
||
@RequestParam(value = "userId", required = false) Long userId,
|
||
@Parameter(description = "中奖等级(可选),例如:一等奖、二等奖、未中奖")
|
||
@RequestParam(value = "predictResult", required = false) String predictResult,
|
||
@Parameter(description = "当前页码,从1开始,默认为1")
|
||
@RequestParam(value = "current", defaultValue = "1") Integer current,
|
||
@Parameter(description = "每页大小,默认为10")
|
||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||
HttpServletRequest request) {
|
||
|
||
// 验证管理员权限
|
||
User loginUser = userService.getLoginUser(request);
|
||
if (loginUser == null) {
|
||
return ResultUtils.error(ErrorCode.NOT_LOGIN_ERROR, "用户未登录");
|
||
}
|
||
|
||
if (!userService.isAdmin(loginUser)) {
|
||
return ResultUtils.error(ErrorCode.NO_AUTH_ERROR, "无权限访问,仅管理员可用");
|
||
}
|
||
|
||
try {
|
||
log.info("管理员获取所有大乐透推测记录,userId={},predictResult={},current={},pageSize={}",
|
||
userId, predictResult, current, pageSize);
|
||
|
||
// 调用Service层方法
|
||
PageResponse<DltPredictRecord> result = dltPredictRecordService.getAllRecordsForAdmin(userId, predictResult, current, pageSize);
|
||
|
||
log.info("管理员获取大乐透推测记录完成,总记录数:{}", result.getTotal());
|
||
return ResultUtils.success(result);
|
||
|
||
} catch (Exception e) {
|
||
log.error("管理员获取大乐透推测记录失败:{}", e.getMessage(), e);
|
||
return ResultUtils.error(ErrorCode.SYSTEM_ERROR, "获取推测记录失败:" + e.getMessage());
|
||
}
|
||
}
|
||
|
||
GET http://localhost:8123/api/dlt-predict/admin/all-records?
|
||
userId={{$random.integer(100)}}&
|
||
predictResult={{$random.alphanumeric(8)}}&
|
||
current={{$random.integer(100)}}&
|
||
pageSize={{$random.integer(100)}}
|
||
|
||
|
||
{
|
||
"code": 0,
|
||
"success": true,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 23,
|
||
"userId": 1,
|
||
"drawId": 25117,
|
||
"drawDate": null,
|
||
"frontendBall1": 16,
|
||
"frontendBall2": 13,
|
||
"frontendBall3": 14,
|
||
"frontendBall4": 9,
|
||
"frontendBall5": 4,
|
||
"backendBall1": 2,
|
||
"backendBall2": 5,
|
||
"predictStatus": "待开奖",
|
||
"predictResult": "待开奖",
|
||
"predictTime": 1763967816000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 22,
|
||
"userId": 1,
|
||
"drawId": 25106,
|
||
"drawDate": null,
|
||
"frontendBall1": 10,
|
||
"frontendBall2": 32,
|
||
"frontendBall3": 33,
|
||
"frontendBall4": 35,
|
||
"frontendBall5": 1,
|
||
"backendBall1": 6,
|
||
"backendBall2": 8,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1759909486000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 21,
|
||
"userId": 1,
|
||
"drawId": 25106,
|
||
"drawDate": null,
|
||
"frontendBall1": 11,
|
||
"frontendBall2": 22,
|
||
"frontendBall3": 25,
|
||
"frontendBall4": 28,
|
||
"frontendBall5": 29,
|
||
"backendBall1": 11,
|
||
"backendBall2": 12,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1759909424000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 20,
|
||
"userId": 1,
|
||
"drawId": 25106,
|
||
"drawDate": null,
|
||
"frontendBall1": 5,
|
||
"frontendBall2": 22,
|
||
"frontendBall3": 28,
|
||
"frontendBall4": 30,
|
||
"frontendBall5": 35,
|
||
"backendBall1": 7,
|
||
"backendBall2": 3,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1759909344000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 19,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 5,
|
||
"frontendBall2": 28,
|
||
"frontendBall3": 18,
|
||
"frontendBall4": 32,
|
||
"frontendBall5": 22,
|
||
"backendBall1": 9,
|
||
"backendBall2": 12,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758511498000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 18,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 3,
|
||
"frontendBall2": 11,
|
||
"frontendBall3": 23,
|
||
"frontendBall4": 29,
|
||
"frontendBall5": 34,
|
||
"backendBall1": 2,
|
||
"backendBall2": 7,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758510538000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 17,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 32,
|
||
"frontendBall2": 1,
|
||
"frontendBall3": 2,
|
||
"frontendBall4": 5,
|
||
"frontendBall5": 23,
|
||
"backendBall1": 3,
|
||
"backendBall2": 7,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758510155000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 16,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 19,
|
||
"frontendBall2": 12,
|
||
"frontendBall3": 2,
|
||
"frontendBall4": 33,
|
||
"frontendBall5": 22,
|
||
"backendBall1": 1,
|
||
"backendBall2": 7,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758509942000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 15,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 29,
|
||
"frontendBall2": 20,
|
||
"frontendBall3": 22,
|
||
"frontendBall4": 32,
|
||
"frontendBall5": 35,
|
||
"backendBall1": 10,
|
||
"backendBall2": 2,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758509591000,
|
||
"bonus": 0
|
||
},
|
||
{
|
||
"id": 14,
|
||
"userId": 1,
|
||
"drawId": 25109,
|
||
"drawDate": null,
|
||
"frontendBall1": 14,
|
||
"frontendBall2": 28,
|
||
"frontendBall3": 30,
|
||
"frontendBall4": 2,
|
||
"frontendBall5": 20,
|
||
"backendBall1": 2,
|
||
"backendBall2": 3,
|
||
"predictStatus": "未中奖",
|
||
"predictResult": "未中奖",
|
||
"predictTime": 1758509292000,
|
||
"bonus": 0
|
||
}
|
||
],
|
||
"total": 14,
|
||
"page": 1,
|
||
"size": 10,
|
||
"totalPages": 2,
|
||
"hasNext": true,
|
||
"hasPrevious": false
|
||
}
|
||
} |