|
@@ -116,8 +116,6 @@ class Party extends Common
|
|
|
$this->error("房间数量已达上线,请联系客服!");
|
|
|
}
|
|
|
|
|
|
- /*$party_name = $this->auth->u_id."的房间"; // 派对名称
|
|
|
- $party_logo = "/assets/api/party_logo.png"; // 派对logo*/
|
|
|
$party_type = 8; // 派对类型(情感互动,心动点单 等)
|
|
|
$party_notice = "请编辑房间公告"; // 派对公告
|
|
|
$party_notice_detail = "请编辑房间公告内容!"; // 派对公告详情
|
|
@@ -141,53 +139,8 @@ class Party extends Common
|
|
|
$party_type = 7;
|
|
|
}
|
|
|
|
|
|
- //[环信]创建聊天室
|
|
|
- $easemob = new Easemob();
|
|
|
- $easemob_room_id = $easemob->room_createRoom($party_name,$party_name,$this->auth->id);
|
|
|
- if(empty($easemob_room_id)){
|
|
|
- $this->error('创建房间失败');
|
|
|
- }
|
|
|
-
|
|
|
- //[环信]初始化房间
|
|
|
- $matedata = [
|
|
|
- 'seatnum'=> $seatnum,//麦位数量
|
|
|
- 'waitsing_list' => json_encode([]),//已点歌曲列表
|
|
|
- 'party_name' => $party_name,//房名字
|
|
|
- 'party_logo' => $party_logo,//logo
|
|
|
- 'is_public' => $is_public,//是否公开
|
|
|
- 'room_type' => $room_type,//房间类型
|
|
|
- ];
|
|
|
- $rs = $easemob->room_setRoomCustomAttributeForced($easemob_room_id,$this->auth->id,$matedata);
|
|
|
-
|
|
|
- //[环信]初始化N个麦位
|
|
|
- $seatdata = [];
|
|
|
- for($i=1;$i<=$seatnum;$i++){
|
|
|
- $seat = [
|
|
|
- 'charm' => 0, //红心,魅力值
|
|
|
-
|
|
|
- 'isMaster' => false, // 是否是房主
|
|
|
- 'headUrl' => '', // 头像
|
|
|
- 'userNo' => '', // 座位上用户no
|
|
|
- 'rtcUid' => '', // 座位上用户id,与rtc的userId一致
|
|
|
- 'name' => '', // 座位上用户昵称
|
|
|
- 'seatIndex' => $i, // 座位编号
|
|
|
- 'chorusSongCode' => '', // 是否合唱
|
|
|
- 'isAudioMuted' => 1, // 是否静音
|
|
|
- 'isVideoMuted' => 0, // 是否开启视频
|
|
|
- ];
|
|
|
-
|
|
|
- //创建完房间就进入,所以房主直接在麦位1
|
|
|
- if($i == 1){
|
|
|
- $seat['isMaster'] = true;
|
|
|
- $seat['headUrl'] = localpath_to_netpath($this->auth->avatar);
|
|
|
- $seat['userNo'] = $this->auth->id;
|
|
|
- $seat['rtcUid'] = $this->auth->id;
|
|
|
- $seat['name'] = $this->auth->nickname;
|
|
|
- }
|
|
|
-
|
|
|
- $seatdata['seat'.$i] = json_encode($seat);
|
|
|
- }
|
|
|
- $rs = $easemob->room_setRoomCustomAttributeForced($easemob_room_id,$this->auth->id,$seatdata);
|
|
|
+ //创建房间,初始化环信
|
|
|
+ $easemob_room_id = $this->easemob_createroom($party_name,$party_logo,$seatnum,$is_public,$room_type);
|
|
|
|
|
|
//写入派对
|
|
|
Db::startTrans();
|
|
@@ -243,9 +196,7 @@ class Party extends Common
|
|
|
$this->redis->set($this->roomTypeArr[$room_type]."_".$partyInfo["id"],json_encode($partyInfo));
|
|
|
|
|
|
if($room_type != 2) {
|
|
|
- // 创建公会
|
|
|
- /*\app\common\model\Guild::createGuild($partyInfo["id"], $partyInfo["party_name"], $user_id);
|
|
|
- \app\common\model\User::update(["is_guild" => 3,'guild_id'], ["id" => $user_id]);*/
|
|
|
+
|
|
|
//更新家族 party_id
|
|
|
$guildWhere['user_id'] = $user_id;
|
|
|
$guildWhere['status'] = 1;
|
|
@@ -273,7 +224,12 @@ class Party extends Common
|
|
|
$partyInfo["is_new"] = 0;
|
|
|
//naming avatar type_name
|
|
|
|
|
|
- $easemob_room_id = $sqlPartyInfo['easemob_room_id'];
|
|
|
+ if(empty($sqlPartyInfo['easemob_room_id'])){
|
|
|
+ $easemob_room_id = $this->easemob_createroom($party_name,$party_logo,$seatnum,$is_public,$room_type);
|
|
|
+ }else{
|
|
|
+ $easemob_room_id = $sqlPartyInfo['easemob_room_id'];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//声网三个token
|
|
@@ -282,6 +238,59 @@ class Party extends Common
|
|
|
$this->success("获取成功!",$partyInfo);
|
|
|
}
|
|
|
|
|
|
+ //创建房间,初始化环信
|
|
|
+ private function easemob_createroom($party_name,$party_logo,$seatnum,$is_public,$room_type){
|
|
|
+ //[环信]创建聊天室
|
|
|
+ $easemob = new Easemob();
|
|
|
+ $easemob_room_id = $easemob->room_createRoom($party_name,$party_name,$this->auth->id);
|
|
|
+ if(empty($easemob_room_id)){
|
|
|
+ $this->error('创建房间失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ //[环信]初始化房间
|
|
|
+ $matedata = [
|
|
|
+ 'seatnum'=> $seatnum,//麦位数量
|
|
|
+ 'waitsing_list' => json_encode([]),//已点歌曲列表
|
|
|
+ 'party_name' => $party_name,//房名字
|
|
|
+ 'party_logo' => $party_logo,//logo
|
|
|
+ 'is_public' => $is_public,//是否公开
|
|
|
+ 'room_type' => $room_type,//房间类型
|
|
|
+ ];
|
|
|
+ $rs = $easemob->room_setRoomCustomAttributeForced($easemob_room_id,$this->auth->id,$matedata);
|
|
|
+
|
|
|
+ //[环信]初始化N个麦位
|
|
|
+ $seatdata = [];
|
|
|
+ for($i=1;$i<=$seatnum;$i++){
|
|
|
+ $seat = [
|
|
|
+ 'charm' => 0, //红心,魅力值
|
|
|
+
|
|
|
+ 'isMaster' => false, // 是否是房主
|
|
|
+ 'headUrl' => '', // 头像
|
|
|
+ 'userNo' => '', // 座位上用户no
|
|
|
+ 'rtcUid' => '', // 座位上用户id,与rtc的userId一致
|
|
|
+ 'name' => '', // 座位上用户昵称
|
|
|
+ 'seatIndex' => $i, // 座位编号
|
|
|
+ 'chorusSongCode' => '', // 是否合唱
|
|
|
+ 'isAudioMuted' => 1, // 是否静音
|
|
|
+ 'isVideoMuted' => 0, // 是否开启视频
|
|
|
+ ];
|
|
|
+
|
|
|
+ //创建完房间就进入,所以房主直接在麦位1
|
|
|
+ if($i == 1){
|
|
|
+ $seat['isMaster'] = true;
|
|
|
+ $seat['headUrl'] = localpath_to_netpath($this->auth->avatar);
|
|
|
+ $seat['userNo'] = $this->auth->id;
|
|
|
+ $seat['rtcUid'] = $this->auth->id;
|
|
|
+ $seat['name'] = $this->auth->nickname;
|
|
|
+ }
|
|
|
+
|
|
|
+ $seatdata['seat'.$i] = json_encode($seat);
|
|
|
+ }
|
|
|
+ $rs = $easemob->room_setRoomCustomAttributeForced($easemob_room_id,$this->auth->id,$seatdata);
|
|
|
+
|
|
|
+ return $easemob_room_id;
|
|
|
+ }
|
|
|
+
|
|
|
//声网3个token
|
|
|
public function shengwang_token($easemob_room_id,$return = 0){
|
|
|
|
|
@@ -842,6 +851,17 @@ class Party extends Common
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 解散房间
|
|
|
+ */
|
|
|
+ public function jiesan(){
|
|
|
+ $party_id = input('party_id',0);
|
|
|
+
|
|
|
+ $party_info = Db::name('party')->where('party_id',$party_id)->find();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 派对内搜索用户
|
|
|
*/
|
|
|
public function searchUserParty() {
|