240d585f15
fix: 修复 ApiFormRequest 中 lottery_locale 属性的获取方式
...
- 将 lottery_locale 的获取方式从 request 属性更新为 attributes 属性,确保正确获取请求中的本地化设置。
2026-06-03 11:32:58 +08:00
0527c7c392
feat: 增强管理员权限与角色管理功能
...
- 在 SyncAdminAuthorizationCommand 中新增对代理和抽奖菜单操作的同步功能,确保缺失的菜单操作行能够被创建。
- 更新多个控制器中的权限检查逻辑,使用 hasPermissionCode 替代原有的权限验证方式,提升权限管理的灵活性。
- 引入 ApiMessage 统一错误响应格式,确保在权限不足时返回一致的错误信息。
- 更新 AdminRole 和 AdminUser 模型,增强角色与用户的权限管理功能,支持更细粒度的权限控制。
2026-06-03 10:56:36 +08:00
1dcd4716c5
refactor: 更新权限管理与请求验证逻辑
...
- 在多个控制器中将权限检查从 hasAdminPermission 更新为 hasPermissionCode,以增强权限管理的灵活性。
- 引入 AdminScopePolicy,优化基于代理节点的权限和数据过滤逻辑,确保管理员能够更精确地控制访问权限。
- 在请求验证中添加 agent_node_id 字段,确保 API 接口支持代理节点的相关操作。
- 更新 AdminUser 模型,新增 hasPermissionCode 方法,以支持更细粒度的权限检查。
- 优化审计日志记录逻辑,确保在处理请求时能够准确记录管理员的操作。
2026-06-03 10:07:38 +08:00
0841fbed32
feat: 增强管理员功能与数据处理
...
- 在多个控制器中引入 agent_node_id,以支持基于代理节点的权限和数据过滤。
- 更新 AdminRole 和 AdminUser 模型,新增角色范围和代理节点相关功能,提升角色管理的灵活性。
- 在请求验证中添加 agent_node_id 字段,确保 API 接口支持代理节点的相关操作。
- 优化 LotterySettings 服务,支持批量写入设置,提升配置管理的效率。
- 更新仪表板和报告服务,增强数据统计功能,确保管理员能够获取更全面的统计信息。
2026-06-02 14:36:58 +08:00
d5232c756f
feat: 更新玩家信息和统计功能
...
- 在多个控制器中更新玩家相关数据的查询,新增 'nickname' 字段以增强玩家信息的完整性。
- 在 AdminDashboardSnapshotBuilder 中引入平台风险统计,提供锁定金额和使用百分比的概览。
- 更新 AdminReportQueryService 以返回更详细的统计数据,包括总投注、总中奖和总派彩金额。
- 增强测试用例以验证新增字段和统计功能的准确性。
2026-06-01 16:53:08 +08:00
c101ece539
feat: 添加待审核开奖批次统计功能至管理员仪表板
...
- 在 AdminDashboardSnapshotBuilder 中新增 resultBatchQueue 方法,统计全站待审核的开奖批次信息。
- 更新仪表板数据结构,包含待审核开奖批次的总数、待开奖次数及首个待审核开奖的 ID。
- 在 AdminDashboardApiTest 中新增测试用例,验证仪表板返回的待审核开奖批次统计数据的准确性。
2026-06-01 16:01:37 +08:00
b13776b480
feat: 添加删除待审核开奖批次功能及相关错误信息
...
- 在 AdminAuthorizationRegistry 中新增删除待审核开奖批次的权限定义。
- 更新 API 路由以支持删除待审核开奖批次的请求。
- 在多语言文件中添加相关错误信息,确保用户在删除操作中获得清晰的反馈。
- 增加测试用例,验证管理员能够成功删除待审核的开奖批次并返回正确状态。
2026-06-01 15:37:33 +08:00
e6cf94af46
refactor: 使用 ApiMessage 统一错误响应格式
...
- 在多个控制器中引入 ApiMessage,替换原有的 ApiResponse 错误处理逻辑,确保错误信息的一致性与可读性。
- 更新错误返回信息,使用更具语义的键值,提升 API 的可维护性与用户体验。
- 适配相关控制器的请求参数,确保在处理错误时能够正确返回相应的错误信息。
2026-06-01 14:23:48 +08:00
e547e2b4a6
feat: 添加货币组至设置控制器并更新测试用例
...
- 在 SettingIndexController 中新增 'currency' 组,以支持货币相关设置。
- 更新 PublicSettingsApiTest,新增测试用例以验证货币组的返回数据,确保 API 正确处理货币设置。
2026-06-01 13:38:08 +08:00
85d495e3b0
feat: 增强开奖列表统计功能
...
- 在 AdminDrawIndexController 中新增 aggregateListStats 方法,聚合每个开奖的投注和派彩金额,计算盈亏情况。
- 更新 row 方法,使用聚合统计数据替代原有的直接查询,提升性能与可读性。
- 通过优化数据处理逻辑,确保在获取开奖列表时能够同时返回相关的统计信息。
2026-06-01 10:03:30 +08:00
442b6dc758
feat: 更新钱包日志控制器以合并 bet_reverse 至 reversal 类型
...
- 修改 WalletLogsController,调整 biz_type 映射,将 bet_reverse 合并至 reversal。
- 新增测试用例,验证钱包日志过滤功能,确保 bet_reverse 不在 bet 类型中显示,而在 reversal 类型中正确返回。
2026-06-01 09:24:32 +08:00
ea0072197d
chore: 更新 .env.example 文件,简化配置项并添加 CORS 相关设置
...
- 移除不再使用的配置项,建议通过后台管理进行设置。
- 新增 CORS_ALLOWED_ORIGINS、CORS_SUPPORTS_CREDENTIALS 和 CORS_MAX_AGE 选项,以支持跨域请求的灵活性与安全性。
2026-05-29 10:28:30 +08:00
0323d92381
feat: 增强奖池与钱包服务的多币种支持能力
...
更新 JackpotManualBurstService:在解析头奖中奖者时支持币种代码处理。
重构 SettlementBatchWorkflowService:按币种聚合玩家派奖金额,确保各币种结算准确入账。
修改 SettlementOrchestrator:按币种分别处理奖池爆奖流程,提升派奖准确性。
优化 TicketWalletService:在派奖幂等键中加入币种信息,避免多币种场景下的重复处理问题。
新增测试用例,验证多币种派奖场景及待处理交易的正确处理逻辑。
2026-05-28 16:50:24 +08:00
8ccf39dff5
refactor: 迁移彩票设置至 LotterySettings 服务
...
- 更新多个控制器和服务,使用 LotterySettings 服务获取彩票相关配置,如默认币种、开奖间隔、下注窗口等,提升代码一致性与可维护性。
- 移除 .env.example 中不再使用的配置项,建议通过后台管理进行设置。
2026-05-28 14:50:25 +08:00
5e73dc6ec1
feat: 添加 CORS 配置选项至 .env.example 文件
...
- 新增 CORS_ALLOWED_ORIGINS 和 CORS_ALLOWED_ORIGINS_PATTERNS 以支持跨域请求的来源白名单配置。
- 添加 CORS_MAX_AGE 和 CORS_SUPPORTS_CREDENTIALS 选项,增强跨域请求的灵活性与安全性。
2026-05-28 10:11:54 +08:00
fe0594beaa
feat: 增强钱包 API URL 验证与配置
...
- 在 AdminIntegrationSiteStoreRequest 和 AdminIntegrationSiteUpdateRequest 中引入 WalletApiUrlRule,确保 wallet_api_url 字段符合 HTTPS 公开域名要求。
- 更新 HttpMainSiteWalletBalanceClient 和 HttpMainSiteWalletGateway,使用 WalletApiUrlSanitizer 进行 URL 规范化与验证,防止 SSRF 攻击。
- 新增测试用例,验证 wallet_api_url 的有效性,确保系统安全性与稳定性。
- 更新 .env.example 文件,添加 LOTTERY_RISK_POOL_USE_REDIS_LUA 配置项以支持 Redis Lua 原子扣减功能。
- 修改 package-lock.json 中的项目名称,确保一致性。
- 在 API 路由中新增 integration/runtime-origins 路由,提供运行时白名单功能。
2026-05-28 10:10:26 +08:00
a60ce8caad
refactor: 优化 DrawHallSnapshotBuilder 和权限管理逻辑
...
- 在 DrawHallSnapshotBuilder 中简化数据获取逻辑,仅保留必要字段,更新状态表示方式。
- 在 AdminAuthorizationRegistry 中整合接入站点权限定义,提升权限管理的灵活性与可维护性。
- 更新调度任务配置,确保任务在单一服务器上运行,避免重叠执行,提高系统稳定性。
- 增强测试用例,确保新逻辑的正确性与稳定性。
2026-05-27 16:51:08 +08:00
a10135d6ee
feat: 增强玩家管理功能,集成接入站点权限控制
...
在多个玩家相关控制器中引入 AdminSiteScope,确保管理员在执行操作前具备相应的接入站点权限。更新 Player 相关请求以支持 site_code 参数,增强权限验证逻辑,确保系统安全性与灵活性。同时,新增 AdminUser 模型方法以获取可访问的站点 ID 列表,优化权限管理。
2026-05-27 13:36:23 +08:00
b649c862ef
feat: 在 WalletBalanceController 中集成主站钱包余额获取功能
...
新增 HttpMainSiteWalletBalanceClient,用于在配置启用时获取主站钱包余额。
更新 WalletBalanceController:根据主站 API 返回结果新增 main_balance 与 main_balance_formatted 字段。
在 lottery.php 中新增钱包余额 API 路径配置项。
增强 WalletBalanceTest,验证在配置主站 API 后可正确获取 main_balance。
2026-05-27 11:31:20 +08:00
a9d0f39a9c
feat: 增强开奖与设置控制器的币种支持功能
...
引入 CurrencyResolver,用于在 DrawCurrentController、DrawResultShowController 与 DrawResultsIndexController 中统一处理币种代码解析。
更新 DrawHallSnapshotBuilder 与 DrawResultViewService 的构建方法,新增币种代码参数支持,确保开奖相关功能中的币种处理一致性。
增强 SettingIndexController:新增允许访问的 KV 配置分组校验。
在 OddsStreamService、PlayConfigStreamService 与 RiskCapStreamService 中新增广播功能,用于在玩法目录变更时推送更新通知。
新增测试用例,验证风险限额发布的广播行为。
2026-05-27 09:57:39 +08:00
618201f980
feat: 重构注单控制器以复用共享筛选逻辑
...
新增 TicketItemListFilters trait,用于封装注单列表的通用筛选逻辑。
更新 AdminPlayerTicketItemsIndexController、AdminTicketItemIndexController 与 TicketItemsIndexController,统一使用新的注单编号搜索与订单日期范围筛选方法,提升代码复用性与可读性。
增强 AdminRiskPoolManualStatusController:支持发布手动停售状态变更通知。
优化 RiskPoolService 与 TicketWalletService:钱包资金变动后实时通知余额更新。
更新测试用例,确保重构后功能行为保持一致。
2026-05-26 17:14:19 +08:00
36e50383ba
feat: 增强票据与钱包服务的幂等性及错误处理能力
...
在 TicketItemShowController 与 TicketItemsIndexController 的响应中新增订单状态与失败原因字段。
更新 WalletLogsController:待对账列表支持按币种筛选。
在 TicketPlacementService 中引入幂等性校验,支持处理已退款订单的重复请求。
优化钱包相关操作的错误码与错误提示信息,提升问题定位与用户理解。
增强测试用例,验证票据下单流程中的新幂等性行为。
2026-05-26 15:24:54 +08:00
c8c90e3e94
feat: 增强奖池与钱包管理功能
...
更新 AdminJackpotPoolUpdateController 校验规则,禁止传入 current_amount。
优化 AdminRiskPoolManualStatusController:更新奖池状态后同步 Redis 状态。
在 TransferOrderReconcileController 中新增 completeCredit 方法,用于处理卡住的转账订单对账。
调整 TransferOrderListController:优化转账订单处理条件。
在 TicketItemsIndexController 中实现支持时区的日期筛选,提升日期处理准确性。
扩展 JackpotPool 模型,新增 adjustments 关联关系。
改进票据与钱包相关服务中的错误处理和事务管理。
2026-05-26 14:58:41 +08:00
48349e3302
feat: Enhance settlement and draw management functionality
...
- Implement error handling for skipped settlement runs in DrawSettlementRunController, returning appropriate error messages based on draw status.
- Add validation in DrawPublishService to ensure draws are ready for publication, rejecting outdated result batches.
- Update SettlementBatchWorkflowService to revert ticket statuses upon settlement rejection and restore jackpot pool amounts.
- Refactor LotteryTransferService to improve transaction handling for transfer order reconciliation, ensuring idempotency during reversals.
- Add multi-language support for new error messages related to settlement processes.
2026-05-26 14:10:16 +08:00
e4118d7b1d
feat: 更新后台 RBAC 文档与权限检查逻辑
...
- 在 `AGENTS.md` 中新增后台 RBAC 相关说明,强调 `php artisan lottery:admin-auth-sync --audit` 的使用。
- 更新 `README.md`,明确本地重置演示数据的命令,并补充 `AdminAuthorizationRegistry` 的同步要求。
- 精简 `AdminDashboardAnalyticsBuilder` 中的权限检查逻辑,确保与 `AdminAuthorizationRegistry` 一致。
- 在 `admin-rbac.md` 中添加仪表盘 API 权限要求的详细信息,优化维护命令的描述。
2026-05-26 13:59:28 +08:00
3c74ffc2d5
feat: 添加 PHPSpreadsheet 支持以增强报表导出功能
...
- 在 `composer.json` 中新增 `phpoffice/phpspreadsheet` 依赖。
- 更新 `ReportJobDownloadController` 以使用 `AdminReportSpreadsheetExporter` 进行 XLSX 格式的报表导出,简化导出逻辑并确保文件名包含动态生成的输出路径后缀。
- 更新 `AdminAuthorizationRegistry` 中的权限定义,扩展相关权限以支持新的设置管理功能。
2026-05-26 13:53:18 +08:00
bba084b3c1
feat: 增强报表功能,支持新参数和导出类型
...
- 在 `ReportJobStoreRequest` 中新增 `draw_id`、`draw_no` 和 `normalized_number` 参数的验证规则。
- 更新 `AdminReportJobService` 以支持动态生成输出路径后缀,确保导出文件名包含相关信息。
- 在 `AdminReportQueryService` 中新增多个报表类型的处理逻辑,包括 `draw_profit_summary` 和 `sold_out_number_report`。
- 添加相应的测试用例,确保新功能的正确性和稳定性。
2026-05-26 11:48:40 +08:00
c74bec3f64
feat: 增强抽奖管理功能,支持手动创建、更新和删除期号
...
- 新增 API 路由和控制器,允许管理员手动创建、更新和删除抽奖期号。
- 更新抽奖调度逻辑,确保在抽奖时间和封盘时间的管理上更加灵活。
- 添加多语言支持的错误信息,提升用户体验。
- 更新测试用例,确保新功能的正确性和稳定性。
2026-05-25 18:00:22 +08:00
770fd8950d
fix: 更新任务调度频率并增强错误处理逻辑
...
- 将 `lottery:draw-tick` 命令的调度频率从每分钟更新为每10秒,以提高抽奖数据处理的及时性。
- 在 `AdminSettlementBatchPayoutController` 中增强异常处理,提供更具体的错误信息,特别是针对未批准的结算批次。
- 在多语言文件中添加相应的错误信息翻译,确保用户友好的反馈。
2026-05-25 16:43:51 +08:00
5f1d2d79ce
feat: 添加一键启动文件
2026-05-25 16:03:32 +08:00
6a8cdbe3b8
feat: 新增命令和迁移以优化抽奖数据管理
...
- 新增 `LotteryDevPruneDrawBacklogCommand` 命令,用于按营业日区间删除积压的抽奖期号,并支持干运行和级联删除相关数据。
- 添加多个迁移文件以同步数据库结构,包括重命名重复的迁移文件、添加用户名字段、迁移抽奖状态到领域字典、合并显示名称字段、扩展审计日志目标类型字段,以及细化后台权限管理。
- 更新 `AdminRbacAndUserSeeder` 以包含角色代码字段,确保一致性与可维护性。
2026-05-25 15:33:33 +08:00
e27a00f260
feat: 更新玩法配置管理,简化字段并增强功能
...
- 将玩法相关的显示名称字段统一为 `display_name`,移除多语言字段。
- 在 `PlayTypePatchController` 中新增即时切换玩法开关的功能,并推送大厅更新。
- 优化多个控制器和服务中的权限检查与数据处理逻辑,提升代码可读性与维护性。
2026-05-25 14:34:24 +08:00
270d2e9af1
feat: 为玩法规则 HTML 配置增加多语言设置迁移
2026-05-22 16:55:28 +08:00
1d31f9e872
feat(admin): 更新后台权限管理与同步逻辑,简化权限检查并优化文档
...
- 新增后台 RBAC 相关文档,提供权限目录与维护命令说明。
- 移除不必要的角色资源同步检查,简化权限审计命令。
- 更新权限描述与同步逻辑,确保一致性与可维护性。
- 统一权限注册表,替换过时的权限别名,增强代码可读性。
2026-05-22 16:11:48 +08:00
2e8ab58970
fix: 统一注单待开奖状态并收敛报表任务返回字段
2026-05-22 11:32:42 +08:00
83f2dd43db
feat(admin): 补全报表中心汇总 API 并恢复 report-jobs 导出
...
新增每日盈亏、玩家输赢、玩法维度、佣金回水四类聚合查询与权限注册,恢复报表异步导出任务;审计日志支持按操作人与日期筛选。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-22 10:08:41 +08:00
c1c25e3143
feat: 为赔率项增加 dimension 字段并支持按维度配置佣金,调整后台配置导航权限
2026-05-21 17:54:31 +08:00
7a6048de10
feat: 增强环境配置与开发服务,支持局域网访问及币种管理
2026-05-21 16:24:41 +08:00
699d43fbd4
feat(admin): 新增后台注单列表查询接口
2026-05-20 16:24:22 +08:00
fa87a9d54f
feat(admin): 增强玩家注单查询过滤并返回金额格式化字段
2026-05-20 15:48:38 +08:00
2753590685
feat: 支持开奖设置走系统配置并补充相关测试
2026-05-20 13:54:32 +08:00
5742853c4c
feat: 补充结算批次财务汇总并返回投注与利润数据
2026-05-19 17:07:07 +08:00
057ddecaa1
feat(admin): 完善后台角色管理与权限同步,新增当前管理员信息接口
2026-05-19 14:39:54 +08:00
063cb98311
feat(admin): 统一后台权限注册表并移除路由中间件鉴权
2026-05-19 09:34:31 +08:00
4cf561cd57
feat(admin): 统一后台 API 资源鉴权并完善投注风控快照与回补
2026-05-19 09:11:50 +08:00
6ef41cee76
feat: 扩展奖池、风控与报表能力,新增对账补偿、广播和人工操作接口
2026-05-18 15:09:10 +08:00
9157dcb6a1
feat: 支持开奖重开与风险池原子扣减,完善投注部分成功流程
2026-05-18 11:28:11 +08:00
4f143c7cb1
feat: 拆分开奖与结算审核流程,新增手动结果录入、重开和派彩审批接口
2026-05-16 18:01:06 +08:00
83046b402d
feat: 优化开发环境脚本与大厅倒计时调度配置
...
1. 默认会话、队列和缓存驱动切换为 Redis
2. 拆分 dev、dev:realtime 和 dev:schedule 脚本,支持按需启动实时与调度进程
3. 新增大厅倒计时调度配置开关,支持关闭每秒广播任务
2026-05-16 10:52:46 +08:00
fd757180d1
feat: 优化 DrawCurrentController 和 LotteryHallRealtimeBroadcaster 的响应结构
2026-05-16 10:31:57 +08:00