From d5332dadfdaa812bf219f9216d7956a2a0e0fb4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Tue, 14 Oct 2025 14:56:32 +0800 Subject: [PATCH] =?UTF-8?q?cp=E6=88=BF=E5=88=97=E8=A1=A8=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/adminapi/controller/Room.php | 99 +++++++++++++++++++++++- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/application/adminapi/controller/Room.php b/application/adminapi/controller/Room.php index d6b15cb..b6374d8 100644 --- a/application/adminapi/controller/Room.php +++ b/application/adminapi/controller/Room.php @@ -984,7 +984,7 @@ class Room extends adminApi //Cp电影房 - public function cp_movie_room() + public function cp_movie_rooms() { $page = input('page', 1); $page_limit = input('page_limit', 30); @@ -1006,7 +1006,7 @@ class Room extends adminApi if($room_status!==''){ $where['room_status'] = $room_status; } - //检查 时间格式 转为时间戳 + // 检查并转换时间格式为时间戳 if($start_time !== ''){ $start_time = strtotime($start_time); @@ -1022,6 +1022,7 @@ class Room extends adminApi } $where['type_id'] = 6; + var_dump($where); $count = db::name('vs_room')->where($where)->count(); $lists = db::name('vs_room')->field('id,room_name,room_cover,room_number,user_id,room_status,createtime') ->where($where) @@ -1061,6 +1062,100 @@ class Room extends adminApi return V(1,"成功", $return_data); } + //Cp电影房 + public function cp_movie_room() + { + $page = input('page', 1); + $page_limit = input('page_limit', 30); + + $search_room_number = input('search_room_number', ''); + $search_onwer_number = input('search_onwer_number', ''); + $room_status = input('room_status', ''); + //开始 时间 + $start_time = input('start_time', ''); + //结束 时间 + $end_time = input('end_time', ''); + + if($search_room_number!==''){ + $where['room_number'] = $search_room_number; + } + if($search_onwer_number!==''){ + $where['user_id'] = $search_onwer_number; + } + if($room_status!==''){ + $where['room_status'] = $room_status; + } + + // 检查并转换时间格式为时间戳 + if($start_time !== '' && $end_time !== ''){ + // 同时有开始和结束时间 + $startTime = strtotime($start_time); + $endTime = strtotime($end_time); + if($startTime !== false && $endTime !== false){ + $where['createtime'] = ['between', [$startTime, $endTime]]; + } + }elseif($start_time !== ''){ + // 只有开始时间 + $startTime = strtotime($start_time); + if($startTime !== false){ + $where['createtime'] = ['>=', $startTime]; + } + }elseif($end_time !== ''){ + // 只有结束时间 + $endTime = strtotime($end_time); + if($endTime !== false){ + $where['createtime'] = ['<=', $endTime]; + } + } + + $where['type_id'] = 6; + $count = db::name('vs_room')->where($where)->count(); + $lists = db::name('vs_room')->field('id,room_name,room_cover,room_number,user_id,room_status,createtime') + ->where($where) + ->order('id desc') + ->page($page, $page_limit)->select(); + + foreach ($lists as &$value) { + $guild = model('Guild')->getGuildByUserId($value['user_id']); + $value['createtime'] = date('Y-m-d H:i:s', $value['createtime']); + $value['is_on_line'] = db::name('vs_room_visitor')->where('room_id',$value['id'])->value('user_id') ? 1 : 0; + $value['is_on_line_str'] = $value['is_on_line'] ? "在线 ": "离线"; + $value['user_guild'] = $guild['guild_name']?? ''; + $value['user_nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname'); + $value['room_code'] = model('api/Decorate')->user_decorate_detail($value['id'], 7); + //房间状态1正常2封禁3关闭 + $value['room_status_str'] = $value['room_status'] ==1 ? "正常" : ($value['room_status'] ==2 ? "封禁" : "关闭"); + + $cpRoom = db::name('vs_room_cp_movie')->where('room_id',$value['id'])->find(); + if($cpRoom){ + if($cpRoom['user_id'] == $value['user_id']){ + $value['cp_nickname'] = db::name('user')->where('id', $cpRoom['user_id1'])->value('nickname'); + $value['cp_user_id'] = db::name('user')->where('id', $cpRoom['user_id1'])->value('user_code'); + } + if($cpRoom['user_id1'] == $value['user_id']){ + $value['cp_nickname'] = db::name('user')->where('id', $cpRoom['user_id'])->value('nickname'); + $value['cp_user_id'] = db::name('user')->where('id', $cpRoom['user_id'])->value('user_code'); + } + } + + // 流水计算也应使用相同的时间范围 + $liushuiWhere = ['from_id' => $value['id']]; + if(isset($where['createtime'])){ + $liushuiWhere['createtime'] = $where['createtime']; + } + $value['liushui'] = db::name('vs_give_gift')->where($liushuiWhere)->sum('total_price') * get_system_config_value('coin_charm_exp'); + } + + $return_data = [ + 'page' =>$page, + 'page_limit' => $page_limit, + 'count' => $count, + 'lists' => $lists + ]; + return V(1,"成功", $return_data); + } + + //Cp电影房封禁 public function cp_movie_room_forbid() {