Files
yusheng-php/application/api/controller/Xintiao.php

76 lines
2.8 KiB
PHP
Raw Normal View History

2025-10-20 10:02:41 +08:00
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use think\Log;
use app\common\controller\BaseCom;
class Xintiao extends BaseCom
{
2025-12-02 19:08:07 +08:00
//房间内保持心跳
public function keep_room_heartbeat()
2025-10-20 10:02:41 +08:00
{
2025-12-02 19:08:07 +08:00
$room_id = input('room_id');
2025-12-02 19:32:46 +08:00
if(!$room_id){
return V(0, '参数错误', null);
}
2025-10-20 10:02:41 +08:00
$user_id = $this->uid;
2025-12-02 19:08:07 +08:00
$is_xintiao = db::name('vs_room_heartbeat')->where(['user_id' => $user_id, 'room_id' => $room_id])->find();
2025-10-20 10:02:41 +08:00
if($is_xintiao){
2025-12-02 19:28:24 +08:00
db::name('vs_room_heartbeat')->where('id' , $is_xintiao['id'])->update(['updatetime' => time()]);
2025-10-20 10:02:41 +08:00
}else{
2025-12-02 19:08:07 +08:00
db::name('vs_room_heartbeat')->insert([
2025-10-20 10:02:41 +08:00
'user_id' => $user_id,
2025-12-02 19:32:10 +08:00
'room_id' => $room_id,
2025-10-20 10:02:41 +08:00
'createtime' => time(),
'updatetime' => time()
2025-12-02 19:08:07 +08:00
]);
2025-10-20 10:02:41 +08:00
}
2025-12-11 09:00:56 +08:00
//任务18-每日在线时长 5 分钟
model('Tasks')->tasks_complete($user_id,18);
//任务19-每日在线时长 10 分钟
model('Tasks')->tasks_complete($user_id,19);
//任务20-每日在线时长 15 分钟
model('Tasks')->tasks_complete($user_id,20);
//获取房间的类型
$room_type = db::name('vs_room')->where(['id' => $room_id])->value('type_id');
//查询徒弟是否是首签的徒弟 sign_user_type:被签用户的类型0-首次被签1-签约过期2-违约签
2025-12-11 16:34:26 +08:00
$user_sign = db::name('vs_user_sign')
->where(['sign_user_id' => $user_id,'sign_user_type' => 0,'end_time' => ['>',time()]])->field('parent_user_id,sign_user_id')->select();
if($user_sign){
foreach ($user_sign as $v){
if($room_type == 2){
//查询徒弟在不在房间
$is_room = db::name('vs_room_visitor')
->where(['user_id' => $v['sign_user_id'], 'room_id' => $room_id])->find();
if($is_room){
//任务21-邀请徒弟在拍卖房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('Tasks')->tasks_complete($v['parent_user_id'], 21, 1,$v['sign_user_id']);
}
}
if($room_type == 7){
//查询徒弟在不在房间
$is_room = db::name('vs_room_visitor')
->where(['user_id' => $v['sign_user_id'], 'room_id' => $room_id])->find();
if($is_room){
//任务23-邀请徒弟在交友房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('Tasks')->tasks_complete($v['parent_user_id'], 23, 1,$v['sign_user_id']);
}
}
}
2025-12-11 09:00:56 +08:00
}
2025-12-02 14:30:43 +08:00
return V(1, '成功', null);
2025-10-20 10:02:41 +08:00
}
}