From 719aa0aa525ca50b51dd5bb8b56c24eaa32f054e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 30 Aug 2023 12:01:18 +0800 Subject: [PATCH] 1 --- webapp/models/Staking.php | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/webapp/models/Staking.php b/webapp/models/Staking.php index c1cf0287..ef60e88b 100644 --- a/webapp/models/Staking.php +++ b/webapp/models/Staking.php @@ -221,23 +221,7 @@ class Staking extends BaseModel { $dto['remain_days'] = max(0, $saveDays - $dto['stacked_days']); $stakedDays = $dto['stacked_days']; $dailyInterest = self::getDailyInterest($row['stake_time'], $dto['remain_days']); - $srcDailyInterest = $dailyInterest; - if ($saveDays >= 30 * 12 * 2) { - if ($stakedDays < 30 * 12) { - $dailyInterest *= 0.6; - } else { - $dailyInterest *= 0.4; - } - } $dto['daily_rewards'] = $dto['cec_value'] * $dailyInterest; - /* - error_log(json_encode(array( - 'remain_days' => max(0, $saveDays - $dto['stacked_days']), - 'daily_rewards' => $dto['daily_rewards'], - 'daily_interest' => $dailyInterest - ))); - */ - $srcDailyRewards = $dto['cec_value'] * $srcDailyInterest; $dto['cec_rewards'] = 0; $dto['total_rewards'] = 0; if ($dto['status'] == self::REDEEM_STATUS) { @@ -246,21 +230,25 @@ class Staking extends BaseModel { $stakedDays = min($stakedDays, $saveDays); if ($saveDays >= 30 * 12 * 2) { $stakedDays = max($stakedDays, 0); - $dto['cec_rewards'] = $srcDailyRewards * min(30 * 12, $stakedDays) * 0.6 * 0.25; - $dto['cec_rewards'] += $srcDailyRewards * max(0, $stakedDays - 30 * 12) * 0.4 * 0.25; + $dto['cec_rewards'] = ($dto['cec_value'] * (0.6 / 30 / 12)) * + min(30 * 12, $stakedDays) * 0.6 * 0.25; + $dto['cec_rewards'] += ($dto['cec_value'] * (0.6 / 30 / 12)) * + max(0, $stakedDays - 30 * 12) * 0.4 * 0.25; } else { - $dto['cec_rewards'] = $srcDailyRewards * $stakedDays * 0.25; + $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays * 0.25; } $dto['total_rewards'] = $dto['cec_rewards']; } else { $stakedDays = max($stakedDays, 0); $stakedDays = min($stakedDays, $saveDays); if ($dto['remain_days'] <= 0 ) { - $dto['cec_rewards'] = $srcDailyRewards * $stakedDays; + $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays; } else { if ($saveDays >= 30 * 12 * 2) { - $dto['cec_rewards'] = $srcDailyRewards * min(30 * 12, $stakedDays) * 0.6; - $dto['cec_rewards'] += $srcDailyRewards * max(0, $stakedDays - 30 * 12) * 0.4; + $dto['cec_rewards'] = ($dto['cec_value'] * (0.6 / 30 / 12)) * + min(30 * 12, $stakedDays) * 0.6; + $dto['cec_rewards'] += ($dto['cec_value'] * (0.6 / 30 / 12)) * + max(0, $stakedDays - 30 * 12) * 0.4; } else { $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays; } @@ -291,7 +279,11 @@ class Staking extends BaseModel { } else if ($months <= 12) { return 0.4 / 30 / $months; } else if ($months <= 24) { - return 1 / 30 / $months; + if ($remainDays > 360) { + return 0.6 / 30 / 12; + } else { + return 0.4 / 30 / 12; + } } else { return 0; }