Browse Source

家族大调整

lizhen_gitee 1 năm trước cách đây
mục cha
commit
3f33dcea15

+ 29 - 40
application/api/controller/Family.php

@@ -79,27 +79,6 @@ class Family extends Api
      */
     public function getGuildInfoNew() {
         $guild_id = input("guild_id"); //公会ID
-        $is_member = 0;
-        $user_id = $this->auth->id;
-        if($guild_id <= 0) {
-            $is_member = 1;
-            // 获取当前用户是否是公会成员
-            $idcardfind = \app\common\model\FamilyMember::where(["user_id"=>$user_id,"status"=>0])->find();
-            if($idcardfind) $this->error("您存在加入家族的申请,正在审核中,请耐心等待!");
-
-            $memberfind = \app\common\model\FamilyMember::where(["user_id"=>$user_id,"status"=>1])->find();
-            if($memberfind) $guild_id = $memberfind->guild_id;
-
-            $guildWhere['user_id'] = $user_id;
-            $guildWhere['status'] = ['in',[0,1]];
-            $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,party_id,desc,notice,status")->where($guildWhere)->find();
-
-            if(!$guild_id) {
-                $res["is_member"] = 2; // 是否为派对成员
-                $res["guild_status"] = isset($guildInfo['status']) ? (int)$guildInfo['status'] : -2; // 是否为派对成员
-                $this->success("获取成功!",$res);
-            }
-        }
 
         //结果
         $res = [];
@@ -108,36 +87,35 @@ class Family extends Api
         $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,easemob_group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
         if(!$guildInfo) $this->error("家族信息获取失败!");
 
+
         // 获取公会成员信息
-        $guildMemberInfo = \app\common\model\FamilyMember::alias("a")
+        /*$guildMemberInfo = \app\common\model\FamilyMember::alias("a")
             ->field("a.id,a.user_id,a.role,u.nickname,u.avatar,u.gender")
             ->join("hx_user u","a.user_id = u.id")
-            ->where(["a.guild_id"=>$guild_id])->where('a.status',1)->limit(10)->order("a.role","desc")->select();
+            ->where(["a.guild_id"=>$guild_id])->where('a.status',1)->limit(10)->order("a.role","desc")->select();*/
 
         // 获取公会成员总数
-        $guildMemberCount = \app\common\model\FamilyMember::where(["guild_id"=>$guild_id])->where('status',1)->count("id");
+        //$guildMemberCount = \app\common\model\FamilyMember::where(["guild_id"=>$guild_id])->where('status',1)->count("id");
 
         // 获取会长信息
-        $guilderInfo = \app\common\model\User::field("avatar,nickname,u_id")->where(["id"=>$guildInfo->user_id])->find();
+       // $guilderInfo = \app\common\model\User::field("avatar,nickname,u_id")->where(["id"=>$guildInfo->user_id])->find();
 
 
-        //获取家族角色
-        $userService =  new UserService();
-        $userParams = [
-            'user_id' => $user_id,
-            'guild_id' => $guild_id,
-        ];
-        $userRes = $userService->getFamilyRole($userParams);
-        $guildStatus = isset($userRes['data']['guild_role']) ? $userRes['data']['guild_role'] : 4;
+        //获取家族角色 角色:0=成员,1=副会长,2=会长,3=非会员
+        $guildMember = \app\common\model\FamilyMember::field('id,role,status')->where(['guild_id'=>$guild_id,'user_id'=>$this->auth->id,'status'=>1])->find();
+        if (!empty($guildMember)) {
+            $guildRole = $guildMember['role'];
+        }else{
+            $guildRole = 3;
+        }
 
         // 返回参数拼接
         $res["guildInfo"] = $guildInfo; // 公会基本信息
-        $res["guildMemberInfo"] = $guildMemberInfo; // 成员列表
-        $res["guildMemberCount"] = $guildMemberCount; // 成员总数
-        $res["guilderInfo"] = $guilderInfo; // 会长
-        $res["is_member"] = $is_member; // 是否为派对成员
-        $res['guild_status'] = $guildStatus; //家族状态
-        $res['guild_role'] = $guildStatus; //家族角色:1组长,2副族长,3成员,4非成员
+       // $res["guildMemberInfo"] = $guildMemberInfo; // 成员列表
+        //$res["guildMemberCount"] = $guildMemberCount; // 成员总数
+        //$res["guilderInfo"] = $guilderInfo; // 会长
+//        $res['guild_status'] = $guildStatus; //家族状态
+        $res['guild_role'] = $guildRole; //家族角色
         $this->success("获取成功!",$res);
     }
 
@@ -569,6 +547,10 @@ class Family extends Api
             $memberInfo->updatetime = time();
             $res = $memberInfo->save();
             if($res) {
+                //[环信]取消群组管理员
+                $easemob = new Easemob();
+                $easemob->group_removeGroupAdmin($guildInfo['easemob_group_id'],$memberInfo['user_id']);
+
                 $this->success("取消成功!");
             } else {
                 $this->error("网络错误,请稍后重试!");
@@ -580,7 +562,9 @@ class Family extends Api
         $memberInfo->updatetime = time();
         $res = $memberInfo->save();
         if($res) {
-
+            //[环信]设置群组管理员
+            $easemob = new Easemob();
+            $easemob->group_addGroupAdmin($guildInfo['easemob_group_id'],$memberInfo['user_id']);
 
             $this->success("设置成功!");
         } else {
@@ -616,6 +600,11 @@ class Family extends Api
             $res2 = \app\common\model\Family::where(["id"=>$guild_id])->setDec("member");
             if($res1 && $res2) {
                 Db::commit();
+
+                //[环信]移除群组成员
+                $easemob = new Easemob();
+                $easemob->group_removeGroupMember($guildInfo['easemob_group_id'],$memberInfo['user_id']);
+
                 $this->success("踢出成功!");
             } else {
                 $this->error("网络错误,请稍后重试!");

+ 19 - 0
application/common/library/Easemob.php

@@ -75,6 +75,25 @@ class Easemob {
         return $rs;
     }
 
+    //移除一个群组成员
+    public function group_removeGroupMember($groupId,$user_id)
+    {
+        $rs = $this->group->removeGroupMember($groupId,$user_id);
+        return $rs;
+    }
+
+    //添加一个管理员
+    public function group_addGroupAdmin($groupId,$user_id){
+        $rs = $this->group->addGroupAdmin($groupId,$user_id);
+        return $rs;
+    }
+
+    //移除一个管理员
+    public function group_removeGroupAdmin($groupId,$user_id){
+        $rs = $this->group->removeGroupAdmin($groupId,$user_id);
+        return $rs;
+    }
+
     /////////////////////////////////管理聊天室/////////////////////////////
     //https://docs-im-beta.easemob.com/document/server-side/chatroom.html
 

+ 0 - 46
application/common/service/UserService.php

@@ -342,52 +342,6 @@ class UserService
     }
 
     /**
-     * 获取用户家族角色
-     * @return void
-     */
-    public function getFamilyRole($params=[])
-    {
-        $result = [
-            'status' => 1,
-            'msg' => '操作成功',
-            'data' => [],
-        ];
-        try {
-            $userId = isset($params['user_id']) ? $params['user_id'] : 0;
-            $guildId = isset($params['guild_id']) ? $params['guild_id'] : 0;
-            if (empty($userId) || empty($guildId)) {
-                throw new Exception('参数错误');
-            }
-            $guildWhere['id'] = $guildId;
-            $guild = model('Family')->where($guildWhere)->find();
-            if (empty($guild)) {
-                throw new Exception('未找到家族信息');
-            }
-            $guildRole = 4;//家族角色:1组长,2副族长,3成员,4非成员
-            if ($userId == $guild['user_id']) {
-                $guildRole = 1;
-            }
-            $guildMemberWhere['guild_id'] = $guildId;
-            $guildMemberWhere['user_id'] = $userId;
-            $guildMember = model('GuildMember')->field('id,role')->where($guildMemberWhere)->find();
-            if (!empty($guildMember)) {
-                if ($guildMember['role'] == 0) {
-                    $guildRole = 3;
-                } elseif ($guildMember['role'] == 1) {
-                    $guildRole = 2;
-                }
-            }
-            $result['data'] = [
-                'guild_role' => $guildRole,
-            ];
-        } catch (Exception $e) {
-            $result['status'] = 0;
-            $result['msg'] = $e->getMessage();
-        }
-        return $result;
-    }
-
-    /**
      * 更新用户消费/魅力/礼物数据
      * @return void
      */