|
@@ -113,15 +113,15 @@ class Easemob extends Api
|
|
|
|
|
|
// 获取用户所在群信息
|
|
|
$groupids = $this->getJoindGroupList($uid);
|
|
|
-// \app\common\model\Test::update(["content"=>json_encode($groupids)],["id"=>1]);
|
|
|
- if($groupids["ErrorCode"] == 0) {
|
|
|
- $grouplist = $groupids["GroupIdList"];
|
|
|
+
|
|
|
+ if(!empty($groupids)) {
|
|
|
+ $grouplist = $groupids;
|
|
|
$groupsites = [];
|
|
|
if($grouplist) foreach($grouplist as $k => $v) {
|
|
|
// 获取群组消息
|
|
|
- $groupInfo = $this->getGroupInfo($v["GroupId"]);
|
|
|
+// $groupInfo = $this->getGroupInfo($v["GroupId"]); 因为downSite方法没用到,所以屏蔽
|
|
|
|
|
|
- if($groupInfo["ErrorCode"] == 0) $groupsites[] = $groupInfo["GroupInfo"][0];
|
|
|
+// if($groupInfo["ErrorCode"] == 0) $groupsites[] = $groupInfo["GroupInfo"][0]; 因为downSite方法没用到,所以屏蔽
|
|
|
|
|
|
// 踢出用户在线组
|
|
|
$this->redis->HDel("online_".$v["GroupId"],$uid);
|
|
@@ -338,55 +338,20 @@ class Easemob extends Api
|
|
|
|
|
|
/**
|
|
|
* 获取用户所加入的聊天室
|
|
|
- */
|
|
|
- public function getJoindGroupList($user_id) {
|
|
|
- $random = rand(10000000,99999999);
|
|
|
- $usersig = $this->usersig("administrator");
|
|
|
- // 获取配置信息
|
|
|
- $config = config("tencent_im");
|
|
|
- $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_joined_group_list";
|
|
|
- $url .= "?sdkappid=".$config["sdkappid"];
|
|
|
- $url .= "&identifier=administrator";
|
|
|
- $url .= "&usersig=".$usersig;
|
|
|
- $url .= "&random=".$random;
|
|
|
- $url .= "&contenttype=json";
|
|
|
-
|
|
|
- $tencentObj = new tencentim($url);
|
|
|
- $data = [];
|
|
|
- $data["Member_Account"] = $user_id;
|
|
|
- $data["WithHugeGroups"] = 1;
|
|
|
- $data["GroupType"] = 'AVChatRoom';
|
|
|
- $data["ResponseFilter"] = ["GroupBaseInfoFilter" => ['GroupId'] ];
|
|
|
- $groupInfo = $tencentObj->toSend($data);
|
|
|
-// \app\common\model\Test::update(["content"=>json_encode($groupInfo)],["id"=>1]);
|
|
|
- return $groupInfo;
|
|
|
+ */
|
|
|
+ private function getJoindGroupList($user_id) {
|
|
|
+ $easemob = new Easemoblib();
|
|
|
+ $list = $easemob->room_listAllRoomsUserJoined($user_id);
|
|
|
+ return $list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取群组信息
|
|
|
*/
|
|
|
- public function getGroupInfo($party_id='0') {
|
|
|
- $party_id = !empty($party_id) ? $party_id : $this->request->param('part_id',0);
|
|
|
- $random = rand(10000000,99999999);
|
|
|
- $usersig = $this->usersig("administrator");
|
|
|
- // 获取配置信息
|
|
|
- $config = config("tencent_im");
|
|
|
- $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_group_info";
|
|
|
- $url .= "?sdkappid=".$config["sdkappid"];
|
|
|
- $url .= "&identifier=administrator";
|
|
|
- $url .= "&usersig=".$usersig;
|
|
|
- $url .= "&random==".$random;
|
|
|
- $url .= "&contenttype=json";
|
|
|
- $tencentObj = new tencentim($url);
|
|
|
- $data = [];
|
|
|
- $data["GroupIdList"] = [(string)$party_id];
|
|
|
- $data["ResponseFilter"] = [
|
|
|
- "GroupBaseInfoFilter" => ["GroupId","Type","Name","FaceUrl","Owner_Account","MemberNum"],
|
|
|
- "MemberInfoFilter" => ["Account","Role"],
|
|
|
- "AppDefinedDataFilter_Group" => ["roomInfo"],
|
|
|
- ];
|
|
|
- $groupInfo = $tencentObj->toSend($data);
|
|
|
- $this->success('获取成功',$groupInfo['GroupInfo']);
|
|
|
+ private function getGroupInfo($easemob_room_id = '230909515202562') {
|
|
|
+ $easemob = new Easemoblib();
|
|
|
+ $info = $easemob->room_getRoom($easemob_room_id);
|
|
|
+ return $info;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -404,18 +369,8 @@ class Easemob extends Api
|
|
|
\app\common\model\UserOnsiteTime::update($update,["user_id"=>$user_id,"status"=>1]);
|
|
|
|
|
|
//
|
|
|
- $redis = new Redis();
|
|
|
- $redisconfig = config("redis");
|
|
|
- $redis->connect($redisconfig["host"], $redisconfig["port"]);
|
|
|
- if ($redisconfig['redis_pwd']) {
|
|
|
- $redis->auth($redisconfig['redis_pwd']);
|
|
|
- }
|
|
|
- if($redisconfig['redis_selectdb'] > 0){
|
|
|
- $redis->select($redisconfig['redis_selectdb']);
|
|
|
- }
|
|
|
-
|
|
|
$room_type = Db::name('party')->where('id',$party_id)->value('room_type');
|
|
|
- $redisData = $redis->get($room_type."_".$party_id);
|
|
|
+ $redisData = $this->redis->get($room_type."_".$party_id);
|
|
|
|
|
|
if(!$redisData){
|
|
|
return true;
|
|
@@ -426,7 +381,7 @@ class Easemob extends Api
|
|
|
$partyuser = isset($partyInfo["party_user"])?$partyInfo["party_user"]:"";
|
|
|
if(is_array($partyuser)) foreach($partyuser as $k => $v) if($v === $userAvatar) unset($partyInfo["party_user"][$k]);
|
|
|
|
|
|
- $redis->set($room_type."_".$party_id,json_encode($partyInfo));
|
|
|
+ $this->redis->set($room_type."_".$party_id,json_encode($partyInfo));
|
|
|
|
|
|
}
|
|
|
|
|
@@ -434,81 +389,15 @@ class Easemob extends Api
|
|
|
* 取消排麦
|
|
|
*/
|
|
|
public function cancelLineUp($user_id,$party_id) {
|
|
|
- if (!$party_id || !$user_id) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- $redis = new Redis();
|
|
|
- $redisconfig = config("redis");
|
|
|
- $redis->connect($redisconfig["host"], $redisconfig["port"]);
|
|
|
- if ($redisconfig['redis_pwd']) {
|
|
|
- $redis->auth($redisconfig['redis_pwd']);
|
|
|
- }
|
|
|
- if($redisconfig['redis_selectdb'] > 0){
|
|
|
- $redis->select($redisconfig['redis_selectdb']);
|
|
|
- }
|
|
|
- $data=unserialize($redis->hGet("party_lineup",$party_id));
|
|
|
- // 更改红点排麦数量
|
|
|
- $num = 0;
|
|
|
- $send = false;
|
|
|
- if($data) foreach($data as $k => $v) {
|
|
|
- if($v["user_id"] == $user_id) {
|
|
|
- $send = true;
|
|
|
- unset($data[$k]);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- $redis->hSet("party_lineup",$party_id,serialize($data));
|
|
|
-
|
|
|
- if($send) {
|
|
|
- is_array($data) && $num = count($data);
|
|
|
-
|
|
|
- $random = rand(10000000,99999999);
|
|
|
- $usersig = $this->usersig("administrator");
|
|
|
- // 获取配置信息
|
|
|
- $config = config("tencent_im");
|
|
|
- $url = "https://console.tim.qq.com/v4/group_open_http_svc/send_group_msg";
|
|
|
- $url .= "?sdkappid=".$config["sdkappid"];
|
|
|
- $url .= "&identifier=administrator";
|
|
|
- $url .= "&usersig=".$usersig;
|
|
|
- $url .= "&random=".$random;
|
|
|
- $url .= "&contenttype=json";
|
|
|
- $tencentObj = new tencentim($url);
|
|
|
-
|
|
|
- $data = [];
|
|
|
- $data["GroupId"] = $party_id;
|
|
|
- $data["Random"] = rand(1000000,9999999);
|
|
|
- $message = [
|
|
|
- "message" => json_encode(["type"=>23,"content"=>$num]),
|
|
|
- "version" => "1.0",
|
|
|
- "action" => 301,
|
|
|
- "command" => ""
|
|
|
- ];
|
|
|
- $data["MsgBody"][] = [
|
|
|
- "MsgType" => "TIMCustomElem",
|
|
|
- "MsgContent" => [
|
|
|
- "Data"=> json_encode($message)
|
|
|
- ],
|
|
|
- ];
|
|
|
- $tencentObj->toSend($data);
|
|
|
- }
|
|
|
-
|
|
|
+ return false;
|
|
|
+ //因为没有排麦了,设计图就没这个功能,所以后面没了
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 强制下线
|
|
|
*/
|
|
|
public function downSite($user_id,$groupsites) {
|
|
|
- $random = rand(10000000,99999999);
|
|
|
- $usersig = $this->usersig("administrator");
|
|
|
- // 获取配置信息
|
|
|
- $config = config("tencent_im");
|
|
|
- $url = "https://console.tim.qq.com/v4/group_open_http_svc/modify_group_base_info";
|
|
|
- $url .= "?sdkappid=".$config["sdkappid"];
|
|
|
- $url .= "&identifier=administrator";
|
|
|
- $url .= "&usersig=".$usersig;
|
|
|
- $url .= "&random=".$random;
|
|
|
- $url .= "&contenttype=json";
|
|
|
- $tencentObj = new tencentim($url);
|
|
|
+ /*此处删减参考ggyuyin,api/tenim/downsite*/
|
|
|
|
|
|
// 先更新下麦时间
|
|
|
$update = [];
|
|
@@ -517,24 +406,7 @@ class Easemob extends Api
|
|
|
\app\common\model\UserOnsiteTime::update($update,["user_id"=>$user_id,"status"=>1]);
|
|
|
|
|
|
// 循环房间
|
|
|
- if($groupsites) foreach($groupsites as $k => $v) {
|
|
|
- // 循环座位
|
|
|
- $data = [];
|
|
|
- foreach($v["AppDefinedData"] as $m => $n) {
|
|
|
- // 解析字段信息
|
|
|
- $siteInfo = json_decode($n["Value"],true);
|
|
|
- if($m != 0 && isset($siteInfo["status"]) && $siteInfo["status"] == 1 && isset($siteInfo["status"]) && $siteInfo["user"] == $user_id) {
|
|
|
- $data["AppDefinedData"][] = [
|
|
|
- "Key" => $n["Key"],
|
|
|
- "Value" => '{"mute":false,"status":0,"user":""}',
|
|
|
- ];
|
|
|
- }
|
|
|
- }
|
|
|
- if(!empty($data)) {
|
|
|
- $data["GroupId"] = $v["GroupId"];
|
|
|
- return $tencentObj->toSend($data);
|
|
|
- }
|
|
|
- }
|
|
|
+ /*此处删减参考ggyuyin,api/tenim/downsite*/
|
|
|
}
|
|
|
|
|
|
|