|
@@ -112,60 +112,15 @@ class Easemob extends Api
|
|
$this->redis->hDel("livingUser", $uid);
|
|
$this->redis->hDel("livingUser", $uid);
|
|
$this->redis->HDel("online_" . $livingUserPartyId, $uid);
|
|
$this->redis->HDel("online_" . $livingUserPartyId, $uid);
|
|
$this->redis->zRem("party_user_".$livingUserPartyId,$uid); //新加的
|
|
$this->redis->zRem("party_user_".$livingUserPartyId,$uid); //新加的
|
|
- }
|
|
|
|
-
|
|
|
|
- // 获取用户所在群信息
|
|
|
|
- $grouplist = $this->getJoindGroupList($uid);
|
|
|
|
|
|
|
|
- if(!empty($grouplist)) {
|
|
|
|
- $groupsites = [];
|
|
|
|
- if($grouplist) foreach($grouplist as $k => $v) {
|
|
|
|
- $partyid = Db::name('party')->where('easemob_room_id',$v['id'])->value('id');
|
|
|
|
- if(empty($partyid)){
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- $v["GroupId"] = $partyid;
|
|
|
|
- // 获取群组消息
|
|
|
|
-// $groupInfo = $this->getGroupInfo($v["GroupId"]); 因为downSite方法没用到,所以屏蔽
|
|
|
|
-
|
|
|
|
-// if($groupInfo["ErrorCode"] == 0) $groupsites[] = $groupInfo["GroupInfo"][0]; 因为downSite方法没用到,所以屏蔽
|
|
|
|
-
|
|
|
|
- // 踢出用户在线组
|
|
|
|
- $this->redis->HDel("online_".$v["GroupId"],$uid);
|
|
|
|
- $this->redis->zRem("party_user_".$v["GroupId"],$uid); //新加的
|
|
|
|
-
|
|
|
|
- // 更新麦位前四
|
|
|
|
- $this->updatePosition($uid,$v["GroupId"]);
|
|
|
|
-
|
|
|
|
- // 取消排麦
|
|
|
|
- //$this->cancelLineup($uid,$v["GroupId"]);
|
|
|
|
-
|
|
|
|
- // 房间状态变更
|
|
|
|
- $partyInfo = $this->redis->get("party_".$v["GroupId"]);
|
|
|
|
- if($partyInfo) {
|
|
|
|
- $partyInfo = json_decode($partyInfo,true);
|
|
|
|
- $memCount = count($this->redis->hGetAll("online_".$v["GroupId"]));
|
|
|
|
- if($memCount <= 0) {
|
|
|
|
- $partyInfo["is_online"] = 0;
|
|
|
|
- $this->redis->set("party_".$v["GroupId"],json_encode($partyInfo));
|
|
|
|
- \app\common\model\Party::update(["is_online"=>0],["id"=>$v["GroupId"]]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- $liveInfo = $this->redis->get("live_".$v["GroupId"]);
|
|
|
|
- if($liveInfo) {
|
|
|
|
- $liveInfo = json_decode($liveInfo,true);
|
|
|
|
- $memCount = count($this->redis->hGetAll("online_".$v["GroupId"]));
|
|
|
|
- if($memCount <= 0) {
|
|
|
|
- $liveInfo["is_online"] = 0;
|
|
|
|
- $this->redis->set("live_".$v["GroupId"],json_encode($liveInfo));
|
|
|
|
- \app\common\model\Party::update(["is_online"=>0],["id"=>$v["GroupId"]]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //退出房间获取房间自定义属性
|
|
|
|
+ //清理这个人的麦序
|
|
|
|
+ //重置房间在线人数
|
|
|
|
+ $party_info = Db::name('party')->field('id,user_id,easemob_room_id')->where('id',$livingUserPartyId)->find();
|
|
|
|
+ if(empty($party_info)){
|
|
|
|
+ exit;
|
|
}
|
|
}
|
|
- // 强制下麦
|
|
|
|
- print_r($this->downSite($uid,$groupsites));
|
|
|
|
- //理论上,应该轮询所有房间,轮询这个用户所在的麦位,给下麦,如果是房主,应该解散
|
|
|
|
|
|
+ $this->clean_room($party_info,$uid);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -217,7 +172,11 @@ class Easemob extends Api
|
|
if(isset($input['from'])){
|
|
if(isset($input['from'])){
|
|
$uid = $this->get_easemob_uid($input['from']);
|
|
$uid = $this->get_easemob_uid($input['from']);
|
|
}
|
|
}
|
|
- $partyid = Db::name('party')->where('easemob_room_id',$room_id)->value('id');
|
|
|
|
|
|
+ $party_info = Db::name('party')->field('id,user_id,easemob_room_id')->where('easemob_room_id',$room_id)->find();
|
|
|
|
+ if(empty($party_info)){
|
|
|
|
+ exit;
|
|
|
|
+ }
|
|
|
|
+ $partyid = $party_info['id'];
|
|
|
|
|
|
//开始处理
|
|
//开始处理
|
|
|
|
|
|
@@ -299,7 +258,7 @@ class Easemob extends Api
|
|
//退出房间获取房间自定义属性
|
|
//退出房间获取房间自定义属性
|
|
//清理这个人的麦序
|
|
//清理这个人的麦序
|
|
//重置房间在线人数
|
|
//重置房间在线人数
|
|
- $this->clean_room($partyid,$uid);
|
|
|
|
|
|
+ $this->clean_room($party_info,$uid);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -311,12 +270,9 @@ class Easemob extends Api
|
|
|
|
|
|
//清除某个麦位
|
|
//清除某个麦位
|
|
//重置房间在线人数
|
|
//重置房间在线人数
|
|
- private function clean_room($easemob_room_id,$uid){
|
|
|
|
|
|
+ private function clean_room($party_info,$uid){
|
|
|
|
|
|
- $party_info = Db::name('party')->field('id,user_id')->where('easemob_room_id',$easemob_room_id)->find();
|
|
|
|
- if(empty($party_info)){
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
+ $easemob_room_id = $party_info['easemob_room_id'];
|
|
|
|
|
|
//获取所有麦位,假设8个
|
|
//获取所有麦位,假设8个
|
|
$easemob = new Easemoblib();
|
|
$easemob = new Easemoblib();
|
|
@@ -432,10 +388,10 @@ class Easemob extends Api
|
|
/*此处删减参考ggyuyin,api/tenim/downsite*/
|
|
/*此处删减参考ggyuyin,api/tenim/downsite*/
|
|
|
|
|
|
// 先更新下麦时间
|
|
// 先更新下麦时间
|
|
- $update = [];
|
|
|
|
|
|
+ /*$update = [];
|
|
$update["offsite_time"] = time();
|
|
$update["offsite_time"] = time();
|
|
$update["status"] = 2;
|
|
$update["status"] = 2;
|
|
- \app\common\model\UserOnsiteTime::update($update,["user_id"=>$user_id,"status"=>1]);
|
|
|
|
|
|
+ \app\common\model\UserOnsiteTime::update($update,["user_id"=>$user_id,"status"=>1]);*/
|
|
|
|
|
|
// 循环房间
|
|
// 循环房间
|
|
/*此处删减参考ggyuyin,api/tenim/downsite*/
|
|
/*此处删减参考ggyuyin,api/tenim/downsite*/
|