diff --git a/application/adminapi/controller/Room.php b/application/adminapi/controller/Room.php index 60440a9..cbf6853 100644 --- a/application/adminapi/controller/Room.php +++ b/application/adminapi/controller/Room.php @@ -876,6 +876,12 @@ class Room extends adminApi } } } + + //排序 + $sort = input('sort', '');//排序 越大越靠前 + if($sort !== ""){ + $data['sort'] = $sort; + } $res = db::name('vs_room')->where('id',$room_id)->update($data); if($res){ return V(1,"成功"); diff --git a/application/api/controller/Theme.php b/application/api/controller/Theme.php index de023fd..8cc8aba 100644 --- a/application/api/controller/Theme.php +++ b/application/api/controller/Theme.php @@ -46,6 +46,18 @@ class Theme extends controller $reslut['mine_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/mine_nor.png'; } - return V(1,'操作成功', $reslut); + //版本号 + $app_version = request()->header('App-Version'); + $system = request()->header('system'); + $api_version = 0; + if ($system == 'iOS') { + $api_versions = db::name('version')->where(['type' => 2, 'status' => 1])->order('id', 'desc')->find(); + $result = version_compare($api_versions['oldversion'],$app_version); + if ($result < 0) { + $api_version = 1; + } + } + + return V(1,'操作成功', $reslut,$api_version); } } diff --git a/application/api/model/Room.php b/application/api/model/Room.php index f19baf3..d747b38 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -200,8 +200,11 @@ class Room extends Model $map['is_top'] = $is_top; } - $list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,today_hot_value as hot_value,label_id,is_show_room') - ->where($map)->order('hot_value desc, id asc')->page($page, $page_limit)->select(); + $list = db::name('vs_room') + ->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,today_hot_value as hot_value,label_id,is_show_room') + ->where($map) + ->order('sort desc,hot_value desc') + ->page($page, $page_limit)->select(); foreach ($list as &$v){ $v['user_list'] = model('RoomUser')->get_room_user_list($v['room_id']); @@ -1813,10 +1816,10 @@ class Room extends Model return ['code' => 0, 'msg' => '参数错误', 'data' => null]; } $user_in_room = db::name('vs_room_visitor')->where(['room_id' => $room_id,'user_id' => $user_id])->find(); - if(!$user_in_room){ -// return ['code' => 0, 'msg' => '您已不在此房间', 'data' => null]; - return ['code' => 0, 'msg' => '', 'data' => null]; - } +// if(!$user_in_room){ +//// return ['code' => 0, 'msg' => '您已不在此房间', 'data' => null]; +// return ['code' => 0, 'msg' => '', 'data' => null]; +// } $room = db::name('vs_room')->where(['id' => $room_id])->find(); $song_list = null; $next_song_info = null; diff --git a/application/api/model/RoomPit.php b/application/api/model/RoomPit.php index 38d0866..9ef0a7d 100644 --- a/application/api/model/RoomPit.php +++ b/application/api/model/RoomPit.php @@ -80,24 +80,36 @@ class RoomPit extends Model $text['pit_number'] = $pit_number; //聊天室推送系统消息 model('Chat')->sendMsg(1003,$room_id,$text); - if($pit_number == 9){ - //推送消息给设置此用户开播提醒的人 - $remind_users = db::name('vs_user_live_remind')->where('remind_user_id' , $user_id)->select('user_id'); - $remind_user = []; - foreach ($remind_users as $k=>$v){ - $remind_user[$k] = 'u'.$v['user_id']; - if($k >= 499){ //批量发单聊消息 最大数500个 - //结束整个循环 - break; - } - } - $content = [ - 'type' => 1, - 'roomID' => $room_id, - 'content' => '您关注的用户' . $FromUserInfo['nickname'] . '正在直播,快去围观吧!', - ]; - model('Tencent')->batchsendmsg($remind_user,json_encode($content)); + + //查看此房间是否处于pk中 + $is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0; + if(!$is_pk){ + $is_pk = db::name('vs_room_pk')->where(['room_id_b' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_a') ?? 0; } + if($is_pk > 0){ + //如果此房间是pk中,则推送给pk中房间的成员 + $text['is_pk'] = 1; + model('Chat')->sendMsg(1003,$is_pk,$text); + } + +// if($pit_number == 9){ +// //推送消息给设置此用户开播提醒的人 +// $remind_users = db::name('vs_user_live_remind')->where('remind_user_id' , $user_id)->select('user_id'); +// $remind_user = []; +// foreach ($remind_users as $k=>$v){ +// $remind_user[$k] = 'u'.$v['user_id']; +// if($k >= 499){ //批量发单聊消息 最大数500个 +// //结束整个循环 +// break; +// } +// } +// $content = [ +// 'type' => 1, +// 'roomID' => $room_id, +// 'content' => '您关注的用户' . $FromUserInfo['nickname'] . '正在直播,快去围观吧!', +// ]; +// model('Tencent')->batchsendmsg($remind_user,json_encode($content)); +// } $reslut = db::name('vs_room_pit_apply')->where(['user_id' => $user_id, 'room_id' => $room_id, 'status' => 0])->delete(); if($reslut){ $count = db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count(); @@ -171,6 +183,16 @@ class RoomPit extends Model model('Chat')->sendMsg(1022,$room_id,$text); }else{ model('Chat')->sendMsg(1004,$room_id,$text); + //查看此房间是否处于pk中 + $is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0; + if(!$is_pk){ + $is_pk = db::name('vs_room_pk')->where(['room_id_b' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_a') ?? 0; + } + if($is_pk > 0){ + //如果此房间是pk中,则推送给pk中房间的成员 + $text['is_pk'] = 1; + model('Chat')->sendMsg(1004,$is_pk,$text); + } } return ['code' => 1, 'msg' => '下麦成功', 'data' => null]; @@ -248,6 +270,10 @@ class RoomPit extends Model //换麦使用 if(isset($pit_infos) && $pit_infos['pit_number'] > 0){ + //9号麦位不允许换 + if($pit_infos['pit_number'] == 9){ + return ['code' => 0, 'msg' => 'PK中 主持不允许换麦', 'data' => null]; + } $exchange1 = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_infos['pit_number']])->update([ 'user_id' => 0]); $exchange = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_number])->update([ 'user_id' => $user_id]); if(!$exchange || !$exchange1){ @@ -270,6 +296,16 @@ class RoomPit extends Model $text['from_pit_number'] = $pit_infos['pit_number']; $text['to_pit_number'] = $pit_number; model('Chat')->sendMsg(1039,$room_id,$text); + //查看此房间是否处于pk中 + $is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0; + if(!$is_pk){ + $is_pk = db::name('vs_room_pk')->where(['room_id_b' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_a') ?? 0; + } + if($is_pk > 0){ + //如果此房间是pk中,则推送给pk中房间的成员 + $text['is_pk'] = 1; + model('Chat')->sendMsg(1039,$is_pk,$text); + } return ['code' => 1, 'msg' => '上麦成功', 'data' => null]; }else{ $ompit = $this->OnPit($user_id,$room_id,$pit_number);//用户上了这个房间的几号麦位