diff --git a/server/app/dice/logic/reward/DiceRewardLogic.php b/server/app/dice/logic/reward/DiceRewardLogic.php index 35f1e20..cb99698 100644 --- a/server/app/dice/logic/reward/DiceRewardLogic.php +++ b/server/app/dice/logic/reward/DiceRewardLogic.php @@ -392,11 +392,13 @@ class DiceRewardLogic $oldStart = null; $oldEnd = null; $oldTier = null; + $oldRemark = null; $oldWeight = null; if (isset($existing[$key])) { $oldStart = isset($existing[$key]['start_index']) ? (int) $existing[$key]['start_index'] : null; $oldEnd = isset($existing[$key]['end_index']) ? (int) $existing[$key]['end_index'] : 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; } // 映射未变化时:通常复用旧权重;但若旧权重为 1 且非特殊点数,则按新默认建议展示为 100(方便管理员快速落配置) @@ -426,6 +428,10 @@ class DiceRewardLogic $diffChanged = true; $diffFields[] = 'tier'; } + if (trim((string) $oldRemark) !== trim((string) ($row['remark'] ?? ''))) { + $diffChanged = true; + $diffFields[] = 'remark'; + } } $previewRows[] = array_merge($row, [ @@ -433,6 +439,7 @@ class DiceRewardLogic 'old_start_index' => $oldStart, 'old_end_index' => $oldEnd, 'old_tier' => $oldTier, + 'old_remark' => $oldRemark, 'old_weight' => $oldWeight, 'diff_changed' => $diffChanged, 'diff_fields' => $diffFields, @@ -652,11 +659,24 @@ class DiceRewardLogic 'end_index' => isset($landingConfig['id']) ? (int) $landingConfig['id'] : 0, 'ui_text' => $landingConfig['ui_text'] ?? '', 'real_ev' => $landingConfig['real_ev'] ?? null, - 'remark' => $this->defaultRemarkForTier($tier), + 'remark' => $this->resolveRemarkForReferenceRow($tier, $landingConfig), '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 一致) */ @@ -735,7 +755,8 @@ class DiceRewardLogic $same = ((int) ($ex['start_index'] ?? 0) === (int) ($row['start_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) { return ['unchanged' => false]; } diff --git a/server/scripts/gen_auth_token_signature.php b/server/scripts/gen_auth_token_signature.php index bc0859f..e6c2d2a 100644 --- a/server/scripts/gen_auth_token_signature.php +++ b/server/scripts/gen_auth_token_signature.php @@ -11,7 +11,7 @@ declare(strict_types=1); $options = getopt('', ['agent_id:', 'secret:', 'time::']); -$agentId = $options['agent_id'] ?? '202cb962ac59075b964b07152d234b70'; +$agentId = $options['agent_id'] ?? '76dc611d6ebaafc66cc0879c71b5db5c'; $secret = $options['secret'] ?? 'xF75oK91TQj13s0UmNIr1NBWMWGfflNO'; $time = $options['time'] ?? (string) time();