ソースを参照

战令接口xiugai

cyzhao 7 ヶ月 前
コミット
43b7b201b6

+ 28 - 11
Gameserver/App/process/ActiveProc.php

@@ -488,45 +488,62 @@ class ActiveProc {
      * 6109 战令奖励领取
      */
     public static function BattlePassDrawReward() {
-        list($type,$id) = req()->paras;                                               
+        list($id) = req()->paras;                                               
 
         $mo = GameConfig::activity_battlepass_getItem($id);                     # 查询奖励数据
         my_Assert(null != $mo, ErrCode::err_const_no);                          # 防御找不到配置
         $subFunType = $mo->type;
         $typeId = $mo->typeId;
-        $str = $subFunType.'-'.$type.'-'.$typeId;
         
+        $str_1 = $subFunType.'-1-'.$typeId;       
+        $str_2 = $subFunType.'-2-'.$typeId;        
+        $isHasBuy_high = false;
         switch ($subFunType) {
             case Enum_SubFunType::ActivePoint_BattlePass:
                 $point =ctx()->privateState->battlePass_taskPoint;                         
                 my_Assert($typeId >= $point, ErrCode::active_pointNotEnough);
-
+                
+                if(ctx()->privateState->battlePass_activePoint_cost_ts > 0 && now() < ctx()->privateState->battlePass_activePoint_cost_ts + 30*24*60*60){
+                    $isHasBuy_high = true;
+                }
+                
                 break;
             case Enum_SubFunType::Tili_BattleBass:
                 my_Assert($typeId >= ctx()->privateData()->battlePass_tili, ErrCode::active_costTiliNotEnough);
-
+                if(ctx()->privateState->battlePass_tili_cost_ts > 0 && now() < ctx()->privateState->battlePass_tili_cost_ts + 30*24*60*60){
+                    $isHasBuy_high = true;
+                }
                 break;
             case Enum_SubFunType::Gate_BattleBass:
                 my_Assert(StlUtil::dictHasProperty(ctx()->gates->GateList,$typeId), ErrCode::gate_GateNoUnlock);
                 my_Assert(ctx()->gates->GateList->$typeId->pass > 0, ErrCode::evolve_GateNoPass);
-                                                
+                                      
+                if(ctx()->privateState->battlePass_gate_cost_ts > 0 && now() < ctx()->privateState->battlePass_gate_cost_ts + 30*24*60*60){
+                    $isHasBuy_high = true;
+                }
                 break;
 
             default:
                 break;
         }
-        my_Assert(!in_array($str, ctx()->privateState->battlePassRewardReceived), ErrCode::active_hasgetted);
-        $key = 'rewards_'.$type;
-        StoreProc::AddMultiItemInStore($mo->$key);                              # 发放奖励
         
-        ctx()->privateData(true)->battlePassRewardReceived[] = $str;
-               
+        if(!in_array($str_1, ctx()->privateState->battlePassRewardReceived)){         
+            StoreProc::AddMultiItemInStore($mo->rewards_1);                     # 发放奖励
+            ctx()->privateData(true)->battlePassRewardReceived[] = $str_1;
+        }
+        
+        //my_Assert(!in_array($str_1, ctx()->privateState->battlePassRewardReceived), ErrCode::active_hasgetted);
+        if($isHasBuy_high && !in_array($str_2, ctx()->privateState->battlePassRewardReceived)){
+            StoreProc::AddMultiItemInStore($mo->rewards_2);                     # 发放奖励
+            ctx()->privateData(true)->battlePassRewardReceived[] = $str_2;
+        }
+                                                 
         UserProc::updateUserInfo();                                             # 回存
         return Resp::ok(array('gold' => ctx()->baseInfo->gold,
                     'cash' => ctx()->baseInfo->cash,
                     'store' => ctx()->store,
                     'heros' => ctx()->heros,
-                    //'privateState' => ctx()->privateState,
+                    'privateState' => ctx()->privateState,
                     'reward' => StoreProc::$reward,
                     'reward_Gem' => StoreProc::$reward_Gem,
         ));

+ 1 - 3
Gameserver/App/process/PayProc.php

@@ -57,9 +57,7 @@ class PayProc {
             case CmdCode::cmd_mpay_UserRechargeDrawPrize:                       # 8814 充值领奖励 2022.10
                 return self::UserRechargeDrawPrize();
             case CmdCode::cmd_mpay_NewFirstRecharge:                            # 8815 新首充功能 2022.10
-                return self::NewFirstRecharge();
-            case CmdCode::cmd_pay_buyDay7_Sign_High:                            # 8816 购买高级7日签到
-                return self::buyDay7_Sign_High();
+                return self::NewFirstRecharge();           
             default:
                 return Resp::err(ErrCode::cmd_err);
         }

+ 20 - 0
Gameserver/App/process/ShopProc.php

@@ -148,6 +148,26 @@ class ShopProc {
                     'reward_Gem' => StoreProc::$reward_Gem,
         ));
     }
+    
+    public static function BattlePass_TextPay($type, $typeId, $buyNum) {
+        $mo = GameConfig::shop_getItem($typeId);
+        
+        switch ($mo->shopItemType) {
+            case 'battlePass_gate':
+                    ctx()->privateData(true)->battlePass_gate_cost_ts = now();
+                    break;
+                case 'battlePass_activePoint':
+                    ctx()->privateData(true)->battlePass_activePoint_cost_ts = now();
+                    break;
+                case 'battlePass_tili':
+                    ctx()->privateData(true)->battlePass_tili_cost_ts = now();
+                    break;
+            default:
+                break;
+        }
+        
+        
+    }
 
     /*
      * 商城章节礼包购买