Compare commits

30 Commits

Author SHA1 Message Date
28fbc40f70 绑定更换手机号 2025-08-15 14:06:05 +08:00
ea881adbd2 后台增加 礼盒配置 title 标题字段 2025-08-15 11:53:48 +08:00
314e519937 后台赠送装扮修改 2025-08-14 18:47:31 +08:00
3fc247e8e5 安装基础信息配置 2025-08-13 11:13:35 +08:00
ebdfd04105 优化:云账户回调 2025-08-13 10:38:37 +08:00
4fc571e5e2 拍卖模式下 同意上麦 过滤 2025-08-13 10:13:01 +08:00
3957e831f9 优化:主题功能调整 2025-08-12 17:06:00 +08:00
eef23f6bba 优化:主题功能调整 2025-08-12 15:27:41 +08:00
c7fb6078a9 主题 2025-08-12 15:17:17 +08:00
a0ea15ef2a Merge remote-tracking branch 'origin/develop' into develop 2025-08-12 14:13:36 +08:00
f635515d61 优化:提现状态查询接口暂停 2025-08-12 14:13:20 +08:00
a3b3bd04ef 登录处理 2025-08-12 14:05:47 +08:00
f9d9a1bf5c 登录处理 2025-08-12 11:16:48 +08:00
06c5df0207 Merge remote-tracking branch 'origin/develop' into develop 2025-08-12 11:13:39 +08:00
917d95f5f3 BUG:0点以后房间热度值清零 错误修改 2025-08-12 11:13:32 +08:00
89e6c023db 清数据 ip限制 2025-08-11 18:58:23 +08:00
d2baceadea 房间火热值 2025-08-11 17:49:11 +08:00
93d75a4ef3 每天执行脚本:清除房间热度值 脚本修改 2025-08-11 17:36:59 +08:00
07d631a7bb 每天执行脚本:清除房间热度值 2025-08-11 17:32:10 +08:00
c232caf2f0 Merge branch 'master' into develop 2025-08-11 16:23:02 +08:00
20a6ecffa6 测试 2025-08-11 16:18:26 +08:00
08cc1dabd8 测试自动更新脚本 2025-08-11 16:14:56 +08:00
3741278825 提现回调修改 2025-08-11 16:08:51 +08:00
4a77c59baf ios 上架版本过滤处理 2025-08-11 15:55:11 +08:00
96f236a433 房间关系过滤处理 2025-08-11 15:08:41 +08:00
fca4eb5fd1 投放机器人和在线人数等相关 2025-08-11 15:01:20 +08:00
92a63551c6 后台bug:是否机器人功能修改 加机器人库存数量判断 2025-08-11 14:26:45 +08:00
11ada68d54 是否机器人 功能修改 buG 2025-08-11 11:38:52 +08:00
d3003db0f8 提现配置修改。 2025-08-11 09:01:19 +08:00
e233c814e7 提现配置修改 2025-08-08 18:26:20 +08:00
26 changed files with 366 additions and 103 deletions

View File

@@ -498,6 +498,7 @@ class Activities extends adminApi
$meet = input('meet',''); $meet = input('meet','');
$num = input('num', 0); $num = input('num', 0);
$content = input('content', 0); $content = input('content', 0);
$title = input('title', "");
if($gift_bag_id==""){ if($gift_bag_id==""){
return V(0,"请选择礼包类型"); return V(0,"请选择礼包类型");
} }
@@ -516,6 +517,7 @@ class Activities extends adminApi
'num' => $num 'num' => $num
]; ];
$data['ext'] = json_encode($ext); $data['ext'] = json_encode($ext);
$data['title'] = $title;
$res = db::name($this->table)->where(['id'=>$gift_bag_id])->update($data); $res = db::name($this->table)->where(['id'=>$gift_bag_id])->update($data);
if(!$res){ if(!$res){
return V(0,"失败"); return V(0,"失败");

View File

@@ -374,10 +374,11 @@ class Decorate extends adminApi
$user_id = input('user_id', ''); $user_id = input('user_id', '');
$decorate_id = input('decorate_id', ''); $decorate_id = input('decorate_id', '');
$day = input('day', ''); $day = input('day', '');
$user = db::name('user')->where(['id'=>$user_id])->find(); $user = db::name('user')->where(['user_code'=>$user_id])->find();
if(!$user){ if(!$user){
return V(0,"用户不存在"); return V(0,"用户不存在");
} }
$user_id = $user['id'];
$decorate = db::name('vs_decorate')->where(['did'=>$decorate_id])->find(); $decorate = db::name('vs_decorate')->where(['did'=>$decorate_id])->find();
if(!$decorate){ if(!$decorate){
return V(0,"装扮不存在"); return V(0,"装扮不存在");

View File

@@ -468,6 +468,7 @@ class Room extends adminApi
$lists[$key]['guild_name'] = !empty($guild) ? $guild['guild_name'] : ""; $lists[$key]['guild_name'] = !empty($guild) ? $guild['guild_name'] : "";
$lists[$key]['room_status_str'] = model('Room')->room_status[$value['room_status']]; $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]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
$lists[$key]['is_robot_num'] = $value['robot_num']==0 ? 1 : 2;
} }
$return_data = [ $return_data = [
'page' =>$page, 'page' =>$page,
@@ -516,6 +517,7 @@ class Room extends adminApi
$room_data['room_type_str'] = db::name('vs_room_type')->where(['id'=>$room_data['type_id']])->value('type_name'); $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['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['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'] = ''; $room_data['guild_name'] = '';
$guild_id = db::name('vs_guild_user')->where('user_id',$room_data['user_id'])->value('guild_id'); $guild_id = db::name('vs_guild_user')->where('user_id',$room_data['user_id'])->value('guild_id');
if($guild_id){ if($guild_id){
@@ -818,11 +820,16 @@ class Room extends adminApi
//在用户表里找 $robot_num 个机器人 进入到房间 //在用户表里找 $robot_num 个机器人 进入到房间
$user_list = db::name('user')->field('id')->where('is_robot',1)->limit($robot_num)->orderRaw('rand()')->select(); $user_list = db::name('user')->field('id')->where('is_robot',1)->limit($robot_num)->orderRaw('rand()')->select();
if($user_list){ if($user_list){
if(count($user_list) != $robot_num){
return V(0,"机器人数量不足");
}
foreach ($user_list as $v){ foreach ($user_list as $v){
model('api/Room')->join_room($v['id'],$room_id,$room_password); model('api/Room')->join_room($v['id'],$room_id,$room_password);
} }
}else{
return V(0,"没有可用机器人");
} }
}elseif ($is_robot_num == 2 && $robot_num == 0){ }elseif ($is_robot_num == 2 || $robot_num == 0){
$data['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') $user_list = db::name('vs_room_visitor')->alias('a')->join('user b','a.user_id = b.id','left')

View File

@@ -44,6 +44,10 @@ class Theme extends adminApi
} }
$list = db::name($this->table)->where($where)->page($page, $page_limit)->select(); $list = db::name($this->table)->where($where)->page($page, $page_limit)->select();
$count = db::name($this->table)->where($where)->count(); $count = db::name($this->table)->where($where)->count();
foreach ($list as &$value) {
$value['begin_time'] = date('Y-m-d H:i:s',$value['begin_time']);
$value['end_time'] = date('Y-m-d H:i:s',$value['end_time']);
}
$return_data = [ $return_data = [
'page' =>$page, 'page' =>$page,
'page_limit' => $page_limit, 'page_limit' => $page_limit,
@@ -62,6 +66,10 @@ class Theme extends adminApi
$auxiliary_color = input('auxiliary_color', ''); $auxiliary_color = input('auxiliary_color', '');
$file_url = input('file_url', ''); $file_url = input('file_url', '');
$is_active = input('is_active', ''); $is_active = input('is_active', '');
$begin_time = input('begin_time', '');
$end_time = input('end_time', '');
$begin_time = !empty($begin_time) ? strtotime($begin_time) : 0;
$end_time = !empty($end_time) ? strtotime($end_time) : 0;
$data = [ $data = [
'theme_name' => $theme_name, 'theme_name' => $theme_name,
'theme_color' => $theme_color, 'theme_color' => $theme_color,
@@ -69,7 +77,9 @@ class Theme extends adminApi
'file_url' => $file_url, 'file_url' => $file_url,
'is_active' => $is_active, 'is_active' => $is_active,
'admin_id' => $admin_id, 'admin_id' => $admin_id,
'createtime' => time() 'createtime' => time(),
'begin_time' => $begin_time,
'end_time' => $end_time,
]; ];
$res = db::name($this->table)->insert($data); $res = db::name($this->table)->insert($data);
if($res){ if($res){
@@ -87,6 +97,10 @@ class Theme extends adminApi
$auxiliary_color = input('auxiliary_color', ''); $auxiliary_color = input('auxiliary_color', '');
$file_url = input('file_url', ''); $file_url = input('file_url', '');
$is_active = input('is_active', ''); $is_active = input('is_active', '');
$begin_time = input('begin_time', '');
$end_time = input('end_time', '');
$begin_time = !empty($begin_time) ? strtotime($begin_time) : 0;
$end_time = !empty($end_time) ? strtotime($end_time) : 0;
$id = input('id', ''); $id = input('id', '');
$data = [ $data = [
'theme_name' => $theme_name, 'theme_name' => $theme_name,
@@ -94,7 +108,9 @@ class Theme extends adminApi
'auxiliary_color' => $auxiliary_color, 'auxiliary_color' => $auxiliary_color,
'file_url' => $file_url, 'file_url' => $file_url,
'is_active' => $is_active, 'is_active' => $is_active,
'updatetime' => time() 'updatetime' => time(),
'begin_time' => $begin_time,
'end_time' => $end_time,
]; ];
$res = db::name($this->table)->where(['id'=>$id])->update($data); $res = db::name($this->table)->where(['id'=>$id])->update($data);
if($res){ if($res){

View File

@@ -8,8 +8,10 @@ use think\Log;
class Ceshi extends Controller class Ceshi extends Controller
{ {
//测试 发送各种消息 //设置白名单ip访问本类接口
protected $allowIp = [
'113.201.181.82'
];
//发送群组系统消息 //发送群组系统消息
public function send_group_system_notification() public function send_group_system_notification()
@@ -150,6 +152,13 @@ class Ceshi extends Controller
//清空数据 禁用 慎用 //清空数据 禁用 慎用
public function clear_data() public function clear_data()
{ {
//ip
$ip = request()->ip();
//白名单
$white_list = $this -> allowIp;
if (!in_array($ip, $white_list)) {
return V(301, '非法访问!');
}
$i = 0; $i = 0;
$res = []; $res = [];
//开启事务 //开启事务

View File

@@ -24,4 +24,11 @@ class Cron
$cron = new \app\cron\controller\TenSeconds(); $cron = new \app\cron\controller\TenSeconds();
$cron->index(); $cron->index();
} }
//每天执行
public function DaySeconds()
{
$cron = new \app\cron\controller\DaySeconds();
$cron->index();
}
} }

View File

@@ -219,13 +219,13 @@ class Payment extends Controller
$yun_pay = new YunPay(); $yun_pay = new YunPay();
$result = $yun_pay->yun_callback($data,$mess,$timestamp,$sign); $result = $yun_pay->yun_callback($data,$mess,$timestamp,$sign);
if($result['code']==1){ if($result['code']==1){
$data = $result['data']['data']; $data = $result['data'];
if($data){ if($data){
$status = $data['status'];
if(!isset($data['status'])){ if(!isset($data['status'])){
echo 'fail'; echo 'fail';
die; die;
} }
$status = $data['status'];
switch ($status){ switch ($status){
case "1": case "1":
// 支付成功(对于支付宝和微信支付是最终状态,对于银行卡大部分情况是终态,小概率会出现"退汇现象",状态由"成功"变为"退汇" // 支付成功(对于支付宝和微信支付是最终状态,对于银行卡大部分情况是终态,小概率会出现"退汇现象",状态由"成功"变为"退汇"

View File

@@ -395,4 +395,15 @@ class Room extends BaseCom
$reslut = model('Room')->room_online_number($room_id); $reslut = model('Room')->room_online_number($room_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']); return V($reslut['code'], $reslut['msg'], $reslut['data']);
} }
//房间在线列表
public function room_online_list_ceshi()
{
$room_id = input('room_id', 0);
$page = input('page', 1);
$limit = input('limit', 50);
$reslut = model('Room')->room_online_list($room_id, $page, $limit);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
} }

View File

@@ -84,7 +84,7 @@ class Search extends BaseCom
$lists[$k]['picture'] = $v['room_cover']; $lists[$k]['picture'] = $v['room_cover'];
$lists[$k]['code'] = $v['room_number']; $lists[$k]['code'] = $v['room_number'];
$lists[$k]['label_icon'] = db::name('vs_room_label')->where('id', $v['label_id'])->value('label_icon'); $lists[$k]['label_icon'] = db::name('vs_room_label')->where('id', $v['label_id'])->value('label_icon');
$lists[$k]['hot_value'] = $v['hot_value']; $lists[$k]['hot_value'] = $v['today_hot_value'];
}elseif($type == 3){ }elseif($type == 3){
$lists[$k]['id'] = $v['id']; $lists[$k]['id'] = $v['id'];
$lists[$k]['name'] = $v['guild_name']; $lists[$k]['name'] = $v['guild_name'];

View File

@@ -15,12 +15,37 @@ class Theme extends controller
} }
/* /*
* 启动页列表 * 启动页列表
* @return array * app背景图片 app_bg
* * 首页选中 home_sel
* 首页正常 home_nor
* 广场选中 find_sel
* 广场正常 find_nor
* 消息选中 msg_sel
* 消息正常 msg_nor
* 我的选中 mine_sel
* 我的正常 mine_nor
* 主题色 theme_color
* 按钮文字颜色 btn_text_color
*/ */
public function get_theme_data() public function get_theme_data()
{ {
$reslut = DB::name('vs_theme')->where('is_active',1)->where('delete_time',0)->find(); $reslut = DB::name('vs_theme')->field('theme_color,file_url,auxiliary_color')
->where(['delete_time' => 0 ,'is_active' => 1,'begin_time' => ['<',time()],'end_time' => ['>',time()]])->order('id desc')->find();
if($reslut){
$url = $reslut['file_url'];
$reslut['btn_text_color'] = $reslut['auxiliary_color'];
$reslut['app_bg'] = get_system_config_value('web_site').'/static/theme/'.$url.'/app_bg.png';
$reslut['home_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/home_sel.png';
$reslut['home_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/home_nor.png';
$reslut['find_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/find_sel.png';
$reslut['find_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/find_nor.png';
$reslut['msg_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/msg_sel.png';
$reslut['msg_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/msg_nor.png';
$reslut['mine_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/mine_sel.png';
$reslut['mine_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/mine_nor.png';
}
return V(1,'操作成功', $reslut); return V(1,'操作成功', $reslut);
} }
} }

View File

@@ -98,7 +98,7 @@ class Chat extends Model
'Text' => $content 'Text' => $content
]; ];
$data = model('Tencent')->send_group_system_notification('room'.$roomId,json_encode($text)); $data = model('api/Tencent')->send_group_system_notification('room'.$roomId,json_encode($text));
if($data['code'] == 0){ if($data['code'] == 0){
Log::record("腾讯发送群消息:".$data['msg'].$type,"info"); Log::record("腾讯发送群消息:".$data['msg'].$type,"info");

View File

@@ -505,6 +505,7 @@ class GiveGift extends Model
//增加房间火热值hot_value //增加房间火热值hot_value
$gift_totalaa = $gift_total * get_system_config_value('coin_charm_exp'); $gift_totalaa = $gift_total * get_system_config_value('coin_charm_exp');
Db::name('vs_room')->where(['id'=>$from_id,'apply_status'=>2])->setInc('hot_value',$gift_totalaa); Db::name('vs_room')->where(['id'=>$from_id,'apply_status'=>2])->setInc('hot_value',$gift_totalaa);
Db::name('vs_room')->where(['id'=>$from_id,'apply_status'=>2])->setInc('today_hot_value',$gift_totalaa);
Db::commit(); Db::commit();
return ['code' => 1, 'msg' => '送礼成功', 'data' => null]; return ['code' => 1, 'msg' => '送礼成功', 'data' => null];

View File

@@ -16,7 +16,7 @@ class Room extends Model
parent::__construct(); parent::__construct();
$this->redis = \think\Cache::store('redis')->handler(); $this->redis = \think\Cache::store('redis')->handler();
} }
//创建房间 //创建房间 创建
public function user_create_room($uid, $room_name,$room_cover,$room_intro,$type = 0) public function user_create_room($uid, $room_name,$room_cover,$room_intro,$type = 0)
{ {
$user_mobile = model('User')->where('id', $uid)->value('mobile'); $user_mobile = model('User')->where('id', $uid)->value('mobile');
@@ -181,7 +181,7 @@ class Room extends Model
$map['is_top'] = $is_top; $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,hot_value,label_id,is_show_room') $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')->page($page, $page_limit)->select(); ->where($map)->order('hot_value desc')->page($page, $page_limit)->select();
// var_dump($list); // var_dump($list);
foreach ($list as $k => &$v){ foreach ($list as $k => &$v){
@@ -231,7 +231,7 @@ class Room extends Model
} }
} }
if(!empty($user_room_list)){ if(!empty($user_room_list)){
$list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,hot_value') $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')
->where('id', 'in', $user_room_list)->order('hot_value desc')->page($page, $page_limit)->select(); ->where('id', 'in', $user_room_list)->order('hot_value desc')->page($page, $page_limit)->select();
foreach ($list as $k => &$v){ foreach ($list as $k => &$v){
// $v['hot_value'] = $v['hot_value'] * 10; // $v['hot_value'] = $v['hot_value'] * 10;
@@ -599,7 +599,7 @@ class Room extends Model
foreach ($song_list as $key => $value){ foreach ($song_list as $key => $value){
if($value['status'] == 2 && $value['times_status'] == 1){ if($value['status'] == 2 && $value['times_status'] == 1){
//切歌 //切歌
model('RoomSong')->change_song($room_id,$value['did']); model('api/RoomSong')->change_song($room_id,$value['did']);
} }
if($value['status'] == 1){ if($value['status'] == 1){
db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]); db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
@@ -617,7 +617,7 @@ class Room extends Model
db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete(); db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
$nickname = db::name('user')->where('id', $user_id)->value('nickname'); $nickname = db::name('user')->where('id', $user_id)->value('nickname');
$text['text'] = '用户 ' . $nickname .' 退出了房间'; $text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_user,$text,$user_id); model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
}else{ }else{
//退出其他房间 //退出其他房间
$this->quit_room($user_id, $room_user,$user_id); $this->quit_room($user_id, $room_user,$user_id);
@@ -655,8 +655,8 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room['id'], 'user_id' => $value['user_id']])->value('charm'); $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room['id'], 'user_id' => $value['user_id']])->value('charm');
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
} }
} }
$user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find(); $user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find();
@@ -672,7 +672,7 @@ class Room extends Model
if($room_time <= time()){ if($room_time <= time()){
db::name('vs_room')->where(['id' => $room_id])->update(['room_status' => 3]); db::name('vs_room')->where(['id' => $room_id])->update(['room_status' => 3]);
db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->update(['status' => 2]); db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->update(['status' => 2]);
model('Tencent')->delete_group('room'.$room_id); model('api/Tencent')->delete_group('room'.$room_id);
return ['code' => 0, 'msg' => 'cp房间已到期', 'data' => '']; return ['code' => 0, 'msg' => 'cp房间已到期', 'data' => ''];
} }
$room_status = db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->value('status'); $room_status = db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->value('status');
@@ -690,8 +690,8 @@ class Room extends Model
if($cp_users['user_id'] != $user_id && $cp_users['user_id1'] != $user_id){ if($cp_users['user_id'] != $user_id && $cp_users['user_id1'] != $user_id){
return ['code' => 0, 'msg' => '您不是房间的cp用户请勿进入', 'data' => '']; return ['code' => 0, 'msg' => '您不是房间的cp用户请勿进入', 'data' => ''];
} }
$cp_users['dress'] = model('Decorate')->user_decorate_detail($cp_users['user_id'],1); $cp_users['dress'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id'],1);
$cp_users['dress1'] = model('Decorate')->user_decorate_detail($cp_users['user_id1'],1); $cp_users['dress1'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id1'],1);
if($cp_users['user_id'] == $user_id){ if($cp_users['user_id'] == $user_id){
$room_name = db::name('user')->where('id', $cp_users['user_id1'])->value('nickname'); $room_name = db::name('user')->where('id', $cp_users['user_id1'])->value('nickname');
} }
@@ -708,7 +708,7 @@ class Room extends Model
} }
$room['is_use_code'] = 0; $room['is_use_code'] = 0;
$liang = model('Decorate')->user_decorate_detail($room['id'],7); $liang = model('api/Decorate')->user_decorate_detail($room['id'],7);
if($liang != $room['room_number']){ if($liang != $room['room_number']){
$room['is_use_code'] = 1; $room['is_use_code'] = 1;
$room['room_number'] = $liang; $room['room_number'] = $liang;
@@ -822,7 +822,7 @@ class Room extends Model
'label_id' => $label_id, 'label_id' => $label_id,
'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'), 'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'),
'room_background' => $room['room_background'], 'room_background' => $room['room_background'],
'hot_value' => $room['hot_value'], 'hot_value' => $room['today_hot_value'],
'chatrooms' => 'room'.$room['id'], 'chatrooms' => 'room'.$room['id'],
'pit_list' => $pit_list, 'pit_list' => $pit_list,
'room_up_pit_type'=>$room['room_up_pit_type'], 'room_up_pit_type'=>$room['room_up_pit_type'],
@@ -835,23 +835,23 @@ class Room extends Model
//房主信息 //房主信息
$room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find(); $room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find();
$room_owner['user_code'] = model('Decorate')->user_decorate_detail($room['user_id'],6); $room_owner['user_code'] = model('api/Decorate')->user_decorate_detail($room['user_id'],6);
//当前用户信息 //当前用户信息
$user_info = $this ->get_user_info($room_id,$user_id,$user_pit,1);//用户进入房间 才会获取声网token更新房间不获取声网token $user_info = $this ->get_user_info($room_id,$user_id,$user_pit,1);//用户进入房间 才会获取声网token更新房间不获取声网token
$user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0; $user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0;
//推送信息 //推送信息
$text['text'] = '欢迎用户 ' . $user_info['nickname'] .' 进入房间'; $text['text'] = '欢迎用户 ' . $user_info['nickname'] .' 进入房间';
$text['jia_jia'] = model('Decorate')->user_decorate_detail($user_id,2); $text['jia_jia'] = model('api/Decorate')->user_decorate_detail($user_id,2);
$text['FromUserInfo'] = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $text['FromUserInfo'] = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$text['FromUserInfo']['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $text['FromUserInfo']['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo']['mic_dress'] = model('Decorate')->user_decorate_detail($user_id,4); $text['FromUserInfo']['mic_dress'] = model('api/Decorate')->user_decorate_detail($user_id,4);
$text['FromUserInfo']['chat_dress'] = model('Decorate')->user_decorate_detail($user_id,5); $text['FromUserInfo']['chat_dress'] = model('api/Decorate')->user_decorate_detail($user_id,5);
model('Chat')->sendMsg(1001,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1001,$room_id,$text,$user_id);
//记录用户访问记录 //记录用户访问记录
if($user_id != $room_owner['user_id']){ if($user_id != $room_owner['user_id']){
model('User')->add_user_visit_log(2,$user_id, $room_id); model('api/User')->add_user_visit_log(2,$user_id, $room_id);
} }
return ['code' => 1, return ['code' => 1,
'msg' => '成功', 'msg' => '成功',
@@ -873,18 +873,18 @@ class Room extends Model
public function get_user_info($room_id,$user_id,$user_pit,$is_join = 0) public function get_user_info($room_id,$user_id,$user_pit,$is_join = 0)
{ {
$user_info = db::name('user')->where('id', $user_id)->field('id as user_id,user_code,sex,nickname,avatar')->find(); $user_info = db::name('user')->where('id', $user_id)->field('id as user_id,user_code,sex,nickname,avatar')->find();
$user_info['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $user_info['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$user_info['user_code'] = model('Decorate')->user_decorate_detail($user_id,6); $user_info['user_code'] = model('api/Decorate')->user_decorate_detail($user_id,6);
$user_info['pit_number'] = (isset($user_pit['pit_number'])) ? $user_pit['pit_number'] : 0; $user_info['pit_number'] = (isset($user_pit['pit_number'])) ? $user_pit['pit_number'] : 0;
$user_info['count_down'] = 0; $user_info['count_down'] = 0;
$user_info['is_collect'] = db::name('user_follow')->where(['follow_id' => $room_id,'user_id' => $user_id,'type' => 2])->find() ? 1 : 0; $user_info['is_collect'] = db::name('user_follow')->where(['follow_id' => $room_id,'user_id' => $user_id,'type' => 2])->find() ? 1 : 0;
$user_info['is_host'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 1,'delete_time' => null])->find() ? 1 : 0; $user_info['is_host'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 1,'delete_time' => null])->find() ? 1 : 0;
$user_info['is_management'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 2,'delete_time' => null])->find() ? 1 : 0; $user_info['is_management'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 2,'delete_time' => null])->find() ? 1 : 0;
$user_info['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标 $user_info['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$user_info['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $user_info['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
if($is_join){ if($is_join){
$user_info['agora_token'] =model('Agora')->agora_token_info($user_id, $room_id); $user_info['agora_token'] =model('api/Agora')->agora_token_info($user_id, $room_id);
$user_info['agora_rtm_token'] = model('Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的 $user_info['agora_rtm_token'] = model('api/Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的
} }
$user_info['is_mute'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 1])->find() ? 1 : 0; $user_info['is_mute'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 1])->find() ? 1 : 0;
$user_info['is_mute_pit'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 2])->find() ? 1 : 0; $user_info['is_mute_pit'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 2])->find() ? 1 : 0;
@@ -907,7 +907,7 @@ class Room extends Model
'poster' => $song['poster'], 'poster' => $song['poster'],
'duration' => $song['duration'], 'duration' => $song['duration'],
'user_id' => $song['user_id'], 'user_id' => $song['user_id'],
'dress' => model('Decorate')->user_decorate_detail($song['user_id'], 1), 'dress' => model('api/Decorate')->user_decorate_detail($song['user_id'], 1),
'nickname' => db::name('user')->where('id',$song['user_id'])->value('nickname'), 'nickname' => db::name('user')->where('id',$song['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$song['user_id'])->value('avatar'), 'avatar' => db::name('user')->where('id',$song['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$song['user_id'],'room_id' => $room_id])->value('charm'), 'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$song['user_id'],'room_id' => $room_id])->value('charm'),
@@ -926,7 +926,7 @@ class Room extends Model
'poster' => $data[0]['poster'], 'poster' => $data[0]['poster'],
'duration' => $data[0]['duration'], 'duration' => $data[0]['duration'],
'user_id' => $data[0]['user_id'], 'user_id' => $data[0]['user_id'],
'dress' => model('Decorate')->user_decorate_detail($data[0]['user_id'], 1), 'dress' => model('api/Decorate')->user_decorate_detail($data[0]['user_id'], 1),
'nickanme' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'), 'nickanme' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'), 'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where('user_id',$data[0]['user_id'])->value('charm'), 'charm' => db::name('vs_room_user_charm')->where('user_id',$data[0]['user_id'])->value('charm'),
@@ -943,19 +943,19 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
} }
} }
$song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select(); $song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select();
if($song_pit_list){ if($song_pit_list){
foreach ($song_pit_list as &$value){ foreach ($song_pit_list as &$value){
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname'); $value['nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname');
$value['avatar'] = db::name('user')->where('id',$value['user_id'])->value('avatar'); $value['avatar'] = db::name('user')->where('id',$value['user_id'])->value('avatar');
$value['sex'] = db::name('user')->where('id',$value['user_id'])->value('sex'); $value['sex'] = db::name('user')->where('id',$value['user_id'])->value('sex');
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
$value['is_lock'] = 0; $value['is_lock'] = 0;
$value['is_mute'] = 0; $value['is_mute'] = 0;
$value['count_down'] = 0; $value['count_down'] = 0;
@@ -995,14 +995,14 @@ class Room extends Model
->where(['a.room_id' => $room_id,'a.status' => 2])->find(); ->where(['a.room_id' => $room_id,'a.status' => 2])->find();
// var_dump($auction);exit; // var_dump($auction);exit;
if($auction){ if($auction){
$auction['dress'] = model('Decorate')->user_decorate_detail($auction['user_id'], 1); $auction['dress'] = model('api/Decorate')->user_decorate_detail($auction['user_id'], 1);
$auction['relation_name'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('name'); $auction['relation_name'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('name');
$auction['relation_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon'); $auction['relation_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon');
$auction['base_image'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('base_image'); $auction['base_image'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('base_image');
$auction['gift_name'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('gift_name'); $auction['gift_name'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('gift_name');
$auction['time_day'] = $auction['time_day'] / 60 / 60; $auction['time_day'] = $auction['time_day'] / 60 / 60;
$auction['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $auction['user_id']])->value('charm') ?? 0; $auction['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $auction['user_id']])->value('charm') ?? 0;
$auction_list = model('RoomAuction')->room_auction_list_on($auction['auction_id']); $auction_list = model('api/RoomAuction')->room_auction_list_on($auction['auction_id']);
$auction_user = $auction; $auction_user = $auction;
if($auction['user_id'] == $user_id){ if($auction['user_id'] == $user_id){
$user_pit['pit_number'] = 888; $user_pit['pit_number'] = 888;
@@ -1018,7 +1018,7 @@ class Room extends Model
}else{ }else{
$auction_list = null; $auction_list = null;
$users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find(); $users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find();
$users['dress'] = model('Decorate')->user_decorate_detail($catdc, 1); $users['dress'] = model('api/Decorate')->user_decorate_detail($catdc, 1);
$users['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $catdc])->value('charm') ?? 0; $users['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $catdc])->value('charm') ?? 0;
$auction_user = $users; $auction_user = $users;
if($catdc == $user_id){ if($catdc == $user_id){
@@ -1039,8 +1039,8 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
if($value['user_id'] == $user_id){ if($value['user_id'] == $user_id){
$user_pit['pit_number'] = 9; $user_pit['pit_number'] = 9;
} }
@@ -1059,7 +1059,7 @@ class Room extends Model
$nickname = db::name('user')->where('id', $user_id)->value('nickname'); $nickname = db::name('user')->where('id', $user_id)->value('nickname');
} }
if($type == 1){ if($type == 1){
if(!model('QuanXian')->quan_xian($uid, $user_id, $room_id)){ if(!model('api/QuanXian')->quan_xian($uid, $user_id, $room_id)){
return ['code' => 0, 'msg' => '您没有权限操作', 'data' => null]; return ['code' => 0, 'msg' => '您没有权限操作', 'data' => null];
} }
} }
@@ -1067,7 +1067,7 @@ class Room extends Model
//记录用户退出房 //记录用户退出房
db::name('vs_room_visitor')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_visitor')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
//房间的模式 //房间的模式
$res = model('Room')->get_room_label($room_id); $res = model('api/Room')->get_room_label($room_id);
$room_label = $res['data']['label_id']; $room_label = $res['data']['label_id'];
$room_type = $res['data']['type_id']; $room_type = $res['data']['type_id'];
@@ -1082,30 +1082,30 @@ class Room extends Model
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
}elseif ($apply_type == 2){ }elseif ($apply_type == 2){
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
if(db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->find()){ if(db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->find()){
db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $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'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
//推送告诉前端下了几号麦位 //推送告诉前端下了几号麦位
$text['text'] = $FromUserInfo['nickname'].' 下麦了 '; $text['text'] = $FromUserInfo['nickname'].' 下麦了 ';
$text['FromUserInfo'] = $FromUserInfo; $text['FromUserInfo'] = $FromUserInfo;
$text['pit_number'] = ''; $text['pit_number'] = '';
model('Chat')->sendMsg(1004,$room_id,$text); model('api/Chat')->sendMsg(1004,$room_id,$text);
} }
}else{ }else{
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
} }
@@ -1115,9 +1115,9 @@ class Room extends Model
db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
} }
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $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'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $FromUserInfo['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo'] = $FromUserInfo; $text['FromUserInfo'] = $FromUserInfo;
//1-踢出房间 //1-踢出房间
@@ -1136,14 +1136,14 @@ class Room extends Model
//发送消息 //发送消息
$text['text'] = '用户 ' . $nickname . ' 被 '. $room_typer .' 踢出房间'; $text['text'] = '用户 ' . $nickname . ' 被 '. $room_typer .' 踢出房间';
model('Chat')->sendMsg(1011,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1011,$room_id,$text,$user_id);
//1-禁麦位2-清空消息3-清空魅力值4-加入黑名单5-踢出房间6-关闭麦克风7-申请上麦8-同意上麦9-拒绝上麦10-点歌11-开启PK', //1-禁麦位2-清空消息3-清空魅力值4-加入黑名单5-踢出房间6-关闭麦克风7-申请上麦8-同意上麦9-拒绝上麦10-点歌11-开启PK',
model('Room')->room_operation_record($uid,$room_id,5,$user_id); model('api/Room')->room_operation_record($uid,$room_id,5,$user_id);
} }
if($type == 0){ if($type == 0){
//发送消息 //发送消息
$text['text'] = '用户 ' . $nickname .' 退出了房间'; $text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1002,$room_id,$text,$user_id);
} }
return ['code' => 1, 'msg' => '成功','data' => []]; return ['code' => 1, 'msg' => '成功','data' => []];
} }
@@ -1268,11 +1268,19 @@ class Room extends Model
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select(); $dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
//循环获取在线用户ID 拼接数据 //循环获取在线用户ID 拼接数据
$user_id_array = []; $user_id_array = [];
//机器人user_id
$robot_user_id = [];
foreach ($dblist as $v) { foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$robot_user_id[] = $v['user_id'];
continue;
}
$user_id_array[] = 'u'.$v['user_id']; $user_id_array[] = 'u'.$v['user_id'];
} }
//获取腾讯的在线用户 //获取腾讯的在线用户
$online_users = model('Tencent')->query_user_online_status($user_id_array); $online_users = model('Tencent')->query_user_online_status($user_id_array);
$online_user = [];
if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){ if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){
if($online_users['QueryResult']){ if($online_users['QueryResult']){
foreach ($online_users['QueryResult'] as $v){ foreach ($online_users['QueryResult'] as $v){
@@ -1284,12 +1292,12 @@ class Room extends Model
} }
} }
} }
if(empty($online_user)){
$online_user = [];
}
if($dblist){ if($dblist){
$onpit = db::name('vs_room_pit')->field('user_id')->where(['room_id' => $room_id])->select(); $onpit = db::name('vs_room_pit')->field('user_id')->where(['room_id' => $room_id])->select();
$array = $online_user; //合并数组
$array = array_merge($online_user,$robot_user_id);
// $array = $online_user;
$arraypit = array_values((array)$onpit); $arraypit = array_values((array)$onpit);
foreach ($dblist as &$v){ foreach ($dblist as &$v){
// if(in_array($v['user_id'],$arraypit)){ // if(in_array($v['user_id'],$arraypit)){
@@ -1955,7 +1963,7 @@ class Room extends Model
'label_id' => $label_id, 'label_id' => $label_id,
'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'), 'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'),
'room_background' => $room['room_background'], 'room_background' => $room['room_background'],
'hot_value' => $room['hot_value'], 'hot_value' => $room['today_hot_value'],
'chatrooms' => 'room'.$room['id'], 'chatrooms' => 'room'.$room['id'],
'pit_list' => $pit_list, 'pit_list' => $pit_list,
'room_up_pit_type'=>$room['room_up_pit_type'], 'room_up_pit_type'=>$room['room_up_pit_type'],
@@ -2428,12 +2436,22 @@ class Room extends Model
return ['code' => 0, 'msg' => '参数错误', 'data' => null]; return ['code' => 0, 'msg' => '参数错误', 'data' => null];
} }
//查找数据库用户
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
$num_robit = 0;
foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$num_robit++;
}
}
$room_online_number = model('Tencent')->get_group_online_num($room_id); $room_online_number = model('Tencent')->get_group_online_num($room_id);
if($room_online_number['ActionStatus'] != 'OK'){ if($room_online_number['ActionStatus'] != 'OK'){
return ['code' => 0, 'msg' => $room_online_number['ErrorInfo'].'-'.$room_online_number['ErrorCode'], 'data' => null]; return ['code' => 0, 'msg' => $room_online_number['ErrorInfo'].'-'.$room_online_number['ErrorCode'], 'data' => null];
} }
$data = [ $data = [
'online_number' => $room_online_number['OnlineMemberNum'], 'online_number' => $room_online_number['OnlineMemberNum'] + $num_robit,
]; ];
return ['code' => 1, 'msg' => '操作成功', 'data' => $data]; return ['code' => 1, 'msg' => '操作成功', 'data' => $data];

View File

@@ -11,7 +11,7 @@ class RoomAuction extends Model
//房间关系列表 //房间关系列表
public function room_relation_list($type_id) public function room_relation_list($type_id)
{ {
$list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where('type',$type_id)->select(); $list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where(['type' => $type_id,'delete_time' => 0])->select();
return ['code' => 1, 'msg' => '操作成功','data' => $list]; return ['code' => 1, 'msg' => '操作成功','data' => $list];
} }

View File

@@ -534,6 +534,20 @@ class RoomPit extends Model
model('Chat')->sendMsg(1034,$room_id,$text); model('Chat')->sendMsg(1034,$room_id,$text);
return ['code' => 1, 'msg' => '上麦成功', 'data' => null]; return ['code' => 1, 'msg' => '上麦成功', 'data' => null];
}elseif($apply_type == 3){ }elseif($apply_type == 3){
if(count($to_user) >= 2){
return ['code' => 0, 'msg' => '拍卖模式下只能一个人上麦', 'data' => null];
}
//拍卖房当前到哪一步了
$step = db::name('vs_room_auction')->where(['room_id' => $room_id])->order('auction_id desc')->value('status');
if($step == 2){
return ['code' => 0, 'msg' => '拍卖已经开始', 'data' => null];
}
//拍卖位上有人吗
$paimai_user = Cache::get('auction_user_'.$room_id);
if($paimai_user){
//有人就让他下麦
return ['code' => 0, 'msg' => '拍卖位上已有人,请先抱对方下麦', 'data' => null];
}
$i = 0; $i = 0;
foreach ($to_user as &$value) { foreach ($to_user as &$value) {
$i++; $i++;

View File

@@ -26,8 +26,8 @@ class Sms extends Model
if($type == 1 || $type == 2){ if($type == 1 || $type == 2){
//查询手机号绑定的数量 //查询手机号绑定的数量
$map = []; $map = [];
$map[] = ['mobile', '=', $mobile]; $map['mobile'] = $mobile;
$map[] = ['status', '=', 1]; $map['status'] = 1;
$user_info = db::name('user')->where($map)->count(); $user_info = db::name('user')->where($map)->count();
if($user_info >= 4){ if($user_info >= 4){
return ['code' => 0, 'msg' => '该手机号已达绑定上线','data' =>null]; return ['code' => 0, 'msg' => '该手机号已达绑定上线','data' =>null];

View File

@@ -252,7 +252,7 @@ class UserData extends Model
public function modify_mobile($new_mobile,$user_id) public function modify_mobile($new_mobile,$user_id)
{ {
//查询旧手机号 //查询旧手机号
$mobile = db::name('user')->where(['id' => $user_id])->value('user_name'); $mobile = db::name('user')->where(['id' => $user_id])->value('username');
//查询是否实名 //查询是否实名
$is_real = db::name('user_auth')->where(['mobile' => $mobile,'is_real' => 1])->find(); $is_real = db::name('user_auth')->where(['mobile' => $mobile,'is_real' => 1])->find();
if($is_real){ if($is_real){
@@ -260,7 +260,7 @@ class UserData extends Model
db::startTrans(); db::startTrans();
//修改实名手机号 //修改实名手机号
$red = db::name('user_auth')->where(['id' => $is_real['id']])->update(['mobile' => $new_mobile]); $red = db::name('user_auth')->where(['id' => $is_real['id']])->update(['mobile' => $new_mobile]);
$reslut = db::name('user')->where(['id' => $user_id])->update(['user_name' => $new_mobile]); $reslut = db::name('user')->where(['id' => $user_id])->update(['username' => $new_mobile]);
if ($reslut && $red) { if ($reslut && $red) {
Db::commit(); Db::commit();
return ['code' => 1, 'msg' => '修改成功','data' =>null]; return ['code' => 1, 'msg' => '修改成功','data' =>null];
@@ -269,7 +269,7 @@ class UserData extends Model
return ['code' => 0, 'msg' => '修改失败','data' =>null]; return ['code' => 0, 'msg' => '修改失败','data' =>null];
} }
}else{ }else{
$reslut = db::name('user')->where(['id' => $user_id])->update(['user_name' => $new_mobile]); $reslut = db::name('user')->where(['id' => $user_id])->update(['username' => $new_mobile]);
if ($reslut) { if ($reslut) {
return ['code' => 1, 'msg' => '修改成功','data' =>null]; return ['code' => 1, 'msg' => '修改成功','data' =>null];
} }
@@ -393,7 +393,7 @@ class UserData extends Model
//房间历史足迹 //房间历史足迹
public function user_room_history_list($uid,$page,$page_limit){ public function user_room_history_list($uid,$page,$page_limit){
$list = db::name('user_visit_log')->alias('a')->join('fa_vs_room b','a.to_id = b.id') $list = db::name('user_visit_log')->alias('a')->join('fa_vs_room b','a.to_id = b.id')
->field('b.id as room_id,b.room_number,b.room_name,b.room_cover,b.room_intro,b.label_id,b.room_password,b.is_show_room,b.hot_value') ->field('b.id as room_id,b.room_number,b.room_name,b.room_cover,b.room_intro,b.label_id,b.room_password,b.is_show_room,b.today_hot_value as hot_value')
->where('a.from_uid',$uid) ->where('a.from_uid',$uid)
->where('a.type',2) ->where('a.type',2)
->where('b.type_id','<>',6) ->where('b.type_id','<>',6)

View File

@@ -10,14 +10,14 @@ class UserToken extends Model
public function check_login_token($token) public function check_login_token($token)
{ {
if (empty($token)) { if (empty($token)) {
return ['code' => 301, 'msg' => '登录失效', 'data' =>null]; return ['code' => 301, 'msg' => '登录失效!', 'data' =>null];
} }
$user_token = $this->where('token', $token)->find(); $user_token = $this->where('token', $token)->find();
if (empty($user_token)) { if (empty($user_token)) {
return ['code' => 301, 'msg' => '登录失效', 'data' => null]; return ['code' => 301, 'msg' => '登录失效!!', 'data' => null];
} }
if ($user_token['expiretime'] < time()) { if ($user_token['expiretime'] < time()) {
return ['code' => 301, 'msg'=> '登录失效', 'data' => null]; return ['code' => 301, 'msg'=> '登录失效!!!', 'data' => null];
} }
$block1 = db::name('block')->where(['type' => 1,'type_text' => $user_token['user_id']])->find(); $block1 = db::name('block')->where(['type' => 1,'type_text' => $user_token['user_id']])->find();

View File

@@ -122,7 +122,7 @@ class UserZone extends Model
//查询房主此时是否在聊天室 //查询房主此时是否在聊天室
$room_id = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->value('room_id'); $room_id = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->value('room_id');
if ($room_id) { if ($room_id) {
$room = db::name('vs_room')->where(['id' => $room_id, 'room_status' => 1])->field('id,room_name,room_number,room_cover,room_intro,hot_value,type_id')->find(); $room = db::name('vs_room')->where(['id' => $room_id, 'room_status' => 1])->field('id,room_name,room_number,room_cover,room_intro,today_hot_value as hot_value,type_id')->find();
$v['room_id'] = $room['id']; $v['room_id'] = $room['id'];
$v['room_cover'] = $room['room_cover']; $v['room_cover'] = $room['room_cover'];
$v['room_type'] = db::name('vs_room_type')->where(['id' => $room['type_id'], 'status' => 1])->field('type_name'); $v['room_type'] = db::name('vs_room_type')->where(['id' => $room['type_id'], 'status' => 1])->field('type_name');

View File

@@ -3,6 +3,7 @@
namespace app\common\controller; namespace app\common\controller;
use think\Controller; use think\Controller;
use think\Db;
class BaseCom extends Controller class BaseCom extends Controller
@@ -19,14 +20,33 @@ class BaseCom extends Controller
header("Access-Control-Max-Age: 3600"); header("Access-Control-Max-Age: 3600");
//检测系统是否维护中 //检测系统是否维护中
// $config = get_system_config();
$is_maintenance = get_system_config_value('is_maintenance'); $is_maintenance = get_system_config_value('is_maintenance');
if($is_maintenance == 2){ if($is_maintenance == 2){
return V(203, '系统维护中'); return V(203, '系统维护中');
} }
$token = input('token', ''); //检测是什么系统
if (empty($token)) { $system = input('system','');
if(empty($system)){
$system = request()->header('system');
}
//版本号
$version = input('App-Version','');
if(empty($version)){
$version = request()->header('App-Version');
}
$zhenshi_version = db::name('version')->where('type', 2)->value('oldversion');
$result = version_compare($version,$zhenshi_version);
//请求的接口
$api = request()->controller().'/'.request()->action();
if($system == 'iOS' && $result > 0){
if($api == 'Index/index_banner' || $api == 'Index/room_type_list' || $api == 'Index/room_list' || $api == 'UserZone/expand_zone' || $api == 'UserZone/zone_list' || $api == 'UserZone/topic_list' || $api == 'UserZone/get_zone_topic'){
$this->uid = 0;
//定义一个常量
define('UID', $this->uid);
}else{
$token = request()->header('token'); $token = request()->header('token');
if (empty($token)) {
$token = input('token', '');
if(empty($token)){ if(empty($token)){
return V(301, '登录失效'); return V(301, '登录失效');
} }
@@ -43,4 +63,25 @@ class BaseCom extends Controller
} }
} }
}else{
$token = request()->header('token');
if (empty($token)) {
$token = input('token', '');
if(empty($token)){
return V(301, '登录失效');
}
}
$reslut = model('UserToken')->check_login_token($token);
if($reslut['code'] != 1) {
model('UserToken')->where('token', $token)->update(['token' => 1]);
return V($reslut['code'], $reslut['msg'],$reslut['data']);
} else {
$this->uid = $reslut['data'];
//定义一个常量
define('UID', $this->uid);
}
}
}
} }

View File

@@ -0,0 +1,43 @@
<?php
namespace app\cron\controller;
use think\Db;
/*
* 定时任务,每秒执行的方法
*/
class DaySeconds
{
/*
* 运行函数
*/
function index()
{
echo "清除房间热度值:\n";
$this->clear_room_today_hot_value();//0点以后房间热度值清零
echo "\n";
}
/*
* 0点以后房间热度值清零
* 配置:定时脚本每天 0点 执行
* 配置http://vschat.qxmier.com/api/Cron/DaySeconds
*/
public function clear_room_today_hot_value() {
$where = [];
$where['delete_time'] = 0;
$where['is_show_room'] = 1;
$room = db::name('vs_room')->where($where)->select();
echo date('Y-m-d H:i:s').' 开始清零:'.count($room)."\n";
foreach ($room as $key => $value) {
$data = [
'today_hot_value' => 0,
];
db::name('vs_room')->where(['id' => $value['id']])->update($data);
}
echo date('Y-m-d H:i:s').' 完成'."\n";
die;
}
}

View File

@@ -30,9 +30,9 @@ class PerformPerSecond
echo "pk发起10秒后无应答拒绝\n"; echo "pk发起10秒后无应答拒绝\n";
$this->pk_start_refuse(); $this->pk_start_refuse();
echo "\n"; echo "\n";
echo "提现云账号订单状态查询:\n"; // echo "提现云账号订单状态查询:\n";
$this->withdraw_order_status(); // $this->withdraw_order_status();
echo "\n"; // echo "\n";
} }
@@ -144,6 +144,7 @@ class PerformPerSecond
db::name('vs_user_withdrawal')->where('order_sn',$value['order_sn'])->update([ db::name('vs_user_withdrawal')->where('order_sn',$value['order_sn'])->update([
'status' => 6, 'status' => 6,
'pay_time' => time(), 'pay_time' => time(),
'pay_message' => $result['data']['msg'],
'updatetime' => time() 'updatetime' => time()
]); ]);
}else{ }else{

View File

@@ -231,12 +231,13 @@ class YunPay
$notifyReq = new NotifyRequest ($data, $mess, $timestamp, $sign) ;// 发起验签解密 $notifyReq = new NotifyRequest ($data, $mess, $timestamp, $sign) ;// 发起验签解密
try { try {
$result = $notifyClient->verifyAndDecrypt($notifyReq) ; $result = $notifyClient->verifyAndDecrypt($notifyReq) ;
Log::record("云账户回调信息".json_encode($result),"info"); Log::record("云账户回调信息-返回:".json_encode($result),"info");
if ($result) { $result = json_decode($result,true);
if ($result['signRes']) {
// 验签通过、解密成功 // 验签通过、解密成功
return ['code' => 1, 'msg' => "验签通过、解密成功:", 'data' => $result]; return ['code' => 1, 'msg' => "验签通过、解密成功:", 'data' => $result['data']];
}else{ }else{
return ['code' => 0, 'msg' => "验签失败", 'data' => null]; return ['code' => 0, 'msg' => "验签失败", 'data' => $result['data']];
} }
} }
catch(Exception $e){ catch(Exception $e){

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[{"id": 3, "name": "\u6bcf\u79d2\u6267\u884c", "type": "minute-n", "where1": "1", "where_hour": 1, "where_minute": 1, "echo": "3b2a68def60d02214f0fc9b8f651b882", "addtime": "2025-08-04 19:23:26", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/PerformPerSecond", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u79d2\u6267\u884c", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "1", "stop_site": "0"}, {"id": 4, "name": "\u8bbf\u95eeURL-[ http://chat.qxmier.com/api/Cron/TenSeconds ]", "type": "minute-n", "where1": "1", "where_hour": 1, "where_minute": 1, "echo": "ce799a9f4d0839178a49e12521134382", "addtime": "2025-08-04 19:23:26", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/TenSeconds", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf10\u79d2\u6267\u884c\u4e00\u4e0b", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "10", "stop_site": "0"}, {"id": 5, "name": "\u6bcf\u5468\u6267\u884c", "type": "week", "where1": "1", "where_hour": 1, "where_minute": 30, "echo": "6dee8a90ed46c5ba3ef343da4a58fa38", "addtime": "2025-08-04 19:24:31", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/PerformPerWeek", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u5468\u6267\u884c", "keyword": "", "post_param": "", "flock": 1, "time_set": "", "backup_mode": "", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": "0"}, {"id": 6, "name": "\u7eed\u7b7eLet's Encrypt\u8bc1\u4e66", "type": "day", "where1": "", "where_hour": 12, "where_minute": 3, "echo": "3ab48c27ec99cb9787749c362afae517", "addtime": "2025-08-08 09:53:50", "status": 1, "save": "", "backupTo": "localhost", "sName": "", "sBody": "/www/server/panel/pyenv/bin/python3 -u /www/server/panel/class/acme_v2.py --renew_v2=1", "sType": "toShell", "urladdress": "", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": 0, "type_id": "", "rname": "", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": ""}, {"id": 7, "name": "\u6bcf\u5929\u6267\u884c", "type": "day", "where1": "1", "where_hour": 0, "where_minute": 1, "echo": "774e9b9fc6a752b50e0d48487c944f9b", "addtime": "2025-08-11 17:41:38", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/DaySeconds", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u5929\u6267\u884c", "keyword": "", "post_param": "", "flock": 1, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": "0"}]