mirror of
https://github.com/cedar2025/Xboard.git
synced 2025-02-02 07:28:13 -05:00
Merge pull request #54 from sakurauidev/ResetTraffic
将周期重置流量只重置已使用流量修改为重置已使用流量的同时重置当总流量为当前订阅所设置的流量
This commit is contained in:
commit
03267b2051
@ -107,24 +107,45 @@ class ResetTraffic extends Command
|
|||||||
|
|
||||||
private function resetByExpireYear($builder): void
|
private function resetByExpireYear($builder): void
|
||||||
{
|
{
|
||||||
$users = [];
|
|
||||||
foreach ($builder->get() as $item) {
|
$users = $builder->with('plan')->get();
|
||||||
$expireDay = date('m-d', $item->expired_at);
|
$usersToUpdate = [];
|
||||||
|
foreach ($users as $user) {
|
||||||
|
$expireDay = date('m-d', $user->expired_at);
|
||||||
$today = date('m-d');
|
$today = date('m-d');
|
||||||
if ($expireDay === $today) {
|
if ($expireDay === $today) {
|
||||||
array_push($users, $item->id);
|
$usersToUpdate[] = [
|
||||||
|
'id' => $user->id,
|
||||||
|
'transfer_enable' => $user->plan->transfer_enable
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
User::whereIn('id', $users)->update([
|
|
||||||
|
foreach ($usersToUpdate as $userData) {
|
||||||
|
User::where('id', $userData['id'])->update([
|
||||||
|
'transfer_enable' => (intval($userData['transfer_enable']) * 1073741824),
|
||||||
'u' => 0,
|
'u' => 0,
|
||||||
'd' => 0
|
'd' => 0
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private function resetByYearFirstDay($builder): void
|
private function resetByYearFirstDay($builder): void
|
||||||
{
|
{
|
||||||
|
$users = $builder->with('plan')->get();
|
||||||
|
$usersToUpdate = [];
|
||||||
|
foreach ($users as $user) {
|
||||||
if ((string) date('md') === '0101') {
|
if ((string) date('md') === '0101') {
|
||||||
$builder->update([
|
$usersToUpdate[] = [
|
||||||
|
'id' => $user->id,
|
||||||
|
'transfer_enable' => $user->plan->transfer_enable
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($usersToUpdate as $userData) {
|
||||||
|
User::where('id', $userData['id'])->update([
|
||||||
|
'transfer_enable' => (intval($userData['transfer_enable']) * 1073741824),
|
||||||
'u' => 0,
|
'u' => 0,
|
||||||
'd' => 0
|
'd' => 0
|
||||||
]);
|
]);
|
||||||
@ -133,32 +154,48 @@ class ResetTraffic extends Command
|
|||||||
|
|
||||||
private function resetByMonthFirstDay($builder): void
|
private function resetByMonthFirstDay($builder): void
|
||||||
{
|
{
|
||||||
|
$users = $builder->with('plan')->get();
|
||||||
|
$usersToUpdate = [];
|
||||||
|
foreach ($users as $user) {
|
||||||
if ((string) date('d') === '01') {
|
if ((string) date('d') === '01') {
|
||||||
$builder->update([
|
$usersToUpdate[] = [
|
||||||
|
'id' => $user->id,
|
||||||
|
'transfer_enable' => $user->plan->transfer_enable
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($usersToUpdate as $userData) {
|
||||||
|
User::where('id', $userData['id'])->update([
|
||||||
|
'transfer_enable' => (intval($userData['transfer_enable']) * 1073741824),
|
||||||
'u' => 0,
|
'u' => 0,
|
||||||
'd' => 0
|
'd' => 0
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function resetByExpireDay($builder): void
|
private function resetByExpireDay($builder): void
|
||||||
{
|
{
|
||||||
$lastDay = date('d', strtotime('last day of +0 months'));
|
$lastDay = date('d', strtotime('last day of +0 months'));
|
||||||
$users = [];
|
|
||||||
foreach ($builder->get() as $item) {
|
|
||||||
$expireDay = date('d', $item->expired_at);
|
|
||||||
$today = date('d');
|
$today = date('d');
|
||||||
if ($expireDay === $today) {
|
$users = $builder->with('plan')->get();
|
||||||
array_push($users, $item->id);
|
$usersToUpdate = [];
|
||||||
|
|
||||||
|
foreach ($users as $user) {
|
||||||
|
$expireDay = date('d', $user->expired_at);
|
||||||
|
if ($expireDay === $today || ($today === $lastDay && $expireDay >= $today)) {
|
||||||
|
$usersToUpdate[] = [
|
||||||
|
'id' => $user->id,
|
||||||
|
'transfer_enable' => $user->plan->transfer_enable
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($today === $lastDay) && $expireDay >= $lastDay) {
|
foreach ($usersToUpdate as $userData) {
|
||||||
array_push($users, $item->id);
|
User::where('id', $userData['id'])->update([
|
||||||
}
|
'transfer_enable' => (intval($userData['transfer_enable']) * 1073741824),
|
||||||
}
|
|
||||||
User::whereIn('id', $users)->update([
|
|
||||||
'u' => 0,
|
'u' => 0,
|
||||||
'd' => 0
|
'd' => 0
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user