Fix duplicate mystery box config fields

This commit is contained in:
2026-04-11 16:31:13 +08:00
parent 37c175289c
commit abc05de86e
2 changed files with 37 additions and 1 deletions

View File

@@ -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();