webman/process/Task3.php

94 lines
2.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace process;
use app\model\UserPhone;
use app\model\ActiveUsers;
use app\dao\UserRewardDao;
use Workerman\Crontab\Crontab;
use app\model\User;
/**
* 获取今天在线时间超过6小时的用户
*/
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 () {
//获取在线时间超过6小时的用户
$today = date('Y-m-d');
$UserPhone = UserPhone::where('score', '>=', 120)->where('score', '<',140)->get();
//判断用户绑定Whatsapp首次登录
foreach ($UserPhone as $key => $value) {
$user_id = $value->user_id;
//判定有没有父级 这里父级没有默认是0
$user = User::find($user_id);
if ($user->f_id==0) {
continue;
}
//获取该用户的父级
$parent = User::find($user->f_id);
//满足则加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();
// ActiveUsers.c
$activeUsers = ActiveUsers::create([
'user_id' => $parent->id,
'phome' => $UserPhone->phone,
'income' => $UserPhone->day_score,
]);
//判定有没有父级的父级 这里父级没有默认是0
if($parent->f_id==0){
continue;
}
//获取父级的父级
$ancestor = User::find($parent->f_id);
//今天活跃人数加1
$ancestor->active_figures += 1;
$ancestor->save();
}
});
}
}