初始化代码
This commit is contained in:
99
application/api/model/RoomBossMicro.php
Normal file
99
application/api/model/RoomBossMicro.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
|
||||
class RoomBossMicro extends Model
|
||||
{
|
||||
|
||||
//更新房间在线用户财富值
|
||||
public function update_room_visitor_value($uid, $rid, $change_value){
|
||||
$map = [];
|
||||
$map[] = ['uid', '=', $uid];
|
||||
$map[] = ['rid', '=', $rid];
|
||||
$room_visitor_info = db::name('room_visitor')->where($map)->find();
|
||||
if($room_visitor_info){
|
||||
$reslut = db::name('room_visitor')->where('vid', $room_visitor_info['vid'])->inc('change_value', $change_value)->update(['update_time' => time()]);
|
||||
if(!$reslut){
|
||||
return ['code' => 201, 'msg' => '失败', 'data' => null];
|
||||
}
|
||||
|
||||
$cate_id = db::name('room')->where('rid', $rid)->value('cate_id');
|
||||
|
||||
// if(in_array($cate_id, [27,28])){
|
||||
// //更新老板麦信息
|
||||
// $this->update_room_boss_micro($rid);
|
||||
// }
|
||||
|
||||
//拍卖房不需要更新老板麦
|
||||
if(in_array($cate_id, [27])){
|
||||
//更新老板麦信息
|
||||
$this->update_room_boss_micro($rid);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
return ['code' => 200, 'msg' => '获取成功', 'data' => null];
|
||||
}
|
||||
|
||||
|
||||
//更新老板麦
|
||||
public function update_room_boss_micro($rid){
|
||||
//当前房间麦位用户
|
||||
// $map = [];
|
||||
// $map[] = ['rid', '=', $rid];
|
||||
// $map[] = ['micro_id', 'in', [1,2,3,4,9]];
|
||||
// $map[] = ['uid', '>', 0];
|
||||
// $room_micro_arr = db::name('room_micro')->where($map)->column('uid');
|
||||
|
||||
//当前房间主持用户
|
||||
// $room_host_uid = db::name('room')->where('rid', $rid)->value('room_host_uid');
|
||||
// if($room_host_uid > 0){
|
||||
// $room_micro_arr[] = $room_host_uid;
|
||||
// $room_micro_arr = array_values($room_micro_arr);
|
||||
// }
|
||||
|
||||
//当前老板麦用户信息
|
||||
$map = [];
|
||||
$map[] = ['rid', '=', $rid];
|
||||
$map[] = ['micro_id', 'in', [5,6,7,8]];
|
||||
$room_boss_micro_arr = db::name('room_micro')->where($map)->order('micro_id asc')->column('uid');
|
||||
|
||||
//获取当前房间在线贡献前四用户
|
||||
$map = [];
|
||||
$map[] = ['rid', '=', $rid];
|
||||
// $map[] = ['uid', 'not in', $room_micro_arr];
|
||||
$map[] = ['change_value', '>', 0];
|
||||
$map[] = ['is_delete', '=', 1];
|
||||
$room_visitor_list = db::name('room_visitor')->where($map)->find();
|
||||
if(!empty($room_visitor_list)){
|
||||
$room_visitor_arr = db::name('room_visitor')->where($map)->order('change_value desc')->limit(4)->column('uid');
|
||||
if($room_visitor_arr != $room_boss_micro_arr){
|
||||
foreach ($room_visitor_arr as $k => $v){
|
||||
if($v != $room_boss_micro_arr[$k]){
|
||||
//是否有在其他麦位
|
||||
$map = [];
|
||||
$map[] = ['rid', '=', $rid];
|
||||
$map[] = ['micro_id', 'in', [5,6,7,8]];
|
||||
$map[] = ['uid', '=', $v];
|
||||
$info = db::name('room_micro')->where($map)->find();
|
||||
if($info){
|
||||
db::name('room_micro')->where('id', $info['id'])->update(['uid' => 0, 'frame_gid' => 0, 'centre_gid' => 0, 'above_gid' => 0, 'below_gid' => 0, 'left_gid'=> 0, 'right_gid' => 0, 'update_time' => time()]);
|
||||
}
|
||||
//变更麦位信息
|
||||
$micro_id = $k + 5;
|
||||
db::name('room_micro')->where('rid', $rid)->where('micro_id', $micro_id)->update(['uid' => $v, 'update_time' => time()]);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user