diff --git a/application/api/controller/Cron.php b/application/api/controller/Cron.php index 147b7b9..0e9fa4b 100644 --- a/application/api/controller/Cron.php +++ b/application/api/controller/Cron.php @@ -37,4 +37,10 @@ class Cron $cron = new \app\cron\controller\RoomPan(); $cron->index(); } + + //交友房结束 + public function FriendEnd(){ + $cron = new \app\cron\controller\FriendEnd(); + $cron->index(); + } } \ No newline at end of file diff --git a/application/api/model/Chat.php b/application/api/model/Chat.php index a6750d6..995afd1 100644 --- a/application/api/model/Chat.php +++ b/application/api/model/Chat.php @@ -89,6 +89,8 @@ class Chat extends Model // RoomAuctionPK = 1037, //送盲盒礼物推送文字消息 // RoomGiftBlindBox = 1038, + //换麦 + // RoomChangePit = 1039, //交友房间内发送消息 //交友房游戏阶段 diff --git a/application/api/model/Friend.php b/application/api/model/Friend.php index b63c8c3..7cd981d 100644 --- a/application/api/model/Friend.php +++ b/application/api/model/Friend.php @@ -47,7 +47,7 @@ class Friend extends Model model('api/Chat')->sendMsg(1049,$room_id,$text); return ['code' => 1, 'msg' => '操作成功!', 'data' => ['friend_id' => $id]]; }else{ - return ['code' => 0, 'msg' => '不具备开始条件!', 'data' => null]; + return ['code' => 0, 'msg' => '交友麦位至少两位用户才能开始', 'data' => null]; } } @@ -159,7 +159,7 @@ class Friend extends Model ->update(['status' => 3,'friend_config_id' =>$friending_config_id]); if ($originalPairs) { $relation = db::name('vs_relation')->where('id',$friending_config_id)->value('name'); - if($friending_heart['heart_value'] >= get_system_config_value('friend_heart_create_room')){ + if($friending_heart['heart_value'] >= get_system_config_value('friend_heart_create_room') && $friending_config_id > 0){ //创建小房间 $room_ids = model('api/Room')->user_create_room($user1,'的电影房',get_system_config_value('web_site').'/data/avatar/head_pic.png','交友房产生的一次性房间',7); if($room_ids['code'] != 1){ diff --git a/application/api/model/RoomPit.php b/application/api/model/RoomPit.php index bf215a7..39885b3 100644 --- a/application/api/model/RoomPit.php +++ b/application/api/model/RoomPit.php @@ -188,9 +188,9 @@ class RoomPit extends Model //检查是否在坑位上 $pit_infos = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->field('id,pit_number')->find(); - if($pit_infos){ - return ['code' => 0, 'msg' => '您已上麦', 'data' => null]; - } +// if($pit_infos){ +// return ['code' => 0, 'msg' => '您已上麦', 'data' => null]; +// } if($room_info['label_id'] == 5 && $room_info['step'] != 1 && $pit_number < 9){ return ['code' => 0, 'msg' => '交友房 此阶段不可操作', 'data' => null]; @@ -203,6 +203,11 @@ class RoomPit extends Model if($pit_number == 7 || $pit_number == 8){ return ['code' => 0, 'msg' => '该麦位已锁定了', 'data' => null]; } + if($pit_number == 9){ + if($pit_infos){ + return ['code' => 0, 'msg' => '您已上麦', 'data' => null]; + } + } } //查询当前麦位是否有人 $pit_info = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_number])->field('id,user_id,is_lock')->find(); @@ -235,11 +240,34 @@ class RoomPit extends Model } //换麦使用 if(isset($pit_infos) && $pit_infos['pit_number'] > 0){ - //下麦 - $dow = $this ->DownPit($user_id,$room_id,$pit_infos['pit_number']); - if($dow['code'] != 1){ - return ['code' => 0, 'msg' => '操作失败', 'data' => null]; +// //下麦 +// $dow = $this ->DownPit($user_id,$room_id,$pit_infos['pit_number']); +// if($dow['code'] != 1){ +// return ['code' => 0, 'msg' => '操作失败', '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){ + return ['code' => 0, 'msg' => '换麦失败', 'data' => null]; } + $FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); + $FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标 + $FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 + $FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($user_id,1); + $FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $user_id,'room_id' => $room_id])->value('charm'); + if($pit_number == 9){ + $pit_text = '主持麦'; + }elseif ($pit_number == 10) { + $pit_text = '嘉宾麦'; + }else{ + $pit_text = $pit_number . '号麦'; + } + $text['text'] = $FromUserInfo['nickname'].' 换到 ' . $pit_text; + $text['FromUserInfo'] = $FromUserInfo; + $text['from_pit_number'] = $pit_infos['pit_number']; + $text['to_pit_number'] = $pit_number; + model('Chat')->sendMsg(1039,$room_id,$text); + return ['code' => 1, 'msg' => '上麦成功', 'data' => null]; } $ompit = $this->OnPit($user_id,$room_id,$pit_number);//用户上了这个房间的几号麦位 if($ompit['code'] != 1){ diff --git a/application/cron/controller/FriendEnd.php b/application/cron/controller/FriendEnd.php new file mode 100644 index 0000000..1c87d14 --- /dev/null +++ b/application/cron/controller/FriendEnd.php @@ -0,0 +1,56 @@ +clearFriendingEndRoom();//清除交友房过期未结束数据 + echo "清除结束 \n"; + + echo "清除私密小屋过期数据开始:\n"; + $this->clear_room_end();//清除私密小屋过期数据 + echo "清除私密小屋过期数据结束 \n"; + } + + + //清除交友房过期未结束数据 + public function clearFriendingEndRoom() + { + //清除交友房过期数据 + $room_list = db::name('vs_room')->where(['type_id'=>7])->whereIn('step', [2,3]) + ->field(['id','room_name','room_cover','step'])->select(); + if(!empty($room_list)){ + foreach ($room_list as $room) { + //查询交友信息 + $friending_info = db::name('vs_user_friending')->where('room_id', $room['id'])->where('status', 1)->order('id', 'desc')->find(); + if($friending_info){ + //判断结束时间是否到期 + if($friending_info['end_time'] <= time()){ + model('Friend')->end_friend(0,$room['id'],$friending_info['id'],1); + } + } + } + } + + } + + + //清除私密小屋过期数据 + public function clear_room_end() + { + $room_list = db::name('vs_room_cp_movie')->where(['status' => 1,'type'=>1,'time_day' =>['<',time()]])->select(); + if(!empty($room_list)){ + foreach ($room_list as $room) { + model('Friend')->outRoom(0,$room['room_id']); + } + } + } +} \ No newline at end of file diff --git a/application/cron/controller/PerformPerSecond.php b/application/cron/controller/PerformPerSecond.php index e1d43d7..fb3b663 100644 --- a/application/cron/controller/PerformPerSecond.php +++ b/application/cron/controller/PerformPerSecond.php @@ -33,9 +33,9 @@ class PerformPerSecond // echo "提现云账号订单状态查询:\n"; // $this->withdraw_order_status(); // echo "\n"; - echo "清除交友房过期未结束数据:\n"; - $this->clearFriendingEndRoom(); - echo "\n"; +// echo "清除交友房过期未结束数据:\n"; +// $this->clearFriendingEndRoom(); +// echo "\n"; } @@ -166,34 +166,4 @@ class PerformPerSecond } } - - - //清除交友房过期未结束数据 - public function clearFriendingEndRoom() - { - //清除交友房过期数据 - $room_list = db::name('vs_room')->where(['type_id'=>7])->whereIn('step', [2,3]) - ->field(['id','room_name','room_cover','step'])->select(); - if(!empty($room_list)){ - foreach ($room_list as $room) { - //查询交友信息 - $friending_info = db::name('vs_user_friending')->where('room_id', $room['id'])->where('status', 1)->order('id', 'desc')->find(); - if($friending_info){ - //判断结束时间是否到期 - if($friending_info['end_time'] <= time()){ - model('Friend')->end_friend(0,$room['id'],$friending_info['id'],1); - } - } - } - } - //清除私密小屋过期数据 - $room_list = db::name('vs_room_cp_movie')->where(['type'=>1,'time_day' =>['<',time()]])->select(); - if(!empty($room_list)){ - foreach ($room_list as $room) { - model('Friend')->outRoom(0,$room['room_id']); - } - } - } - - } \ No newline at end of file