diff --git a/application/api/controller/Room.php b/application/api/controller/Room.php index 801ef2f..0bf7921 100644 --- a/application/api/controller/Room.php +++ b/application/api/controller/Room.php @@ -46,7 +46,7 @@ class Room extends BaseCom public function user_room_history_list() { $page = input('page', 1); - $page_limit = input('page_limit', 15); + $page_limit = input('page_limit', 30); $reslut = model('UserData')->user_room_history_list($this->uid, $page, $page_limit); return V($reslut['code'], $reslut['msg'], $reslut['data']); } @@ -114,6 +114,24 @@ class Room extends BaseCom { $room_id = input('room_id', 0); $password = input('password', ''); + + //检测系统是否维护中 + $is_maintenance = get_system_config_value('is_maintenance'); + //获取内侧账号 + $inside_uid = get_system_config_value('inside_uid'); + if($inside_uid && $is_maintenance == 3){ + //排除小房间 + $room_type = db::name('vs_room')->where('id',$room_id)->value('type_id'); + if($room_type != 6){ + //先转为数组 不是内侧账号 返回301 + $inside_uid = explode(',',$inside_uid); + //room id = 9 是武松打鼠的房间 暂定为内侧房间 + if(in_array($this->uid,$inside_uid) && $room_id != 9){ + return V(0, '不可访问'); + } + } + } + $reslut = model('Room')->join_room($this->uid, $room_id, $password); return V($reslut['code'], $reslut['msg'], $reslut['data']); } diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 52bcb77..c73bcd5 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -908,29 +908,6 @@ class Room extends Model $ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find(); $ttex['text'] = 'CP特效'; model('api/Chat')->sendMsg(1080, $room_id, $ttex); - // 检查是否支持 pcntl 扩展 -// if (function_exists('pcntl_fork')) { -// $pid = pcntl_fork(); -// -// if ($pid == -1) { -// // 创建子进程失败,直接推送消息 -// model('api/Chat')->sendMsg(1080, $room_id, $ttex); -// } elseif ($pid) { -// // 父进程,继续执行 -// // 不等待子进程结束 -// } else { -// // 子进程,延迟推送消息 -// sleep(1); -// model('api/Chat')->sendMsg(1080, $room_id, $ttex); -// sleep(1); -// exit(0); // 子进程结束 -// } -// } else { -// // 不支持 pcntl,直接推送消息 -// model('api/Chat')->sendMsg(1080, $room_id, $ttex); -// } - - } } } diff --git a/application/api/model/User.php b/application/api/model/User.php index 3968e94..ec5caae 100644 --- a/application/api/model/User.php +++ b/application/api/model/User.php @@ -544,6 +544,7 @@ class User extends Model public function add_user_visit_log($type,$from_uid,$to_uid){ $visit = db::name('user_visit_log')->where(['from_uid' => $from_uid,'to_id' => $to_uid,'type' => $type])->find(); if($visit){ + db::name('user_visit_log')->where(['id' => $visit['id']])->update(['updatetime' => time()]); return true; } $data = [ @@ -551,6 +552,7 @@ class User extends Model 'from_uid' => $from_uid, 'to_id' => $to_uid, 'createtime' => time(), + 'updatetime' => time(), ]; db::name('user_visit_log')->insert($data); return true; diff --git a/application/api/model/UserData.php b/application/api/model/UserData.php index 0a9e578..1f67fb5 100644 --- a/application/api/model/UserData.php +++ b/application/api/model/UserData.php @@ -433,7 +433,7 @@ class UserData extends Model ->where('a.type',2) ->where('b.type_id','<>',6) ->where('b.room_status',1) - ->order('a.id desc') + ->order('a.updatetime desc') ->page($page,$page_limit) ->select(); if($list){ diff --git a/application/cron/controller/RoomPan.php b/application/cron/controller/RoomPan.php index 33a1062..f0ff60c 100644 --- a/application/cron/controller/RoomPan.php +++ b/application/cron/controller/RoomPan.php @@ -45,11 +45,12 @@ class RoomPan ->find(); if($is_online){//现在 在房间内 if(time() - $value['updatetime'] >= 180){//三分钟没有心跳 + db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]); if($is_online['is_online'] == 2){//之前就是离开 continue; }else{//之前就是在线则改为离开 db::name('vs_room_visitor')->where('id',$is_online['id'])->update(['is_online'=>2,'updatetime'=>time()]); - db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]); + $text['text'] = '离开'; $text['user_id'] = $value['user_id']; $text['type'] = 2;