calculate seed bonus one hour

This commit is contained in:
xiaomlove
2022-04-21 20:41:29 +08:00
parent eb0c4cad8a
commit a47b6f9cde
2 changed files with 11 additions and 5 deletions

View File

@@ -297,8 +297,9 @@ function docleanup($forceAll = 0, $printProgress = false) {
// }
// do_log($log);
$seedBonusResult = calculate_seed_bonus($arr['userid']);
$all_bonus = $seedBonusResult['all_bonus'];
$seed_points = $seedBonusResult['seed_points'];
$dividend = 3600 / $autoclean_interval_one;
$all_bonus = $seedBonusResult['all_bonus'] / $dividend;
$seed_points = $seedBonusResult['seed_points'] / $dividend;
sql_query("update users set seed_points = ifnull(seed_points, 0) + $seed_points, seedbonus = seedbonus + $all_bonus where id = {$arr["userid"]}");
}
}

View File

@@ -5513,11 +5513,16 @@ function get_smile($num)
return $all[$num] ?? null;
}
/**
* Calculate user seed bonus per hour
*
* @param $uid
* @return array
* @throws \Nexus\Database\DatabaseException
*/
function calculate_seed_bonus($uid): array
{
$settingBonus = \App\Models\Setting::get('bonus');
$settingMain = \App\Models\Setting::get('main');
$autoclean_interval_one = $settingMain['autoclean_interval_one'];
$donortimes_bonus = $settingBonus['donortimes'];
$perseeding_bonus = $settingBonus['perseeding'];
$maxseeding_bonus = $settingBonus['maxseeding'];
@@ -5557,7 +5562,7 @@ function calculate_seed_bonus($uid): array
}
if ($count > $maxseeding_bonus)
$count = $maxseeding_bonus;
$all_bonus = $seed_bonus = $seed_points = ($valuetwo * atan($A / $l_bonus) + ($perseeding_bonus * $count)) / (3600 / $autoclean_interval_one);
$all_bonus = $seed_bonus = $seed_points = $valuetwo * atan($A / $l_bonus) + ($perseeding_bonus * $count);
$is_donor_info = \Nexus\Database\NexusDB::getOne('users', "id = $uid", "donor, donoruntil");
$is_donor_until = $is_donor_info['donoruntil'];
$is_donor = $is_donor_info['donor'] == 'yes' && ($is_donor_until === null || $is_donor_until == '0000-00-00 00:00:00' || $is_donor_until >= date('Y-m-d H:i:s'));