feat: 增强玩家 API,新增 locale 和时间字段,更新钱包 API 以支持可用余额计算,添加错误码与多语言支持
This commit is contained in:
36
app/Services/Wallet/MainSiteWalletResult.php
Normal file
36
app/Services/Wallet/MainSiteWalletResult.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Wallet;
|
||||
|
||||
use App\Models\TransferOrder;
|
||||
|
||||
/**
|
||||
* 调用主站钱包 HTTP 后的统一结果(转入扣主站 / 转出加主站)。
|
||||
*/
|
||||
final readonly class MainSiteWalletResult
|
||||
{
|
||||
public function __construct(
|
||||
public bool $ok,
|
||||
public ?string $externalRefNo,
|
||||
/** @var array<string, mixed>|null */
|
||||
public ?array $responsePayload,
|
||||
/** 发往主站的 JSON 请求体快照,写入 {@see TransferOrder::external_request_payload} */
|
||||
public ?array $requestPayload,
|
||||
public ?string $errorMessage,
|
||||
/**
|
||||
* 网络超时/连接类不确定结果:由 {@see HttpMainSiteWalletGateway} 设置,上层将订单标为 pending_reconcile,
|
||||
* 不重复扣加款(PRD §6.2 / §6.7)。
|
||||
*/
|
||||
public bool $uncertain = false,
|
||||
) {}
|
||||
|
||||
public static function success(?string $ref, ?array $payload = null, ?array $requestPayload = null): self
|
||||
{
|
||||
return new self(true, $ref, $payload, $requestPayload, null, false);
|
||||
}
|
||||
|
||||
public static function failure(string $message, ?array $payload = null, bool $uncertain = false, ?array $requestPayload = null): self
|
||||
{
|
||||
return new self(false, null, $payload, $requestPayload, $message, $uncertain);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user