diff --git a/app/Http/Controllers/Admin/GameConfigController.php b/app/Http/Controllers/Admin/GameConfigController.php index 43d92ff..dd5c62a 100644 --- a/app/Http/Controllers/Admin/GameConfigController.php +++ b/app/Http/Controllers/Admin/GameConfigController.php @@ -66,6 +66,23 @@ class GameConfigController extends Controller $current = $gameConfig->params ?? []; $updated = array_merge($current, $request->input('params')); + if ($gameConfig->game_key === 'mystery_box') { + $legacyMap = [ + 'min_reward' => 'normal_reward_min', + 'max_reward' => 'normal_reward_max', + 'rare_min_reward' => 'rare_reward_min', + 'rare_max_reward' => 'rare_reward_max', + ]; + + foreach ($legacyMap as $legacyKey => $newKey) { + if (! array_key_exists($newKey, $updated) && array_key_exists($legacyKey, $updated)) { + $updated[$newKey] = $updated[$legacyKey]; + } + + unset($updated[$legacyKey]); + } + } + $gameConfig->update(['params' => $updated]); $gameConfig->clearCache(); diff --git a/resources/views/admin/game-configs/index.blade.php b/resources/views/admin/game-configs/index.blade.php index 40bdd86..0067ca1 100644 --- a/resources/views/admin/game-configs/index.blade.php +++ b/resources/views/admin/game-configs/index.blade.php @@ -93,12 +93,31 @@ @php $params = $game->params ?? []; $labels = gameParamLabels($game->game_key); + $hiddenLegacyKeys = $game->game_key === 'mystery_box' + ? ['min_reward', 'max_reward', 'rare_min_reward', 'rare_max_reward'] + : []; $paramKeys = array_values(array_unique(array_merge(array_keys($labels), array_keys($params)))); + $paramKeys = array_values(array_filter($paramKeys, fn ($key) => ! in_array($key, $hiddenLegacyKeys, true))); @endphp