table_room_label)->where($where)->count(); $lists = db::name($this->table_room_label)->where($where)->page($page, $page_limit)->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } /** * 添加房间类标签 */ public function add_label(){ $label_name = input('label_name', ''); $label_icon = input('label_icon', ''); $label_icon_room = input('label_icon_room', ''); $status = input('status', 1); if($label_name == ''){ return V(0,"请输入房间标签名称"); } $data = [ 'label_name' => $label_name, 'label_icon' => $label_icon, 'label_icon_room' => $label_icon_room, 'status' => $status, 'updatetime' => time(), 'createtime' => time() ]; $label_id = db::name($this->table_room_label)->insertGetId($data); if(!$label_id){ return V(0,"失败",null); } return V(1,"成功", ['id'=>$label_id]); } /** * 删除标签 */ public function del_label(){ $label_id = input('label_id', ''); if($label_id == ''){ return V(0,"参数错误"); } $label_data = db::name($this->table_room_label)->where(['id'=>$label_id])->find(); if(!$label_data){ return V(0,"标签不存在"); } $result = db::name($this->table_room_label)->where(['id'=>$label_id])->delete(); if(!$result){ return V(0,"删除失败"); } return V(1,"成功"); } /* * 标签详情 */ public function label_info(){ $label_id = input('label_id', ''); if($label_id == ''){ return V(0,"标签ID不能为空"); } $tag_data = db::name($this->table_room_label)->where(['id'=>$label_id])->find(); if(!$tag_data){ return V(0,"标签不存在"); } $tag_data['createtime'] = date('Y-m-d H:i:s', $tag_data['createtime']); $type_list = db::name($this->table_room_type)->where(['status'=>1])->select(); $tag_data['type_list'] =[]; foreach ($type_list as $key => $value) { $tag_data['type_list'][$key]['id'] = $value['id']; $tag_data['type_list'][$key]['type_name'] = $value['type_name']; if($value['id'] == $tag_data['type_id']){ $tag_data['type_list'][$key]['is_checked'] = 1; }else{ $tag_data['type_list'][$key]['is_checked'] = 0; } } return V(1,"成功", $tag_data); } /* * 编辑标签 */ public function edit_label(){ $label_id = input('label_id', ''); $label_name = input('label_name', ''); $label_icon = input('label_icon', ''); $label_icon_room = input('label_icon_room', ''); $status = input('status', 1); if($label_id == ''){ return V(0,"标签ID不能为空"); } $tag_data = db::name($this->table_room_label)->where(['id'=>$label_id])->find(); if(!$tag_data){ return V(0,"标签不存在"); } if($label_name == ''){ return V(0,"标签名称不能为空"); } $label = db::name($this->table_room_label)->where(['label_name'=>$label_name,'id'=>['<>', $label_id]])->find(); if($label){ return V(0,"标签已存在"); } $data = []; if($label_name){ $data['label_name'] = $label_name; } if($label_icon){ $data['label_icon'] = $label_icon; } if($label_icon_room){ $data['label_icon_room'] = $label_icon_room; } if($status){ $data['status'] = $status; } $data['updatetime'] = time(); $result = db::name($this->table_room_label)->where(['id'=>$label_id])->update($data); if(!$result){ return V(0,"添加失败"); } return V(1,"成功", ['id'=>$label_id]); } /* * 房间类型列表 */ public function type_lists(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $search_name = input('search_name', ''); $where['deletetime'] = 0; //标签名称 if($search_name!==''){ $where['label_name'] = ['like', '%'.$search_name.'%']; } $count = db::name($this->table_room_type)->where($where)->count(); $lists = db::name($this->table_room_type)->where($where)->page($page, $page_limit)->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } /** * 添加房间类型 */ public function add_type(){ $type_name = input('type_name', ''); $status = input('status', 1); if($type_name == ''){ return V(0,"请输入房间类型名称"); } $data = [ 'type_name' => $type_name, 'status' => $status, 'createtime' => time() ]; $type_id = db::name($this->table_room_type)->insertGetId($data); if(!$type_id){ return V(0,"失败",null); } return V(1,"成功", ['id'=>$type_id]); } /** * 删除房间类型 */ public function del_type(){ $type_id = input('type_id', ''); if($type_id == ''){ return V(0,"参数错误"); } $type_data = db::name($this->table_room_type)->where(['id'=>$type_id])->find(); if(!$type_data){ return V(0,"房间类型不存在"); } $result = db::name($this->table_room_type)->where(['id'=>$type_id])->update(['deletetime'=>time()]); if(!$result){ return V(0,"删除失败"); } return V(1,"成功"); } /** * 房间类型详情 */ public function type_info(){ $type_id = input('type_id', ''); if($type_id == ''){ return V(0,"房间类型ID不能为空"); } $type_data = db::name($this->table_room_type)->where(['id'=>$type_id])->find(); if(!$type_data){ return V(0,"房间类型不存在"); } $type_data['createtime'] = date('Y-m-d H:i:s', $type_data['createtime']); return V(1,"成功", $type_data); } /** * 编辑房间类型 */ public function edit_type(){ $type_id = input('type_id', ''); $type_name = input('type_name', ''); $status = input('status', 1); if($type_id == ''){ return V(0,"房间类型ID不能为空"); } $type_data = db::name($this->table_room_type)->where(['id'=>$type_id])->find(); if(!$type_data){ return V(0,"房间类型不存在"); } if($type_name == ''){ return V(0,"请输入房间类型名称"); } $data = []; if($type_name){ $data['type_name'] = $type_name; } if($status){ $data['status'] = $status; } $result = db::name($this->table_room_type)->where(['id'=>$type_id])->update($data); if(!$result){ return V(0,"添加失败"); } return V(1,"成功", ['id'=>$type_id]); } /* * 关系列表 */ public function relation_lists(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $search_name = input('search_name', ''); $where=[]; //标签名称 if($search_name!==''){ $where['name'] = ['like', '%'.$search_name.'%']; } $where['delete_time'] = 0; $count = db::name($this->relation)->where($where)->count(); $lists = db::name($this->relation)->where($where)->page($page, $page_limit)->select(); foreach ($lists as $key => $value) { $lists[$key]['type_str'] = model('Room')->relation_type[$value['type']]; $lists[$key]['is_open_movie'] = $value['is_open_movie']==1?'是':'否'; $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } /** * 添加关系 */ public function add_relation(){ $name = input('name', ''); $type = input('type', ''); $is_open_movie = input('is_open_movie', 1); $icon = input('icon', ''); if($name == ''){ return V(0,"请输入关系名称"); } if($type == ''){ return V(0,"请选择关系类型"); } $data = [ 'name' => $name, 'type' => $type, 'is_open_movie' => $is_open_movie, 'icon' => $icon, 'createtime' => time() ]; $relation_id = db::name($this->relation)->insertGetId($data); if(!$relation_id){ return V(0,"失败",null); } return V(1,"成功", ['id'=>$relation_id]); } /** * 删除关系 */ public function del_relation(){ $relation_id = input('relation_id', ''); if($relation_id == ''){ return V(0,"参数错误"); } $relation_data = db::name($this->relation)->where(['id'=>$relation_id])->find(); if(!$relation_data){ return V(0,"关系不存在"); } $result = db::name($this->relation)->where(['id'=>$relation_id])->update(['delete_time'=>time()]); if(!$result){ return V(0,"删除失败"); } return V(1,"成功"); } /* * 关系详情 */ public function relation_info(){ $relation_id = input('relation_id', ''); if($relation_id == ''){ return V(0,"参数错误"); } $relation_data = db::name($this->relation)->where(['id'=>$relation_id])->find(); if(!$relation_data){ return V(0,"关系不存在"); } $relation_data['createtime'] = date('Y-m-d H:i:s', $relation_data['createtime']); $relation_data['type_list'] = model('Room')->relation_type; return V(1,"成功", $relation_data); } /** * 编辑关系 */ public function edit_relation(){ $relation_id = input('relation_id', ''); $name = input('name', ''); $type = input('type', ''); $is_open_movie = input('is_open_movie', 1); $icon = input('icon', ''); if($relation_id == ''){ return V(0,"参数错误"); } $relation_data = db::name($this->relation)->where(['id'=>$relation_id])->find(); if(!$relation_data){ return V(0,"关系不存在"); } $data = []; if($name){ $data['name'] = $name; } if($type){ $data['type'] = $type; } if($is_open_movie){ $data['is_open_movie'] = $is_open_movie; } if($icon){ $data['icon'] = $icon; } $result = db::name($this->relation)->where(['id'=>$relation_id])->update($data); if(!$result){ return V(0,"失败"); } return V(1,"成功", ['id'=>$relation_id]); } /* * 房间列表 */ public function room_lists(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $search_room_id = input('search_room_id', ''); $search_user_id = input('search_user_id', ''); $search_status = input('search_status', ''); $where=[]; //房间号 if($search_room_id!==''){ $where['room_number'] = $search_room_id; } if($search_user_id!==''){ $user_id = db::name('user')->where('user_code', $search_user_id)->value('id'); $where['user_id'] = $user_id; } if($search_status!==''){ $where['room_status'] = $search_status; } //房间列表只展示 审核通过的房间 $where['apply_status'] = 2;//1待审核 2审核通过 3审核失败 $where['type_id'] = ['<>',6]; $count = db::name($this->table)->where($where)->count(); $room_lists = db::name($this->table)->where($where)->page($page, $page_limit)->select(); $lists = []; foreach ($room_lists as $key => $value) { $lists[$key]['room_id'] = $value['id']; $lists[$key]['room_code'] = model('api/Decorate')->user_decorate_detail($value['id'], 7); //靓号处理 //查询用是否有靓号 $special_num = db::name('vs_user_decorate')->where(['user_id'=>$value['id'],'type'=>7,'is_using'=>1])->where('end_time',['>=',time()],'or')->value('special_num'); if($special_num){ $lists[$key]['room_number'] = $special_num; }else{ $lists[$key]['room_number'] = "无"; } $lists[$key]['user_name'] = model('User')->where(['id'=>$value['user_id']])->value('nickname'); $lists[$key]['room_name'] = $value['room_name']; $lists[$key]['room_cover'] = $value['room_cover']; $lists[$key]['room_type_str'] = db::name($this->table_room_type)->where(['id'=>$value['type_id']])->value('type_name'); $lists[$key]['room_label_str'] = db::name($this->table_room_label)->where(['id'=>$value['label_id']])->value('label_name'); $lists[$key]['is_recommend'] = $value['is_recommend'] != 1 ? '是' : '否'; $lists[$key]['is_top'] = $value['is_top'] != 1 ? '是' : '否'; $lists[$key]['is_hot'] = $value['is_hot'] != 1 ? '是' : '否'; $lists[$key]['is_earnings'] = $value['is_earnings'] =1 ? '是' : '否'; //所属工会 $guild = model('Guild')->getGuildByUserId($value['user_id']); $lists[$key]['guild_name'] = !empty($guild) ? $guild['guild_name'] : ""; $lists[$key]['room_status_str'] = model('Room')->room_status[$value['room_status']]; $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $lists[$key]['is_robot_num'] = $value['robot_num']==0 ? 1 : 2; $lists[$key]['is_open_blind_box_turntable_str'] = $value['is_open_blind_box_turntable'] == 1 ? '是' : '否'; } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } /* * 删除房间 * */ public function del_room(){ $room_id = input('room_id', ''); if($room_id == ''){ return V(0,"参数错误"); }else{ return V(0,"房间不许删除"); } $room_data = db::name($this->table)->where(['id'=>$room_id])->find(); if(!$room_data){ return V(0,"房间不存在"); } $result = db::name($this->table)->where(['id'=>$room_id])->update(['delete_time'=>time()]); if(!$result){ return V(0,"删除失败"); } return V(1,"成功"); } //房间详情 public function room_info(){ $room_id = input('room_id', ''); if($room_id == ''){ return V(0,"参数错误"); } $room_data = db::name($this->table)->where(['id'=>$room_id])->find(); if(!$room_data){ return V(0,"房间不存在"); } $room_data['createtime'] = date('Y-m-d H:i:s', $room_data['createtime']); $room_data['updatetime'] = date('Y-m-d H:i:s', $room_data['updatetime']); $room_data['room_type_str'] = db::name('vs_room_type')->where(['id'=>$room_data['type_id']])->value('type_name'); $room_data['liang'] = model('api/Decorate')->user_decorate_detail($room_data['id'],7); $room_data['owner'] = db::name('user')->where(['id'=>$room_data['user_id']])->value('nickname'); $room_data['is_robot_num'] = $room_data['robot_num']==0 ? 2 : 1; $room_data['guild_name'] = ''; $guild_id = db::name('vs_guild_user')->where('user_id',$room_data['user_id'])->value('guild_id'); if($guild_id){ $room_data['guild_name'] = db::name('vs_guild')->where('id',$guild_id)->value('guild_name'); } $room_data['jiqirennum'] = 0; $roomUser = db::name('vs_room_visitor')->where('room_id',$room_data['id'])->select(); if($roomUser){ foreach ($roomUser as $key => $value){ if(db::name('user')->where('id',$value['user_id'])->value('is_robot')){ $room_data['jiqirennum'] += 1; } } } //前天的收益 $room_data['two_day_ago_earnings'] = $this->get_room_today_profit($room_id,4); //昨天的收益 $room_data['yesterday_earnings'] = $this->get_room_today_profit($room_id,3); //今日的收益 $room_data['today_earnings'] = $this->get_room_today_profit($room_id,2); // 计算今日收益比昨日收益的增长百分比 if ($room_data['yesterday_earnings'] > 0) { $growthPercentage = (($room_data['today_earnings'] - $room_data['yesterday_earnings']) / $room_data['yesterday_earnings']) * 100; } else { // 如果昨日收益为0,避免除以零错误 $growthPercentage = $room_data['today_earnings'] > 0 ? 100 : 0; // 如果今天有收益而昨天没有,则视为增长100% } //比昨日收益增长百分之多少 $room_data['growth_percentage'] = round($growthPercentage, 2); // 保留两位小数 //计算昨日比前天的收益增长百分比 if ($room_data['two_day_ago_earnings'] > 0) { $yesterdayGrowthPercentage = (($room_data['yesterday_earnings'] - $room_data['two_day_ago_earnings']) / $room_data['two_day_ago_earnings']) * 100; } else { // 如果前天收益为0,避免除以零错误 $yesterdayGrowthPercentage = $room_data['yesterday_earnings'] > 0 ? 100 : 0; // 如果昨天有收益而前天没有,则视为增长100% } //昨日比前天的收益增长百分之多少 $room_data['yesterday_growth_percentage'] = round($yesterdayGrowthPercentage, 2); // 保留两位小数 //今日访客 $room_data['visitor'] = $this->get_room_visitor($room_id,1); //昨日访客 $room_data['yesterday_visitor'] = $this->get_room_visitor($room_id,2); //今日比昨日访客增长百分比 if ($room_data['yesterday_visitor'] > 0) { $yesterdayVisitor = (($room_data['visitor'] - $room_data['yesterday_visitor']) / $room_data['yesterday_visitor']) * 100; } else { // 如果前天收益为0,避免除以零错误 $yesterdayVisitor = $room_data['visitor'] > 0 ? 100 : 0; // 如果今天有而昨天没有,则视为增长100% } $room_data['growth_visitor'] = round($yesterdayVisitor, 2); // 保留两位小数 //补贴 $roomSubsidy = model('api/Room')->room_ubsidy($room_id); //上周补贴 $room_data['last_week_subsidy'] = $roomSubsidy['lastweek']['subsidy_amount']; //本周补贴 $room_data['this_week_subsidy'] = $roomSubsidy['thisweek']['subsidy_amount']; //本周补贴比上周增长百分比 if ($room_data['last_week_subsidy'] > 0) { $weekSubsidy = (($room_data['this_week_subsidy'] - $room_data['last_week_subsidy']) / $room_data['last_week_subsidy']) * 100; } else { // 如果上周收益为0,避免除以零错误 $weekSubsidy = $room_data['this_week_subsidy'] > 0 ? 100 : 0; // 如果本周有收益而上周没有,则100% } $room_data['growth_week_subsidy'] = round($weekSubsidy, 2); return V(1,"成功", $room_data); } //房间收益 //type 1:总收益 2:今日收益 3:昨日收益 4:前天的收益 public function get_room_today_profit($room_id,$type) { if($type == 2){ $start_time = strtotime(date('Y-m-d')); $end_time = $start_time + 86400; }elseif ($type == 3){ $start_time = strtotime(date('Y-m-d',strtotime('-1 day'))); $end_time = $start_time + 86400; }elseif ($type == 4){ $start_time = strtotime(date('Y-m-d',strtotime('-2 day'))); $end_time = $start_time + 86400; }elseif ($type == 1){ $start_time = 1748676768;//2025-06-00 15:32:48 $end_time = time(); } $profit = db::name('vs_give_gift')->where('from_id', $room_id)->where('from',2)->where('createtime', 'between', [$start_time, $end_time])->sum('total_price'); return $profit; } //房间访客 //type 1:今日 2:昨日 3:所有 public function get_room_visitor($room_id,$type) { if($type == 1){ $start_time = strtotime(date('Y-m-d')); $end_time = $start_time + 86400; }elseif ($type == 2){ $start_time = strtotime(date('Y-m-d',strtotime('-1 day'))); $end_time = $start_time + 86400; }elseif ($type == 3){ $start_time = 1748676768;//2025-06-00 15:32:48 $end_time = time(); } $profit = db::name('user_visit_log')->where(['to_id'=>$room_id,'type'=>2])->where('createtime', 'between', [$start_time, $end_time])->count(); return $profit; } //房间流水 public function room_flow() { $room_id = input('room_id', ''); $page = input('page', 1); $page_limit = input('page_limit', 10); $type = input('type', 1);//1:全部流水 2:日流水 3:周流水 4:月流水 if($room_id == ''){ return V(0,"参数错误"); } if($type == 1){ $begin_time = 1748676768;//2025-06-00 15:32:48 $end_time = time(); $where['a.createtime'] = ['between', [$begin_time, $end_time]]; }elseif ($type == 2){ //日流水 $begin_time = strtotime(date('Y-m-d 00:00:00',time())); $end_time = time(); $where['a.createtime'] = ['between', [$begin_time, $end_time]]; } elseif ($type == 3){ //周流水 //本周一 $begin_time = strtotime(date('Y-m-d 00:00:00', strtotime('this week'))); $end_time = time(); $where['a.createtime'] = ['between', [$begin_time, $end_time]]; } elseif ($type == 4){ $begin_time = strtotime(date('Y-m-01')); $end_time = time(); $where['a.createtime'] = ['between', [$begin_time, $end_time]]; } $count = db::name('vs_give_gift')->alias('a') ->field('a.id') ->join('user b', 'a.user_id = b.id', 'left') ->join('user c', 'a.gift_user = c.id', 'left') ->join('vs_gift d', 'a.gift_id = d.gid', 'left') ->where('a.from',2) ->where('a.from_id',$room_id) ->where($where) ->count(); $list = db::name('vs_give_gift')->alias('a') ->field('a.number,a.createtime,a.total_price,a.type,b.nickname,b.avatar,c.nickname as gift_nickname,c.avatar as gift_avatar,d.gift_name,a.from,a.from_id') ->join('user b', 'a.user_id = b.id', 'left') ->join('user c', 'a.gift_user = c.id', 'left') ->join('vs_gift d', 'a.gift_id = d.gid', 'left') ->where('a.from',2) ->where('a.from_id',$room_id) ->where($where) ->order('a.id desc') ->page($page, $page_limit) ->select(); if($list){ foreach ($list as &$v){ $v['createtime'] = date('Y-m-d H:i:s',$v['createtime']); $v['content'] = $v['nickname'].' 给 '.$v['gift_nickname'].' 送了 '.$v['gift_name'].' x '.$v['number']; // 来源:1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 $v['from_str'] = model('Gift')->GiveGiftFromStr[$v['from']]; } } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $list, 'total' =>[ 'total_price' => db::name('vs_give_gift')->alias('a') ->join('user b', 'a.user_id = b.id', 'left') ->where('a.from',2) ->where('a.from_id',$room_id) ->where($where)->sum('total_price') ] ]; return V(1,"成功", $return_data); } //房间用户进入记录 public function room_user_log() { $room_id = input('room_id', ''); $page = input('page', 1); $page_limit = input('page_limit', 10); if($room_id == ''){ return V(0,"参数错误"); } $count = db::name('user_visit_log')->alias('a') ->field('a.id,a.createtime,b.nickname,b.user_code') ->join('user b', 'a.from_uid = b.id', 'left') ->where('a.to_id',$room_id) ->where('a.type',2) ->count(); $list = db::name('user_visit_log')->alias('a') ->field('a.id,a.createtime,b.nickname,b.user_code') ->join('user b', 'a.from_uid = b.id', 'left') ->where('a.to_id',$room_id) ->where('a.type',2) ->order('a.id desc') ->page($page, $page_limit) ->select(); if($list){ foreach ($list as &$v){ $v['createtime'] = date('Y-m-d H:i:s',$v['createtime']); } } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $list ]; return V(1,"成功", $return_data); } //编辑房间 public function edit_room() { $room_id = input('room_id', '');//固定值不可变 $admin_id = Session::get('admin_id'); $room_number = input('room_number', '');//房间编号 if($room_number){ $data['room_number'] = $room_number; } $room_name = input('room_name', '');//房间名称 if($room_name){ $data['room_name'] = $room_name; } $room_intro = input('room_intro', '');//房间简介(公告) if($room_intro){ $data['room_intro'] = $room_intro; } $room_cover = input('room_cover', '');//房间封面 if($room_cover){ $data['room_cover'] = $room_cover; } $room_background_id = input('room_background', '');//房间背景url if($room_background_id){ $data['room_background'] = $room_background_id; } $type_id = input('type_id', '');//房间类型id if($type_id){ $data['type_id'] = $type_id; } $is_earnings = input('is_earnings', '');//是否获取收益 1是 2否 if($is_earnings){ $data['is_earnings'] = $is_earnings; } $is_top = input('is_top', '');//是否置顶 1非置顶 2置顶 if($is_top){ $data['is_top'] = $is_top; } $is_hot = input('is_hot', '');//是否热门 1非热门 2热门 if($is_hot){ $data['is_hot'] = $is_hot; } $is_recommend = input('is_recommend', '');//是否推荐 1非推荐 2推荐 if($is_recommend){ $data['is_recommend'] = $is_recommend; } $room_status = input('room_status', '');//房间状态 1正常 2封禁 3关闭 if($room_status){ $data['room_status'] = $room_status; } $is_show_room = input('is_show_room', '');//是否显示房间 1是 2否 if($is_show_room){ $data['is_show_room'] = $is_show_room; } $room_password = input('room_password', '');//房间密码 $is_room_password = input('is_room_password', '');//是否密码房 1是 2否 if($is_room_password == 1){ if($room_password == ''){ return V(0,"请填写房间密码"); } $data['room_password'] = $room_password; }elseif ($is_room_password == 2){ $data['room_password'] = ''; } $robot_num = input('robot_num', '');//机器人数量 $is_robot_num = input('is_robot_num', '');//是否投送机器人 1是 2否 if($is_robot_num == 1){ if($robot_num == ''){ return V(0,"请填写机器人数量"); } $data['robot_num'] = $robot_num; //在用户表里找 $robot_num 个机器人 进入到房间 $user_list = db::name('user')->field('id')->where('is_robot',1)->limit($robot_num)->orderRaw('rand()')->select(); if($user_list){ if(count($user_list) != $robot_num){ return V(0,"机器人数量不足"); } foreach ($user_list as $v){ model('api/Room')->join_room($v['id'],$room_id,$room_password); } }else{ return V(0,"没有可用机器人"); } }elseif ($is_robot_num == 2 || $robot_num == 0){ $data['robot_num'] = 0; //查询在房间中的机器人 并退出 $user_list = db::name('vs_room_visitor')->alias('a')->join('user b','a.user_id = b.id','left') ->field('a.id,a.user_id') ->where('a.room_id',$room_id) ->where('b.is_robot',1) ->select(); if($user_list){ foreach ($user_list as $v){ model('api/Room')->quit_room(1,$room_id,$v['user_id'],0); } } } $is_open_blind_box_turntable = input('is_open_blind_box_turntable', '');//是否开启盲盒转盘:0 否 1是 if($is_open_blind_box_turntable !== ""){ $data['is_open_blind_box_turntable'] = $is_open_blind_box_turntable; if($is_open_blind_box_turntable == 1){ $room_data = db::name('vs_room')->find($room_id); if($room_data['is_open_blind_box_turntable'] == 0){ model('Room')->bindPan($room_id); } } } $res = db::name('vs_room')->where('id',$room_id)->update($data); if($res){ return V(1,"成功"); } else{ return V(0,"失败"); } } //房间背景列表 public function room_background_list() { $page = input('page', 1); $page_limit = input('page_limit', 30); $search_name = input('search_name', ''); $status = input('status', ''); // $where['status'] = 1; $where['delete_time'] = null; //标签名称 if($search_name!==''){ $where['image_name'] = ['like', '%'.$search_name.'%']; } if($status!==''){ $where['status'] = $status; } $count = db::name('vs_room_background')->where($where)->count(); $lists = db::name('vs_room_background')->where($where)->order('id desc')->page($page, $page_limit)->select(); foreach ($lists as &$value) { $value['createtime'] = date('Y-m-d H:i:s', $value['createtime']); if($value['upload_user'] > 0){ $value['upload_user'] = db::name('user')->where('id',$value['upload_user'])->value('nickname'); }else{ $value['upload_user'] = '系统'; } } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } //房间背景添加/修改 public function room_background_add() { //管理员ID $admin_id = Session::get('admin_id'); if(!$admin_id){ return V(0,"管理员ID不能为空"); } $id = input('id', ''); if($id){ $data = [ // 'upload_user' => $admin_id, 'updatetime' => time(), ]; $image_name = input('image_name', ''); if($image_name){ $data['image_name'] = $image_name; } $image_url = input('image_url', ''); if($image_url){ $data['image_url'] = $image_url; } $status = input('status', ''); if($status){ $data['status'] = $status; } $bg_url = db::name('vs_room_background')->where('id',$id)->value('image_url'); $res = db::name('vs_room_background')->where('id',$id)->update($data); if($res){ if($bg_url != $image_url){ //查询使用默认背景的房间 $room_list = db::name('vs_room')->field('id,room_background')->where(['room_status' => ['<>',3]])->select(); if($room_list){ foreach ($room_list as $v){ //判断是否使用默认背景,room_background 字段值是否是以 get_system_config_value('web_site') 开头 if(strpos($v['room_background'],get_system_config_value('web_site')) !== FALSE){ db::name('vs_room')->where('id',$v['id'])->update(['room_background' => $image_url]); } } } } return V(1,"成功"); } else{ return V(0,"失败"); } }else{ $data = [ 'image_name' => input('image_name', ''), 'image_url' => input('image_url', ''), 'status' => input('status', 1), // 'upload_user' => $admin_id, 'createtime' => time(), 'updatetime' => time(), ]; $res = db::name('vs_room_background')->insert($data); if($res){ return V(1,"成功"); } else{ return V(0,"失败"); } } } //房间背景删除 public function room_background_del() { $id = input('id', ''); if(!$id){ return V(0,"ID不能为空"); } $res = db::name('vs_room_background')->where('id',$id)->update(['status' => 2,'delete_time'=>time()]); if($res){ return V(1,"成功"); } else{ return V(0,"失败"); } } //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(!empty($start_time)){ $start_time = strtotime($start_time); $where['createtime'] = ['>=', $start_time]; }else{ $start_time = 0; } if(!empty($end_time)){ $end_time = strtotime($end_time); $where['createtime'] = ['<=', $end_time]; }else{ $end_time = time(); } $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'); } } $value['liushui'] = db::name('vs_give_gift')->where(['from_id' => $value['id'],'createtime' => ['between',[$start_time,$end_time]]])->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() { $room_id = input('room_id', ''); if(!$room_id){ return V(0,"房间ID不能为空"); } $data = [ 'room_status' => 2, 'updatetime' => time(), ]; $res = db::name('vs_room')->where('id',$room_id)->update($data); if($res){ $res1 = db::name('vs_room_cp_movie')->where('room_id',$room_id)->update(['status' => 3]); if(!$res1){ return V(0,"失败"); } //给前端推消息 return V(1,"成功"); } else{ return V(0,"失败"); } } /* * 房间补贴配置添加 */ public function room_subsidy_config_add(){ $start_amount = input('start_amount', 0); $end_amount = input('end_amount', 0); $subsidy_ratio = input('subsidy_ratio', 0); if ($start_amount && $end_amount && $subsidy_ratio) { $res = db::name($this->table_room_subsidy_config)->insertGetId([ 'start_amount' => $start_amount, 'end_amount' => $end_amount, 'subsidy_ratio' => $subsidy_ratio, 'createtime' => time(), ]); if (!$res) { return V(0, "添加失败"); } }else{ return V(0, "参数错误"); } return V(1, "添加成功"); } /* * 房间补贴配置列表 */ public function room_subsidy_config_lists(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $where=[]; $count = db::name($this->table_room_subsidy_config)->where($where)->count(); $lists = db::name($this->table_room_subsidy_config)->where($where)->page($page, $page_limit)->order('id desc')->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } /* * 房间补贴配置 删除 */ public function del_room_config_subsidy(){ $id = input('id', ''); if($id == ''){ return V(0,"参数错误"); } $result = db::name($this->table_room_subsidy_config)->where(['id'=>$id])->delete(); if(!$result){ return V(0,"删除失败"); } return V(1,"成功"); } /* * 房间补贴配置 编辑 */ public function edit_room_config_subsidy(){ $id = input('id', ''); if($id == ''){ return V(0,"参数错误"); } $guild_subsidy_config = db::name($this->table_room_subsidy_config)->where(['id'=>$id])->find(); if(!$guild_subsidy_config){ return V(0,"数据不存在"); } $start_amount = input('start_amount', ""); $end_amount = input('end_amount', ""); $subsidy_ratio = input('subsidy_ratio', ""); $data=[]; if($start_amount != ""){ $data['start_amount'] = $start_amount; } if($end_amount != ""){ $data['end_amount'] = $end_amount; } if($subsidy_ratio != ""){ $data['subsidy_ratio'] = $subsidy_ratio; } $result = db::name($this->table_room_subsidy_config)->where(['id'=>$id])->update($data); if(!$result){ return V(0,"修改失败"); } return V(1,"成功"); } /* * 房间补贴配置 状态修改 */ public function room_config_subsidy_status(){ $id = input('id', ''); if($id == ''){ return V(0,"参数错误"); } $status = input('status', ''); if($status == ''){ return V(0,"参数错误"); } $result = db::name($this->table_room_subsidy_config)->where(['id'=>$id])->update(['status'=>$status]); if(!$result){ return V(0,"修改失败"); } return V(1,"成功"); } /* * 房间周补贴列表 */ public function room_subsidy_list(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $search_user_id = input('search_user_id', ''); $search_room_id = input('search_room_id', ''); $search_status_time = input('search_status_time', ''); $search_end_time = input('search_end_time', ''); $search_status = input('search_status', ''); $where = ['b.delete_time'=>0]; if($search_user_id){ $where['b.user_id'] = $search_user_id; } if($search_room_id){ $where['a.room_id'] = $search_room_id; } if($search_status_time){ $where['a.start_time'] = ['>=', $search_status_time]; } if($search_end_time){ $where['a.end_time'] = ['<=', $search_end_time]; } if($search_status){ $where['a.status'] = $search_status; } $count = db::name($this->table_room_subsidy)->alias('a') ->join('vs_room b','a.room_id = b.id') ->where($where) ->count(); $lists_data = db::name($this->table_room_subsidy)->alias('a') ->join('vs_room b','a.room_id = b.id') ->where($where) ->order('a.id desc') ->field('a.*,b.room_name,b.user_id') ->page($page,$page_limit) ->select(); $lists = []; foreach ($lists_data as $key => $value) { $lists[$key]['id'] = $value['id']; $lists[$key]['user_id'] = $value['user_id']; $lists[$key]['user_name'] = model('user')->where(['id'=>$value['user_id']])->value('nickname'); $lists[$key]['room_id'] = $value['room_id']; $lists[$key]['room_name'] = $value['room_name']; $lists[$key]['total_transaction'] = $value['total_transaction']; $lists[$key]['subsidy_amount'] = $value['subsidy_amount']; $lists[$key]['time'] = date('Y-m-d',strtotime($value['start_time'])) .'~'.date('Y-m-d',strtotime($value['end_time'])); $lists[$key]['status'] = $value['status']; $lists[$key]['status_str'] = $value['status'] ? '已发放' : '未发放'; $lists[$key]['room_code'] = model('api/Decorate')->user_decorate_detail($value['room_id'], 7); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; return V(1,"成功", $return_data); } //房间审核列表 public function room_audit_list(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $search_user_id = input('search_user_id', ''); $search_room_id = input('search_room_id', ''); $apply_status = input('apply_status', '');//1待审核 2审核通过 3审核失败 if($search_room_id!==''){ $where['room_number'] = $search_room_id; } if($search_user_id!==''){ $where['user_id'] = $search_user_id; } if($apply_status!==''){ $where['apply_status'] = $apply_status; }else{ $where['apply_status'] = 1; } $count = db::name($this->table)->where($where)->count(); $room_lists = db::name($this->table) ->field('id,room_name,room_number,user_id,room_cover,room_intro,apply_status,createtime') ->where($where)->page($page, $page_limit)->select(); foreach ($room_lists as &$value) { $value['room_code'] = model('api/Decorate')->user_decorate_detail($value['id'], 7); $value['user_name'] = model('User')->where(['id'=>$value['user_id']])->value('nickname').'-'.$value['user_id']; $value['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $value['room_name'] = $value['room_name'].'-'.$value['room_number']; } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $room_lists ]; return V(1,"成功", $return_data); } //房间审核 public function room_audit(){ $id = input('id', ''); $remark = input('remark', ''); if($id == ''){ return V(0,"参数错误"); } $apply_status = input('apply_status', ''); if($apply_status == ''){ return V(0,"参数错误"); } $room_data = db::name('vs_room')->where(['id'=>$id])->find(); if(!$room_data){ return V(0,"参数错误"); } $result = db::name('vs_room')->where(['id'=>$id])->update([ 'apply_status'=>$apply_status, 'is_open_blind_box_turntable'=>1, 'updatetime'=>time(), ]); if(!$result){ return V(0,"修改失败"); } //发系统信息 if($apply_status ==2){ $deal_content = '审核通过'; }elseif($apply_status ==3){ $deal_content = '审核未通过'; } if(!empty($remark)){ $deal_content .= ',原因:'.$remark; } db::name('system_message')->insert([ 'title' => '房间审核结果', 'content' => '您创建的房间'.$room_data['room_name'].$deal_content, 'type' => 1, 'admin_id' => Session::get('admin_id'), 'receiving_id' => $room_data['user_id'], 'createtime' => time(), ]); //房间绑定盘 model('Room')->bindPan($id); return V(1,"成功"); } /* * 补贴发放 */ public function subsidy_give(){ $id = input('id'); $status = input('status', 0); $remark = input('remark', 0); if(!$id){ return V(0,"参数错误"); } $data = db::name($this->table_room_subsidy)->alias('a') ->join('vs_room b','a.room_id = b.id') ->where(['a.id'=>$id]) ->field('a.subsidy_amount,b.user_id,a.status,a.id,b.room_status') ->find(); if(!$data){ return V(0,"补贴数据不存在"); } if($data['room_status']==3){ return V(0,"房间已关闭"); } if($data['status']!=0){ return V(0,"该申请已处理"); } Db::startTrans(); try{ if($status==1){ //发放处理用户资金 $reslut = model('common/UserWallet')->change_user_money($data['user_id'], $data['subsidy_amount'], model('common/UserWallet')::MONEYTYPEARNINGS, model('common/UserWallet')::ROOM_SUBSIDY,model('common/UserWallet')::ChangeTypeLable(model('common/UserWallet')::ROOM_SUBSIDY)); if ($reslut['code'] != 1) { Db::rollback(); return V($reslut['code'],$reslut['msg']); } } $res = DB::name($this->table_room_subsidy)->where('id', $id)->update([ 'status' => $status, 'remark' => $remark ]); if($res){ Db::commit(); return V(1,"操作成功"); }else{ Db::rollback(); return V(0,"操作失败"); } } catch (Exception $e) { Db::rollback(); return V(0,$e->getMessage()); } } /* * 批量补贴发放 */ public function subsidy_give_batch(){ $ids = input('ids'); $status = input('status', 0); $remark = input('remark', 0); $ids = explode(',', $ids); if(!$ids){ return V(0,"参数错误"); } $data = db::name($this->table_room_subsidy)->alias('a') ->join('vs_room b','a.room_id = b.id') ->whereIn("room_id", $ids) ->field('a.subsidy_amount,b.user_id,a.status,a.id') ->select(); if(!$data){ return V(0,"参数错误"); } $data_arr = []; Db::startTrans(); try{ foreach ($data as $value){ if ($value['status'] != 0) { continue; } if($status==1){ //发放处理用户资金 $reslut = model('common/UserWallet')->change_user_money($value['user_id'], $value['subsidy_amount'], model('common/UserWallet')::MONEYTYPEARNINGS, model('common/UserWallet')::ROOM_SUBSIDY,model('common/UserWallet')::ChangeTypeLable(model('common/UserWallet')::ROOM_SUBSIDY)); if ($reslut['code'] != 1) { Db::rollback(); return V($reslut['code'],$reslut['msg']); } } } $res = DB::name($this->table_room_subsidy)->whereIn('id', $ids)->where('status', 0)->update([ 'status' => $status, 'remark' => $remark ]); if($res){ Db::commit(); return V(1,"操作成功"); }else{ Db::rollback(); return V(0,"操作失败"); } } catch (Exception $e) { Db::rollback(); return V(0,$e->getMessage()); } } /* * 房间操作记录列表 */ public function room_log_list(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $seach_room_id = input('room_id', ''); $from_uid = input('from_uid', ''); $to_id = input('to_id', ''); $type = input('type', ''); $stime = input('stime', ''); $etime = input('etime', ''); $where = []; if($seach_room_id){ if(is_numeric($seach_room_id)) { $room_id = db::name('vs_room')->where('room_number', $seach_room_id)->value('id'); $where['room_id'] = $room_id; }else{ $room_id = db::name('vs_room')->where('room_name', $seach_room_id)->value('id'); $where['room_id'] = $room_id; } } if($from_uid){ if(is_numeric($from_uid)){ $from_user_id = db::name('user')->where('user_code', $from_uid)->value('id'); $where['user_id'] = $from_user_id; }else{ $from_user_id = db::name('user')->where('nickname', $from_uid)->value('id'); $where['user_id'] = $from_user_id; } } if($to_id){ if(is_numeric($to_id)){ $accept_user_id = db::name('user')->where('user_code', $to_id)->value('id'); $where['accept_user_id'] = $accept_user_id; }else{ $accept_user_id = db::name('user')->where('nickname', $to_id)->value('id'); $where['accept_user_id'] = $accept_user_id; } } if($type){ $where['type'] = $type; } if(!empty($stime)){ $where['createtime'] = ['>=',strtotime($stime)]; } if(!empty($etime)){ $where['createtime'] = ['<=',strtotime($etime)]; } if(!empty($stime) && !empty($etime)){ $where['createtime'] = ['between',[strtotime($stime),strtotime($etime)]]; } $room_log_lists = db::name($this->table_room_log)->where($where)->order('id desc')->page($page, $page_limit)->select(); $count = db::name($this->table_room_log)->where($where)->count(); $lists = []; foreach ($room_log_lists as $key => $value) { $lists[$key]['id'] = $value['id']; $lists[$key]['room_code'] = db::name('vs_room')->where(['id'=>$value['room_id']])->value('room_number'); $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $user = db::name('user')->where(['id'=>$value['user_id']])->find(); $lists[$key]['from_uname'] = $user['user_code']."-".$user['nickname']; $accept_user = db::name('user')->where(['id'=>$value['accept_user_id']])->find(); $lists[$key]['to_uname'] = $value['accept_user_id'] ? $accept_user['user_code']."-".$accept_user['nickname'] : ""; $lists[$key]['room_name'] = $lists[$key]['room_code']."-".db::name('vs_room')->where(['id'=>$value['room_id']])->value('room_name'); $lists[$key]['type'] = $value['type']; $lists[$key]['type_str'] = model('Room')->room_log_type[$value['type']]; } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'room_log_type' => model('Room')->room_log_type ]; return V(1,"成功", $return_data); } /* * 头条列表 */ public function room_headline_list(){ $page = input('page', 1); $page_limit = input('page_limit', 30); $user_id = input('user_id', ''); $stime = input('stime', ''); $etime = input('etime', ''); $where = []; if($user_id){ $where['user_id'] = $user_id; } if($stime){ $where['createtime'] = ['>=',strtotime($stime)]; } if($etime){ $where['createtime'] = ['<=',strtotime($etime)]; } $count = db::name("vs_headline")->where($where)->count(); $room_headline_lists = db::name("vs_headline")->where($where)->page($page, $page_limit)->order('id desc')->select(); $lists = []; foreach ($room_headline_lists as $key => $value) { if($value['end_time']where(['id'=>$value['id']])->update(['is_now'=>0]); } $lists[$key]['id'] = $value['id']; $user_code = model('api/Decorate')->user_decorate_detail($value['user_id'],6); $lists[$key]['user_name'] = $user_code."-".db::name('user')->where(['id'=>$value['user_id']])->value('nickname'); $lists[$key]['content'] = $value['content']; $lists[$key]['money'] = $value['money']; $lists[$key]['status'] = $value['is_now']==1 ?"显示中" : "已完成"; if($value['end_time']$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, ]; return V(1,"成功", $return_data); } /* * 删除头条 */ public function room_headline_del(){ $id = input('id', ''); if(!$id){ return V(0,"参数错误"); } $res = db::name("vs_headline")->where(['id'=>$id])->delete(); if($res){ return V(1,"删除成功"); }else{ return V(0,"删除失败"); } } /* * 隐藏头条 */ public function room_headline_hide(){ $id = input('id', ''); if(!$id){ return V(0,"参数错误"); } $headline = db::name("vs_headline")->where(['id'=>$id])->find(); if(!$headline){ return V(0,"参数错误"); } if($headline['is_now']==2){ return V(0,"该头条已隐藏"); } $res = db::name("vs_headline")->where(['id'=>$id])->update([ 'is_now' => 2 ]); if($res){ return V(1,"隐藏成功"); }else{ return V(0,"隐藏失败"); } } /* * 创建CP电影房 */ public function create_cp_movie_room(){ $user_id1 = input('user_id1', ''); $user_id2 = input('user_id2', ''); $time_day = input('time_day', ''); //开启电影房 $nickname = db::name('user')->where('id',$user_id1)->value('nickname'); $nickname1 = db::name('user')->where('id',$user_id2)->value('nickname'); //开启事务 db::startTrans(); //创建房间 $room_id = model('api/Room')->user_create_room($user_id1,$nickname.' & '.$nickname1.' 的Cp电影房',get_system_config_value('web_site').'/data/avatar/head_pic.png',$nickname.' 和 '.$nickname1.' 的Cp电影房',$user_id1.$user_id2); if(!$room_id['status']){ db::rollback(); return V(0,$room_id['msg']); } //添加到数据库 $res2 = db::name('vs_room_cp_movie')->insertGetId([ 'room_id' => $room_id['data'], 'user_id' => $user_id1, 'user_id1' => $user_id2, 'time_day' => time() + $time_day, 'createtime' => time(), 'status' => 1 ]); if(!$res2){ db::rollback(); return V(0,"添加失败"); } db::commit(); return V(1,"成功", ['room_id' => $room_id['data']]); } //声网的token public function get_token(){ $admin_id = Session::get('admin_id'); $room_id = input('room_id', ''); $token = model('api/Agora')->agora_token_info($admin_id, $room_id); return V(1,"成功", ['token' => $token]); } //推荐房间列表(消息类型为房间公告时选择用) public function recommend_room_list(){ $room_list = db::name($this->table)->where(['is_recommend'=>2,'room_status'=>1])->select(); $result = []; foreach ($room_list as $key => $value) { $result[$key]['room_id'] = $value['id']; $result[$key]['room_name'] = $value['room_name']; } return V(1,"成功", $result); } }