refactor:拆分 API 路由与请求校验,统一 final 类和代码风格

This commit is contained in:
2026-05-13 11:54:40 +08:00
parent 5d2dbdbe1d
commit 805847954d
281 changed files with 1886 additions and 1308 deletions

View File

@@ -2,23 +2,23 @@
namespace App\Http\Controllers\Api\V1\Wallet;
use App\Exceptions\WalletOperationException;
use App\Http\Controllers\Controller;
use App\Http\Requests\Wallet\WalletTransferRequest;
use App\Lottery\ErrorCode;
use App\Models\Player;
use App\Services\Wallet\LotteryTransferService;
use App\Lottery\ErrorCode;
use App\Support\ApiResponse;
use App\Support\LotteryMessage;
use App\Support\CurrencyResolver;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Exceptions\WalletOperationException;
use App\Services\Wallet\LotteryTransferService;
use App\Http\Requests\Wallet\WalletTransferRequest;
/**
* 转出:彩票钱包扣款 主站加款;主站失败则冲正彩票余额。
*
* `POST /api/v1/wallet/transfer-out`
*/
class WalletTransferOutController extends Controller
final class WalletTransferOutController extends Controller
{
public function __construct(
private readonly LotteryTransferService $transferService,
@@ -53,17 +53,11 @@ class WalletTransferOutController extends Controller
return ApiResponse::success($data);
}
private function resolveCurrencyCode(Request $request, Player $player): string|JsonResponse
private function resolveCurrencyCode(WalletTransferRequest $request, Player $player): string|JsonResponse
{
$raw = $request->input('currency');
if (is_string($raw) && $raw !== '') {
$code = strtoupper(substr(trim($raw), 0, 16));
} else {
$fallback = $player->default_currency ?? config('lottery.default_currency', 'NPR');
$code = strtoupper(substr(trim((string) $fallback), 0, 16));
}
$code = CurrencyResolver::resolve($request, $player, 'currency');
if (! preg_match('/^[A-Z0-9]{1,16}$/', $code)) {
if (! CurrencyResolver::isValid($code)) {
return ApiResponse::error(
__('wallet.invalid_currency'),
ErrorCode::WalletInvalidCurrency->value,