mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-24 20:17:24 +08:00
calculate seed bonus one hour
This commit is contained in:
+3
-2
@@ -297,8 +297,9 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
|||||||
// }
|
// }
|
||||||
// do_log($log);
|
// do_log($log);
|
||||||
$seedBonusResult = calculate_seed_bonus($arr['userid']);
|
$seedBonusResult = calculate_seed_bonus($arr['userid']);
|
||||||
$all_bonus = $seedBonusResult['all_bonus'];
|
$dividend = 3600 / $autoclean_interval_one;
|
||||||
$seed_points = $seedBonusResult['seed_points'];
|
$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"]}");
|
sql_query("update users set seed_points = ifnull(seed_points, 0) + $seed_points, seedbonus = seedbonus + $all_bonus where id = {$arr["userid"]}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5513,11 +5513,16 @@ function get_smile($num)
|
|||||||
return $all[$num] ?? null;
|
return $all[$num] ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate user seed bonus per hour
|
||||||
|
*
|
||||||
|
* @param $uid
|
||||||
|
* @return array
|
||||||
|
* @throws \Nexus\Database\DatabaseException
|
||||||
|
*/
|
||||||
function calculate_seed_bonus($uid): array
|
function calculate_seed_bonus($uid): array
|
||||||
{
|
{
|
||||||
$settingBonus = \App\Models\Setting::get('bonus');
|
$settingBonus = \App\Models\Setting::get('bonus');
|
||||||
$settingMain = \App\Models\Setting::get('main');
|
|
||||||
$autoclean_interval_one = $settingMain['autoclean_interval_one'];
|
|
||||||
$donortimes_bonus = $settingBonus['donortimes'];
|
$donortimes_bonus = $settingBonus['donortimes'];
|
||||||
$perseeding_bonus = $settingBonus['perseeding'];
|
$perseeding_bonus = $settingBonus['perseeding'];
|
||||||
$maxseeding_bonus = $settingBonus['maxseeding'];
|
$maxseeding_bonus = $settingBonus['maxseeding'];
|
||||||
@@ -5557,7 +5562,7 @@ function calculate_seed_bonus($uid): array
|
|||||||
}
|
}
|
||||||
if ($count > $maxseeding_bonus)
|
if ($count > $maxseeding_bonus)
|
||||||
$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_info = \Nexus\Database\NexusDB::getOne('users', "id = $uid", "donor, donoruntil");
|
||||||
$is_donor_until = $is_donor_info['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'));
|
$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'));
|
||||||
|
|||||||
Reference in New Issue
Block a user