- Draw相关控制器添加provider_code和provider_name字段支持 - 允许手动录入开奖批次时指定provider_code - RNG开奖批次生成支持多provider,分别生成对应批次数据 - DrawPublishService和DrawManualResultService中支持基于provider_code管理开奖版本和发布流程 - DrawResultViewService调整,支持按provider汇总及筛选开奖结果 - Settlement处理逻辑调整,按provider区分待结算票据及批次,分开结算 - 结算期间管理相关服务支持使用站点本地结算时区计算开账建议和日期处理 - 增加AdminSite的settlement_timezone字段及相关请求验证和数据存取支持 - 优化AdminSettlementPeriod相关代码,防止存在未结清票据时关账 - Ticket明细返回接口添加结算时区信息,提升用户时间体验 - 多处查询排序和版本号处理改进,保证多provider数据正确顺序与一致性
44 lines
1.7 KiB
PHP
44 lines
1.7 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers\Api\V1\Player;
|
||
|
||
use App\Support\ApiResponse;
|
||
use App\Support\AgentSettlementSiteTimezone;
|
||
use Illuminate\Http\Request;
|
||
use Illuminate\Http\JsonResponse;
|
||
use App\Http\Controllers\Controller;
|
||
|
||
/**
|
||
* 鉴权自检:返回当前 Token 对应的玩家公开字段(不含密码)。
|
||
*
|
||
* 路由:GET /api/v1/player/me ,需 middleware lottery.player。
|
||
*
|
||
* 补充字段与 PRD「识别玩家」及前端引导一致:`locale` 为当次 API 实际使用的语言(与 `NegotiateLotteryLocale` 一致);
|
||
* 时间类为 ISO 8601 字符串,便于 H5 展示与排错。
|
||
*/
|
||
final class MeController extends Controller
|
||
{
|
||
public function __invoke(Request $request): JsonResponse
|
||
{
|
||
$player = $request->lotteryPlayer();
|
||
// 理论上不会为 null(路由已套 EnsurePlayerApi);保留断言便于排查配置错误
|
||
abort_if($player === null, 500, 'lottery_player missing');
|
||
|
||
return ApiResponse::success([
|
||
'id' => $player->id,
|
||
'site_code' => $player->site_code,
|
||
'site_player_id' => $player->site_player_id,
|
||
'auth_source' => $player->auth_source,
|
||
'funding_mode' => $player->funding_mode,
|
||
'username' => $player->username,
|
||
'nickname' => $player->nickname,
|
||
'default_currency' => $player->default_currency,
|
||
'settlement_timezone' => AgentSettlementSiteTimezone::forSiteCode((string) $player->site_code),
|
||
'status' => $player->status,
|
||
'locale' => $request->lotteryLocale(),
|
||
'last_login_at' => $player->last_login_at?->toIso8601String(),
|
||
'created_at' => $player->created_at?->toIso8601String(),
|
||
]);
|
||
}
|
||
}
|