Ver Fonte

背包不影响爆币

lizhen_gitee há 1 ano atrás
pai
commit
e9d94fa45d
1 ficheiros alterados com 28 adições e 56 exclusões
  1. 28 56
      application/api/controller/Party.php

+ 28 - 56
application/api/controller/Party.php

@@ -1779,34 +1779,7 @@ class Party extends Api
         $this->success("获取成功!",\app\common\model\PartyHeadgif::field("id,name,gif_image")->order("weight","asc")->select());
     }
 
-    /**
-     * 随机获取礼物盒礼物
-     */
-    private function getBoxGift($gift_box_type) {
-        // 查询本奖池内礼物是否还有可抽礼物
-        $where = [];
-        $where["Jackpot_id"] = $gift_box_type;
-        $where["is_use"] = 0;
-        $boxhasgift = \app\common\model\GiftBox::where($where)->select();
-        $giftcount = count($boxhasgift);
-
-        $giftArr = [];
-        foreach($boxhasgift as $k => $v) $giftArr[$v["id"]] = $v;
-
-        if($giftcount > 1) {
-            // 随机抽取$num个礼物
-            $giftids = array_rand($giftArr,1);
-            \app\common\model\GiftBox::update(["is_use"=>1],["id"=>$giftids]);
-        }
-        if($giftcount == 1) {
-            $giftids = $boxhasgift[0]["id"];
-            // 更新宝箱奖池全部礼物为未使用
-            \app\common\model\GiftBox::update(["is_use"=>0],["Jackpot_id"=>$gift_box_type]);
-        }
-        $giftInfo = $giftArr[$giftids];
 
-        return $giftInfo;
-    }
 
 
     /**
@@ -1877,16 +1850,20 @@ class Party extends Api
 
         if($is_back == 1) {
             // 获取背包礼物信息
-            $giftInfo = Db::name('gift_back')->field('gift_id')->where('id',$gift_id)->find();
-            if(!$giftInfo){
+            $giftbackInfo = Db::name('gift_back')->field('gift_id')->where('id',$gift_id)->find();
+            if(!$giftbackInfo){
                 $this->error("背包礼物获取失败");
             }
-            $backGiftId = $giftInfo['gift_id'];
+            $backGiftId = $giftbackInfo['gift_id'];
 
             // 随机获取一个礼物
             $allCount = $number*$userCount;
             $giftbackList = Db::name('gift_back')->field('id,value,name,image,gif_image,number')->where(["gift_id"=>$backGiftId,"user_id"=>$userauthid,'is_use'=>0])->limit($allCount)->order('id asc')->select();
+
             $giftInfo = isset($giftbackList[0]) ? $giftbackList[0] : [];
+            $gift_realinfo = Db::name('gift')->field('is_baobi')->where('id',$backGiftId)->find();
+            $giftInfo['is_baobi'] = $gift_realinfo ? $gift_realinfo['is_baobi'] : 0;
+
             $giftcount = 0;
             $giftList = [];
 
@@ -1914,7 +1891,7 @@ class Party extends Api
 
             // 获取礼物信息
 
-            $giftInfo = Db::name('gift')->field('id,value,name,image,special,is_baobi')->where('id',$gift_id)->find();
+            $giftInfo = Db::name('gift')->field('id,value,name,image,special as gif_image,is_baobi')->where('id',$gift_id)->find();
             if (!$giftInfo) {
                 $this->error("请选择礼物!");
             }
@@ -1943,11 +1920,10 @@ class Party extends Api
         $guilderRate = $partyInfo->guilderRate; // 房主抽成百分比,包括公会房主,普通房房主
 
         //爆币礼物单独比例
-        if($is_back != 1){
-            if(isset($giftInfo['is_baobi']) && $giftInfo['is_baobi'] == 1){
-                $platRate    = config('site.baobi_gift_platrate');
-                $guilderRate = config('site.baobi_gift_guilderrate');
-            }
+
+        if(isset($giftInfo['is_baobi']) && $giftInfo['is_baobi'] == 1){
+            $platRate    = config('site.baobi_gift_platrate');
+            $guilderRate = config('site.baobi_gift_guilderrate');
         }
 
 
@@ -2123,17 +2099,20 @@ class Party extends Api
             }
 
             //爆币
-            $res_baobi = $this->baobi($this->auth->id,$data["gift_id"],$giftCountValue,$giftInfo["value"]);
-            if($res_baobi === false){
-                Db::rollback();
-                $this->error('爆币失败');
-            }elseif($res_baobi === true){
-                $returnData['baobi_total'] = 0;
-                $returnData['baobi_beilv'] = 0;
-            }else{
-                //爆币了
-                $returnData['baobi_total'] = $res_baobi['baobi_total'];
-                $returnData['baobi_beilv'] = $res_baobi['baobi_beilv'];
+            if(isset($giftInfo['is_baobi']) && $giftInfo['is_baobi'] == 1){
+
+                $res_baobi = $this->baobi($this->auth->id,$data["gift_id"],$giftCountValue,$giftInfo["value"]);
+                if($res_baobi === false){
+                    Db::rollback();
+                    $this->error('爆币失败');
+                }elseif($res_baobi === true){
+                    $returnData['baobi_total'] = 0;
+                    $returnData['baobi_beilv'] = 0;
+                }else{
+                    //爆币了
+                    $returnData['baobi_total'] = $res_baobi['baobi_total'];
+                    $returnData['baobi_beilv'] = $res_baobi['baobi_beilv'];
+                }
             }
 
             // 获取用户魅力值。大概率没用了
@@ -2158,15 +2137,8 @@ class Party extends Api
 
             if($i == $userCount) {
 
-                if($is_back != 1) {
-
-                    $returnData["image"] = $giftInfo["image"];
-                    $returnData["gif_image"] = $giftInfo["special"];
-
-                } else {
-                    $returnData["image"] = $giftInfo["image"];
-                    $returnData["gif_image"] = $giftInfo["gif_image"];
-                }
+                $returnData["image"] = $giftInfo["image"];
+                $returnData["gif_image"] = $giftInfo["gif_image"];
 
                 // 增加抽点记录