$value) { $currentTimestamp = time(); // 如果是挂机状态 if (SendCode::get_ws_status($value->phone) == 0) { // 如果在线时长超过 3600 秒 if ($value->time > 3600) { $div = intdiv($value->time, 3600); $score = $div * 20; $time_tmp = $value->time - ($div * 3600); // 更新积分 $value->score += $score; $value->time = $time_tmp; // 保存用户收益 UserRewardDao::Onhookincome($value->user_id, $score); } // 计算新的在线时长 $value->time += $currentTimestamp - $value->last_time; $value->last_time = $currentTimestamp; // 更新状态为在线 $value->status = 1; } else { // 如果不在线,设置状态为 0 $value->status = 0; } $value->last_time = $currentTimestamp; // 最后保存数据 $value->save(); } }); } }