refactor: 使用 ApiMessage 统一错误响应格式

- 在多个控制器中引入 ApiMessage,替换原有的 ApiResponse 错误处理逻辑,确保错误信息的一致性与可读性。
- 更新错误返回信息,使用更具语义的键值,提升 API 的可维护性与用户体验。
- 适配相关控制器的请求参数,确保在处理错误时能够正确返回相应的错误信息。
This commit is contained in:
2026-06-01 14:23:48 +08:00
parent e547e2b4a6
commit e6cf94af46
59 changed files with 518 additions and 230 deletions

View File

@@ -5,7 +5,9 @@ namespace App\Http\Controllers\Api\V1\Admin\Risk;
use App\Models\Draw;
use App\Models\RiskPool;
use App\Lottery\ErrorCode;
use App\Support\ApiMessage;
use App\Support\ApiResponse;
use Illuminate\Http\Request;
use App\Models\RiskPoolLockLog;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\DB;
@@ -17,26 +19,26 @@ final class AdminRiskPoolManualStatusController extends Controller
public function __construct(
private readonly RiskPoolService $riskPoolService,
) {}
public function close(Draw $draw, string $number_4d): JsonResponse
public function close(Request $request, Draw $draw, string $number_4d): JsonResponse
{
$pool = $this->updateStatus($draw, $number_4d, true, 'close', 'admin_manual_close');
if ($pool === null) {
return ApiResponse::error(trans('api.not_found'), ErrorCode::ClientHttpError->value, null, 404);
return ApiMessage::errorResponse($request, 'not_found', ErrorCode::ClientHttpError->value, null, 404);
}
return ApiResponse::success($this->row($pool));
}
public function recover(Draw $draw, string $number_4d): JsonResponse
public function recover(Request $request, Draw $draw, string $number_4d): JsonResponse
{
$pool = $this->updateStatus($draw, $number_4d, false, 'recover', 'admin_manual_recover');
if ($pool === null) {
return ApiResponse::error(trans('api.not_found'), ErrorCode::ClientHttpError->value, null, 404);
return ApiMessage::errorResponse($request, 'not_found', ErrorCode::ClientHttpError->value, null, 404);
}
if ((int) $pool->remaining_amount <= 0) {
return ApiResponse::error(trans('api.client_error'), ErrorCode::ClientHttpError->value, [
return ApiMessage::errorResponse($request, 'risk_pool_no_remaining_amount', ErrorCode::ClientHttpError->value, [
'reason' => 'risk_pool_no_remaining_amount',
], 409);
}