1.优化色子奖励权重表备注没有更新上去

This commit is contained in:
2026-06-04 14:42:22 +08:00
parent 8a4a268526
commit 0cc81299f0
2 changed files with 24 additions and 3 deletions

View File

@@ -392,11 +392,13 @@ class DiceRewardLogic
$oldStart = null; $oldStart = null;
$oldEnd = null; $oldEnd = null;
$oldTier = null; $oldTier = null;
$oldRemark = null;
$oldWeight = null; $oldWeight = null;
if (isset($existing[$key])) { if (isset($existing[$key])) {
$oldStart = isset($existing[$key]['start_index']) ? (int) $existing[$key]['start_index'] : null; $oldStart = isset($existing[$key]['start_index']) ? (int) $existing[$key]['start_index'] : null;
$oldEnd = isset($existing[$key]['end_index']) ? (int) $existing[$key]['end_index'] : null; $oldEnd = isset($existing[$key]['end_index']) ? (int) $existing[$key]['end_index'] : null;
$oldTier = isset($existing[$key]['tier']) ? (string) $existing[$key]['tier'] : null; $oldTier = isset($existing[$key]['tier']) ? (string) $existing[$key]['tier'] : null;
$oldRemark = isset($existing[$key]['remark']) ? (string) $existing[$key]['remark'] : null;
$oldWeight = isset($existing[$key]['weight']) ? (int) $existing[$key]['weight'] : null; $oldWeight = isset($existing[$key]['weight']) ? (int) $existing[$key]['weight'] : null;
} }
// 映射未变化时:通常复用旧权重;但若旧权重为 1 且非特殊点数,则按新默认建议展示为 100方便管理员快速落配置 // 映射未变化时:通常复用旧权重;但若旧权重为 1 且非特殊点数,则按新默认建议展示为 100方便管理员快速落配置
@@ -426,6 +428,10 @@ class DiceRewardLogic
$diffChanged = true; $diffChanged = true;
$diffFields[] = 'tier'; $diffFields[] = 'tier';
} }
if (trim((string) $oldRemark) !== trim((string) ($row['remark'] ?? ''))) {
$diffChanged = true;
$diffFields[] = 'remark';
}
} }
$previewRows[] = array_merge($row, [ $previewRows[] = array_merge($row, [
@@ -433,6 +439,7 @@ class DiceRewardLogic
'old_start_index' => $oldStart, 'old_start_index' => $oldStart,
'old_end_index' => $oldEnd, 'old_end_index' => $oldEnd,
'old_tier' => $oldTier, 'old_tier' => $oldTier,
'old_remark' => $oldRemark,
'old_weight' => $oldWeight, 'old_weight' => $oldWeight,
'diff_changed' => $diffChanged, 'diff_changed' => $diffChanged,
'diff_fields' => $diffFields, 'diff_fields' => $diffFields,
@@ -652,11 +659,24 @@ class DiceRewardLogic
'end_index' => isset($landingConfig['id']) ? (int) $landingConfig['id'] : 0, 'end_index' => isset($landingConfig['id']) ? (int) $landingConfig['id'] : 0,
'ui_text' => $landingConfig['ui_text'] ?? '', 'ui_text' => $landingConfig['ui_text'] ?? '',
'real_ev' => $landingConfig['real_ev'] ?? null, 'real_ev' => $landingConfig['real_ev'] ?? null,
'remark' => $this->defaultRemarkForTier($tier), 'remark' => $this->resolveRemarkForReferenceRow($tier, $landingConfig),
'type' => isset($landingConfig['type']) ? (int) $landingConfig['type'] : 0, 'type' => isset($landingConfig['type']) ? (int) $landingConfig['type'] : 0,
]; ];
} }
/**
* 对照表备注:优先落点格 dice_reward_config.remark空时再按档位默认与 createRewardReference 文档一致)
*/
private function resolveRemarkForReferenceRow(string $tier, array $landingConfig): string
{
$fromLanding = trim((string) ($landingConfig['remark'] ?? ''));
if ($fromLanding !== '') {
return $fromLanding;
}
return $this->defaultRemarkForTier($tier);
}
/** /**
* 按结算金额推断档位(与前端 generateIndexByRules 一致) * 按结算金额推断档位(与前端 generateIndexByRules 一致)
*/ */
@@ -735,7 +755,8 @@ class DiceRewardLogic
$same = $same =
((int) ($ex['start_index'] ?? 0) === (int) ($row['start_index'] ?? 0)) && ((int) ($ex['start_index'] ?? 0) === (int) ($row['start_index'] ?? 0)) &&
((int) ($ex['end_index'] ?? 0) === (int) ($row['end_index'] ?? 0)) && ((int) ($ex['end_index'] ?? 0) === (int) ($row['end_index'] ?? 0)) &&
(trim((string) ($ex['tier'] ?? '')) === trim((string) ($row['tier'] ?? ''))); (trim((string) ($ex['tier'] ?? '')) === trim((string) ($row['tier'] ?? ''))) &&
(trim((string) ($ex['remark'] ?? '')) === trim((string) ($row['remark'] ?? '')));
if (!$same) { if (!$same) {
return ['unchanged' => false]; return ['unchanged' => false];
} }

View File

@@ -11,7 +11,7 @@ declare(strict_types=1);
$options = getopt('', ['agent_id:', 'secret:', 'time::']); $options = getopt('', ['agent_id:', 'secret:', 'time::']);
$agentId = $options['agent_id'] ?? '202cb962ac59075b964b07152d234b70'; $agentId = $options['agent_id'] ?? '76dc611d6ebaafc66cc0879c71b5db5c';
$secret = $options['secret'] ?? 'xF75oK91TQj13s0UmNIr1NBWMWGfflNO'; $secret = $options['secret'] ?? 'xF75oK91TQj13s0UmNIr1NBWMWGfflNO';
$time = $options['time'] ?? (string) time(); $time = $options['time'] ?? (string) time();