浏览代码

家族成员详情调整

zhangxiaobin 1 年之前
父节点
当前提交
ffdff18aae
共有 2 个文件被更改,包括 48 次插入10 次删除
  1. 44 10
      application/api/controller/Guild.php
  2. 4 0
      application/common/model/GuildMember.php

+ 44 - 10
application/api/controller/Guild.php

@@ -396,12 +396,27 @@ class Guild extends Api
         $is_pass = $this->request->request("is_pass"); // 是否通过:1=通过,-1=拒绝
         if(!in_array($is_pass,[1,-1]) || !$joinin_id) $this->error("参数错误!");
         $user_id = $this->auth->id;
+        $memberfind = \app\common\model\GuildMember::where(["user_id"=>$user_id,"status"=>1])->find();
+        if($memberfind) $this->error("该用户已有家族!");
         // 获取申请信息
         $joininInfo =  \app\common\model\GuildJoinin::where(["id"=>$joinin_id])->find();
+        if ($is_pass == 1) {//清理其他公会未审核的数据
+            if (!empty($joininInfo)) {
+                $joinWhere['user_id'] = $joininInfo['user_id'];
+                $joinWhere['guild_id'] = ['neq',$joininInfo['guild_id']];
+                $joinWhere['status'] = 0;
+                $joinData = model('GuildJoinin')->where($joinWhere)->select();
+                if (!empty($joinData)) {
+                    $joinIds = array_column($joinData,'id');
+                    $delWhere['id'] = ['in',$joinIds];
+                    model('GuildJoinin')->where($delWhere)->delete();
+                }
+            }
+        }
         // 获取公会信息
         $guildInfo = \app\common\model\Guild::where(["id"=>$joininInfo->guild_id])->find();
         // 验证更新条件
-        if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是公会长,无权限更改!");
+        if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是长,无权限更改!");
 
         // 获取用户信息
         $userInfo = \app\common\model\User::field("id,u_id,mobile,nickname")->where(["id"=>$joininInfo->user_id])->find();
@@ -443,14 +458,14 @@ class Guild extends Api
                 $res4 = \app\common\model\Guild::where(["id"=>$guildInfo->id])->setInc("member");
                 if($res1 && $res2 && $res3 && $res4) {
                     // +message
-                    \app\common\model\Message::addMessage($joininInfo->user_id,"公会审核通知","恭喜,您的加入公会审核通过啦!公会ID:".$guildInfo->g_id);
+                    \app\common\model\Message::addMessage($joininInfo->user_id,"家族审核通知","恭喜,您的加入家族审核通过啦!家族ID:".$guildInfo->g_id);
                     Db::commit();
                     $this->success("已审核通过!");
                 }
             } else {
                 if($res1 && $res2) {
                     // +message
-                    \app\common\model\Message::addMessage($joininInfo->user_id,"公会审核通知","您的公会加入申请,公会长审核失败,没关系,调整姿势再来一遍!");
+                    \app\common\model\Message::addMessage($joininInfo->user_id,"家族审核通知","您的家族加入申请,族长审核失败,没关系,调整姿势再来一遍!");
                     Db::commit();
                     $this->success("已审核拒绝!");
                 }
@@ -605,14 +620,33 @@ class Guild extends Api
     public function getGuildMemberInfo() {
         $member_id = $this->request->request("member_id",0,"intval"); //公会成员ID
         if($member_id <= 0) $this->error("参数错误!");
-        $memberInfo = \app\common\model\GuildMember::alias("a")
-            ->join("hx_user u","u.id = a.user_id")
-            ->field("u.id,u.avatar,u.nickname,u.gender,u.age,a.wealth,a.charm,a.gift_num,a.role,a.guild_id,a.createtime,u.logintime")
-            ->find($member_id);
+        $memberInfo = model('GuildMember')
+            ->field('id,user_id,wealth,charm,gift_num,role,guild_id,createtime')
+            ->with(['user'=>function($uQuery){
+                $uQuery->field('id,avatar,nickname,gender,age,logintime,age_id,constellation_id,province_id,city_id');
+            }])->find($member_id);
         if(!$memberInfo) $this->error("用户信息获取失败!");
-        $memberInfo["createtime"] = date("Y-m-d",$memberInfo["createtime"]);
-        $memberInfo["logintime"] = date("Y-m-d",$memberInfo["logintime"]);
-        $memberInfo["my_role"] = \app\common\model\GuildMember::where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo->guild_id])->value("role");
+        $userData  = isset($memberInfo['user']) ? $memberInfo['user'] : [];
+        $gender    = isset($userData['gender']) ? $userData['gender'] : 1;
+        $logintime = isset($userData['logintime']) ? $userData['logintime'] : 0;
+        $userFieldInt = ['age'];
+        $userFieldStr = ['avatar','nickname','age_text','constellation_text','province_text','city_text'];
+        foreach ($userFieldInt as $keyInt => $valInt) {
+            if (!isset($memberInfo[$valInt])) {
+                $memberInfo[$valInt] = isset($userData[$valInt]) ? $userData[$valInt] : 0;
+            }
+        }
+        foreach ($userFieldStr as $keyStr => $valStr) {
+            if (!isset($memberInfo[$valStr])) {
+                $memberInfo[$valStr] = isset($userData[$valStr]) ? $userData[$valStr] : '';
+            }
+        }
+        unset($memberInfo['user']);
+        $memberInfo['gender_text'] = $gender == 1 ? '男' : '女';
+        $memberInfo["createtime"] = !empty($memberInfo["createtime"]) ? date("Y-m-d", $memberInfo["createtime"]) : '';
+        $memberInfo["logintime"] = !empty($logintime) ? date("Y-m-d", $logintime) : '';
+        $myGuildMember = model('GuildMember')->field('role')->where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo->guild_id])->find();
+        $memberInfo["my_role"] = !empty($myGuildMember) ? $myGuildMember['role'] : -1;
         $this->success("获取成功!",$memberInfo);
     }
 

+ 4 - 0
application/common/model/GuildMember.php

@@ -14,4 +14,8 @@ class GuildMember extends Model
     // 定义时间戳字段名
     protected $createTime = 'createtime';
 
+    public function user()
+    {
+        return $this->hasOne('User', 'id', 'user_id',[],'LEFT');
+    }
 }