This commit is contained in:
lingling 2025-02-18 10:43:00 +08:00
commit ce8a9ee864
6 changed files with 1521 additions and 28 deletions

View File

@ -197,30 +197,4 @@ class TaskController
UserRewardDao::base($user_id, 4, 50, '首次关联此手机号送50积分');
}
}
/**
* 有效下级
*/
public static function effective_junior()
{
//获取今天在线时间超过6小时的用户
$UserPhone = UserPhone::where('time', '>', 360)->get();
//判断用户绑定Whatsapp首次登录
foreach ($UserPhone as $key => $value) {
$user_id = $value->user_id;
$user = User::find($user_id);
//判断用户绑定Whatsapp首次登录
// if ($user->bind_whatsapp == 0) {
//满足则加80积分
UserRewardDao::base($user_id, 6, 80, '任务佣金');
//vip_id等级加1,并更新数据库
$user->vip_id += 1;
$user->save();
// }
}
//满足则加80积分
// UserRewardDao::base($user_id, 6, 80, '任务佣金');
}
}

View File

@ -137,7 +137,7 @@ class Vip_rewardController
{
$user_id=$request->data['id'];
$user=User::find($user_id);
return ApiResponseApp::success(['user_count'=>$user->vip_id]);
return ApiResponseApp::success(['user_count'=>$user->today_num]);
}
/**
* @Apidoc\Title("1.0 获取当前用户vip等级")
@ -221,7 +221,7 @@ class Vip_rewardController
if ($data['status'] == 2) {
continue;
}
if ($user->vip_id >= $data['user_count']) {
if ($user->today_num >= $data['user_count']) {
$data['status'] = 1; // 满足条件时设置状态为1
} else {
$data['status'] = 0; // 不满足条件时设置状态为0

View File

@ -69,5 +69,9 @@ return [
],
'task2' => [
'handler' => process\Task2::class
],'task3' => [
'handler' => process\Task3::class
],'task4' => [
'handler' => process\Task4::class
],
];

77
process/Task3.php Normal file
View File

@ -0,0 +1,77 @@
<?php
namespace process;
use App\Utils\API\SendCode;
use app\model\UserPhone;
use app\dao\UserRewardDao;
use Workerman\Crontab\Crontab;
use app\model\GetLodeLog;
use app\model\User;
/**
* 查询用户是否在线类
*/
class Task3
{
public function onWorkerStart()
{
// // 每秒钟执行一次
// new Crontab('*/1 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5秒执行一次
// new Crontab('*/5 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每分钟执行一次
// new Crontab('0 */1 * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5分钟执行一次
// new Crontab('0 */5 * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每分钟的第一秒执行
// new Crontab('1 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每天的7点50执行注意这里省略了秒位
// new Crontab('50 7 * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5秒执行一次
new Crontab('0 */5 * * * *', function () {
echo date('Y-m-d H:i:s')."\n";
//获取今天在线时间超过6小时的用户
$today = date('Y-m-d');
$UserPhone = UserPhone::where('time', '>=', 3600)::where('time', '<', 4200)::where('created_at','>=',$today)->get();
//判断用户绑定Whatsapp首次登录
foreach ($UserPhone as $key => $value) {
$user_id = $value->user_id;
$user = User::find($user_id);
if (!$user) {
continue;
}
//获取该用户的父级
$parent = User::find($user->f_id);
var_dump($parent);
//满足则加80积分
UserRewardDao::base($parent->id, 5, 80, '推广收益');
//vip_id等级加1,并更新数据库
$parent->vip_id += 1;
//今天邀请人数加1
$parent->today_num += 1;
$parent->today_team_income+=80;
$parent->save();
}
});
}
}

56
process/Task4.php Normal file
View File

@ -0,0 +1,56 @@
<?php
namespace process;
use App\Utils\API\SendCode;
use app\model\UserPhone;
use app\dao\UserRewardDao;
use Workerman\Crontab\Crontab;
use app\model\GetLodeLog;
use app\model\User;
/**
* 查询用户是否在线类
*/
class Task4
{
public function onWorkerStart()
{
// // 每秒钟执行一次
// new Crontab('*/1 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5秒执行一次
// new Crontab('*/5 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每分钟执行一次
// new Crontab('0 */1 * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5分钟执行一次
// new Crontab('0 */5 * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每分钟的第一秒执行
// new Crontab('1 * * * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每天的7点50执行注意这里省略了秒位
// new Crontab('50 7 * * *', function(){
// echo date('Y-m-d H:i:s')."\n";
// });
// // 每5秒执行一次
new Crontab('0 0 * * *', function () {
echo date('Y-m-d H:i:s')."\n";
//把user里所有数据的today_num全部变成0
User::where('today_num','>',0)->update(['today_num'=>0]);
});
}
}

1382
sql/app_hd2025-02-18.sql Normal file

File diff suppressed because one or more lines are too long