1.优化色子奖励权重表备注没有更新上去
This commit is contained in:
@@ -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];
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user