lizhen_gitee 1 год назад
Родитель
Сommit
bfe027912c
2 измененных файлов с 67 добавлено и 44 удалено
  1. 21 44
      application/api/controller/Family.php
  2. 46 0
      application/common/service/UserService.php

+ 21 - 44
application/api/controller/Family.php

@@ -39,47 +39,6 @@ class Family extends Api
     }
 
 
-
-
-    /**
-     * 获取公会信息
-     */
-    public function getGuildInfo() {
-        $guild_id = input("guild_id"); //公会ID
-        $is_member = 0;
-        $user_id = $this->auth->id;
-
-
-        //结果
-        $res = [];
-
-        //公会信息
-        $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
-
-        // 获取公会成员信息
-        $guildMemberInfo = \app\common\model\FamilyMember::alias("a")
-            ->field("a.id,a.user_id,a.role,u.nickname,u.avatar,u.gender")
-            ->join("user u","a.user_id = u.id")
-            ->where(["a.guild_id"=>$guild_id])->where('a.status',1)->limit(10)->order("a.role","desc")->select();
-        if(!$guildInfo || !$guildMemberInfo) $this->error("家族信息获取失败!");
-
-        // 获取公会成员总数
-        $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();
-
-
-
-        // 返回参数拼接
-        $res["guildInfo"] = $guildInfo; // 公会基本信息
-        $res["guildMemberInfo"] = $guildMemberInfo; // 成员列表
-        $res["guildMemberCount"] = $guildMemberCount; // 成员总数
-        $res["guilderInfo"] = $guilderInfo; // 会长
-        $res["is_member"] = $is_member; // 是否为派对成员
-        $this->success("获取成功!",$res);
-    }
-
     /**
      * 获取公会信息-新
      */
@@ -87,20 +46,38 @@ class Family extends Api
         $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 = [];
 
         //公会信息
         $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
+        if(!$guildInfo) $this->error("家族信息获取失败!");
 
         // 获取公会成员信息
         $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();
-        if(!$guildInfo || !$guildMemberInfo) $this->error("家族信息获取失败!");
 
         // 获取公会成员总数
         $guildMemberCount = \app\common\model\FamilyMember::where(["guild_id"=>$guild_id])->where('status',1)->count("id");
@@ -115,7 +92,7 @@ class Family extends Api
             'user_id' => $user_id,
             'guild_id' => $guild_id,
         ];
-        $userRes = $userService->getGuildRole($userParams);
+        $userRes = $userService->getFamilyRole($userParams);
         $guildStatus = isset($userRes['data']['guild_role']) ? $userRes['data']['guild_role'] : 4;
 
         // 返回参数拼接

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

@@ -315,6 +315,52 @@ class UserService
             $guildWhere['id'] = $guildId;
             $guild = model('Guild')->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
+     */
+    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非成员