Files
lotteryLaravel/AGENTS.md
kang a44679665d feat: 增强代理和玩家管理功能
- 在多个控制器中更新权限检查逻辑,确保管理员能够更灵活地管理代理和玩家。
- 在 AdminPlayerStoreController 中引入对玩家创建能力的验证,确保只有具备相应权限的管理员能够创建玩家。
- 更新请求验证逻辑,新增 credit_limit、rebate_rate 和 extra_rebate_rate 字段,以支持更细粒度的玩家管理。
- 在 AgentNodeProfileController 中添加对父代理能力授予的验证,确保子代理的权限在父代理范围内。
- 引入 AgentProfileFieldRules 以简化代理资料更新请求的规则定义,提升代码复用性。
2026-06-04 18:00:50 +08:00

1.9 KiB
Raw Blame History

lotterLaravel — Agent 须知

数据库:禁止擅自清空

未经用户明确同意,不得执行:

禁止 说明
php artisan migrate:fresh 删表重建,业务数据全失
php artisan db:wipe 清空所有表
php -r / 脚本中的 migrate:freshdb:wipe 易误连 .env 开发库(如 pgsql / lottery

可以做的: php artisan migrate(增量)、php artisan test(走 phpunit.xml 的 SQLite 内存库)。

用户明确要求 migrate:fresh 时:先说明目标库名与数据将全部丢失,待用户确认后再执行。

详见 .cursor/rules/database-destructive-commands.mdc

后台 RBAC

app/Support/AdminAuthorizationRegistry.php 后,在已有库执行 php artisan lottery:admin-auth-sync --audit(见 docs/admin-rbac.md)。migrate:fresh --seed 会走迁移内的 resync一般不必再手动 sync。

双模式玩家(主站钱包 / 代理信用)

  • players.auth_sourcemain_site_sso(主站 JWTlottery_native(彩票端账号密码)。
  • players.funding_modewallet(主站划转)与 credit(授信下注);禁止仅用整站 credit_line_mode 代替玩家级判断,用 PlayerFundingMode::usesCredit($player)
  • 生产环境配置独立 LOTTERY_NATIVE_JWT_SECRET(勿与主站 SSO 混用)。

信用占成盘(代理账期结算)

  • 业务真理源:docs/信用占成盘代理系统设计说明文档.md;实施路线:docs/信用占成盘代理体系改造计划.md
  • 代理账期代码包:App\Services\AgentSettlement\(勿与彩票开奖 App\Services\Settlement\ / SettlementBatch 混用)。
  • 禁止在生产关账路径使用 DesignDocExample12 硬编码账单;仅单元/Feature 测试可引用。
  • 占成账单聚合必须读注单快照share_snapshot),禁止按当前 agent_profiles 重算历史。