From 881581a8f017fac58c5ba6c7e801fb1f01140d1d Mon Sep 17 00:00:00 2001 From: zhenhui <1276357500@qq.com> Date: Mon, 27 Jul 2026 12:30:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=A7=AF=E5=88=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=97=B6=E7=9A=84=E5=A4=87=E6=B3=A8=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/model/MallPointsLog.php | 5 +++-- app/api/controller/v1/Playx.php | 2 +- app/common/model/MallPointsLog.php | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/admin/model/MallPointsLog.php b/app/admin/model/MallPointsLog.php index 62e4cab..e04f224 100644 --- a/app/admin/model/MallPointsLog.php +++ b/app/admin/model/MallPointsLog.php @@ -36,9 +36,10 @@ class MallPointsLog extends \app\common\model\MallPointsLog $model->score_value = $scoreValue; $model->before = $before; $model->after = $after; + $pointsAbs = abs($scoreValue); $model->memo = $scoreValue > 0 - ? __('Administrator added %s points', [abs($scoreValue)]) - : __('Administrator deducted %s points', [abs($scoreValue)]); + ? sprintf(__('Administrator added %s points'), $pointsAbs) + : sprintf(__('Administrator deducted %s points'), $pointsAbs); $userAsset->available_points = $after; $userAsset->save(); diff --git a/app/api/controller/v1/Playx.php b/app/api/controller/v1/Playx.php index 2479171..e40fb32 100644 --- a/app/api/controller/v1/Playx.php +++ b/app/api/controller/v1/Playx.php @@ -1130,7 +1130,7 @@ SQL; $memoKey = ($row['direction'] ?? '') === 'OUT' ? 'Administrator deducted %s points' : 'Administrator added %s points'; - $memo = __($memoKey, [$row['points'] ?? 0]); + $memo = sprintf(__($memoKey), $row['points'] ?? 0); } $list[] = [ 'biz_type' => $row['biz_type'] ?? '', diff --git a/app/common/model/MallPointsLog.php b/app/common/model/MallPointsLog.php index 67bef01..3462681 100644 --- a/app/common/model/MallPointsLog.php +++ b/app/common/model/MallPointsLog.php @@ -15,4 +15,18 @@ class MallPointsLog extends Model protected string $pk = 'id'; protected bool $autoWriteTimestamp = true; protected bool $updateTime = false; + + /** + * 展示备注:兼容历史数据未替换的 %s 占位符 + */ + public function getMemoAttr($value, $row): string + { + $memo = strval($value ?? ''); + if ($memo === '' || !str_contains($memo, '%s')) { + return $memo; + } + $points = abs(intval(is_array($row) ? ($row['score_value'] ?? 0) : ($row->score_value ?? 0))); + + return sprintf($memo, $points); + } }