This commit is contained in:
aozhiwei 2023-08-30 12:01:18 +08:00
parent af237c5da7
commit 719aa0aa52

View File

@ -221,23 +221,7 @@ class Staking extends BaseModel {
$dto['remain_days'] = max(0, $saveDays - $dto['stacked_days']); $dto['remain_days'] = max(0, $saveDays - $dto['stacked_days']);
$stakedDays = $dto['stacked_days']; $stakedDays = $dto['stacked_days'];
$dailyInterest = self::getDailyInterest($row['stake_time'], $dto['remain_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; $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['cec_rewards'] = 0;
$dto['total_rewards'] = 0; $dto['total_rewards'] = 0;
if ($dto['status'] == self::REDEEM_STATUS) { if ($dto['status'] == self::REDEEM_STATUS) {
@ -246,21 +230,25 @@ class Staking extends BaseModel {
$stakedDays = min($stakedDays, $saveDays); $stakedDays = min($stakedDays, $saveDays);
if ($saveDays >= 30 * 12 * 2) { if ($saveDays >= 30 * 12 * 2) {
$stakedDays = max($stakedDays, 0); $stakedDays = max($stakedDays, 0);
$dto['cec_rewards'] = $srcDailyRewards * min(30 * 12, $stakedDays) * 0.6 * 0.25; $dto['cec_rewards'] = ($dto['cec_value'] * (0.6 / 30 / 12)) *
$dto['cec_rewards'] += $srcDailyRewards * max(0, $stakedDays - 30 * 12) * 0.4 * 0.25; 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 { } else {
$dto['cec_rewards'] = $srcDailyRewards * $stakedDays * 0.25; $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays * 0.25;
} }
$dto['total_rewards'] = $dto['cec_rewards']; $dto['total_rewards'] = $dto['cec_rewards'];
} else { } else {
$stakedDays = max($stakedDays, 0); $stakedDays = max($stakedDays, 0);
$stakedDays = min($stakedDays, $saveDays); $stakedDays = min($stakedDays, $saveDays);
if ($dto['remain_days'] <= 0 ) { if ($dto['remain_days'] <= 0 ) {
$dto['cec_rewards'] = $srcDailyRewards * $stakedDays; $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays;
} else { } else {
if ($saveDays >= 30 * 12 * 2) { if ($saveDays >= 30 * 12 * 2) {
$dto['cec_rewards'] = $srcDailyRewards * min(30 * 12, $stakedDays) * 0.6; $dto['cec_rewards'] = ($dto['cec_value'] * (0.6 / 30 / 12)) *
$dto['cec_rewards'] += $srcDailyRewards * max(0, $stakedDays - 30 * 12) * 0.4; min(30 * 12, $stakedDays) * 0.6;
$dto['cec_rewards'] += ($dto['cec_value'] * (0.6 / 30 / 12)) *
max(0, $stakedDays - 30 * 12) * 0.4;
} else { } else {
$dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays; $dto['cec_rewards'] = $dto['daily_rewards'] * $stakedDays;
} }
@ -291,7 +279,11 @@ class Staking extends BaseModel {
} else if ($months <= 12) { } else if ($months <= 12) {
return 0.4 / 30 / $months; return 0.4 / 30 / $months;
} else if ($months <= 24) { } else if ($months <= 24) {
return 1 / 30 / $months; if ($remainDays > 360) {
return 0.6 / 30 / 12;
} else {
return 0.4 / 30 / 12;
}
} else { } else {
return 0; return 0;
} }