feat: add AgentNodeIndexController for node listing and remove settlement_cycle field from AgentProfile logic

This commit is contained in:
2026-06-11 18:01:58 +08:00
parent 4d1c2b3d63
commit e14b7b4569
30 changed files with 383 additions and 91 deletions

View File

@@ -3,8 +3,8 @@
namespace App\Services\Player;
use App\Models\AgentNode;
use App\Services\Agent\RebateLimitValidator;
use Illuminate\Support\Facades\DB;
use App\Services\Agent\RebateLimitValidator;
final class PlayerRebateProfileService
{
@@ -25,8 +25,8 @@ final class PlayerRebateProfileService
foreach ($profiles as $row) {
$gameType = trim((string) ($row['game_type'] ?? '*')) ?: '*';
$inherit = (bool) ($row['inherit_from_agent'] ?? false);
$rebateRate = (float) ($row['rebate_rate'] ?? 0);
$extraRate = (float) ($row['extra_rebate_rate'] ?? 0);
$rebateRate = (float) ($row['rebate_rate'] ?? 0) / 100;
$extraRate = (float) ($row['extra_rebate_rate'] ?? 0) / 100;
if (! $inherit) {
$this->rebateLimitValidator->assertPlayerRebateWithinAgent($agent, $rebateRate, $extraRate);
@@ -56,8 +56,8 @@ final class PlayerRebateProfileService
->get()
->map(static fn (object $row): array => [
'game_type' => (string) $row->game_type,
'rebate_rate' => (float) $row->rebate_rate,
'extra_rebate_rate' => (float) $row->extra_rebate_rate,
'rebate_rate' => round((float) $row->rebate_rate * 100, 4),
'extra_rebate_rate' => round((float) $row->extra_rebate_rate * 100, 4),
'inherit_from_agent' => (bool) $row->inherit_from_agent,
])
->all();