Sfoglia il codice sorgente

公会和派对接口完善

lizhen_gitee 1 anno fa
parent
commit
c80225c555

+ 2 - 2
application/admin/view/party/party/edit.html

@@ -69,12 +69,12 @@
             <input id="c-party_notice" class="form-control" name="row[party_notice]" type="text" value="{$row.party_notice|htmlentities}">
         </div>
     </div>
-    <!--<div class="form-group">
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Party_notice_detail')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-party_notice_detail" class="form-control" name="row[party_notice_detail]" type="text" value="{$row.party_notice_detail|htmlentities}">
         </div>
-    </div>-->
+    </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Platrate')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 48 - 6
application/api/controller/Guild.php

@@ -664,8 +664,8 @@ class Guild extends Api
         $memberInfo['online_text'] = $onlineText;
 
         //我在这个公会的角色
-        /*$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;*/
+        $myGuildMember = model('GuildMember')->field('role')->where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo->guild_id])->find();
+        $memberInfo["my_role"] = !empty($myGuildMember) ? $myGuildMember['role'] : 3;
 
         //几个比较大的值,改w单位
         $fieldArr = ['wealth','charm','gift_num'];
@@ -763,12 +763,8 @@ class Guild extends Api
         $member_id = input("member_id",0,"intval"); //成员ID
         if(!$guild_id || !$member_id) $this->error("参数缺失!");
 
-        // 先判断是否为公会会长
-        $user_id = $this->auth->id;
         // 获取公会信息
         $guildInfo = \app\common\model\Guild::where(["id"=>$guild_id])->find();
-        // 验证更新条件
-        if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是公会长,无权限更改!");
 
         $memberInfo = \app\common\model\GuildMember::where(["id"=>$member_id,'guild_id'=>$guild_id])->find();
         if(!$memberInfo) $this->error("会员信息查询失败!");
@@ -777,6 +773,10 @@ class Guild extends Api
             $this->error('会长不能被踢出公会');
         }
 
+        if($memberInfo['role'] == 1 && $this->auth->id !== $guildInfo->user_id) {
+            $this->error("族长才能踢出管理员");
+        }
+
         Db::startTrans();
         try{
             $res1 = $memberInfo->delete();
@@ -798,6 +798,48 @@ class Guild extends Api
             $this->error($e->getMessage());
         }
     }
+    /**
+     * 公会管理-自己退出公会
+     */
+    public function guildMemberQuit() {
+        $guild_id = input("guild_id",0,"intval"); //公会ID
+        if(!$guild_id) $this->error("参数缺失!");
+
+        // 获取公会信息
+        $guildInfo = \app\common\model\Guild::where(["id"=>$guild_id])->find();
+
+        $memberInfo = \app\common\model\GuildMember::where(["user_id"=>$this->auth->id,'guild_id'=>$guild_id])->find();
+        if(!$memberInfo) {
+            $this->error("会员信息查询失败!");
+        }
+
+        if($memberInfo['role'] == 2){
+            $this->error('公会长不能退出公会');
+        }
+
+
+        Db::startTrans();
+        try{
+            $res1 = $memberInfo->delete();
+            $res2 = \app\common\model\Guild::where(["id"=>$guild_id])->setDec("member");
+            if($res1 && $res2) {
+                Db::commit();
+
+                $this->success("退出成功!");
+            } else {
+                $this->error("网络错误,请稍后重试!");
+            }
+        }catch (ValidateException $e) {
+            Db::rollback();
+            $this->error($e->getMessage());
+        } catch (PDOException $e) {
+            Db::rollback();
+            $this->error($e->getMessage());
+        } catch (Exception $e) {
+            Db::rollback();
+            $this->error($e->getMessage());
+        }
+    }
 
     /**
      * 公会贡献榜排行

+ 4 - 1
application/api/controller/Party.php

@@ -1283,7 +1283,7 @@ class Party extends Api
         // 上麦模式:1=自由模式,2=麦序模式
         // 派对背景
         // 是否公开:1=是,0=否
-        $field_array = ['party_name','party_logo','party_pass'/*,'party_type'*/,'is_screen','on_model','background','is_public','party_notice'];
+        $field_array = ['party_name','party_logo','party_pass'/*,'party_type'*/,'is_screen','on_model','background','is_public','party_notice','party_notice_detail'];
 
         $data = [];
         foreach($field_array as $key => $field){
@@ -1342,6 +1342,9 @@ class Party extends Api
             if(isset($data['party_notice'])){
                 $matedata['party_notice'] = $data['party_notice'];
             }
+            if(isset($data['party_notice_detail'])){
+                $matedata['party_notice_detail'] = $data['party_notice_detail'];
+            }
             if(!empty($matedata)){
                 $easemob = new Easemob();
                 $rs = $easemob->room_setRoomCustomAttributeForced($partyInfo['easemob_room_id'],$partyInfo['user_id'],$matedata);