Browse Source

首充弹框功能

cyzhao 9 months ago
parent
commit
7dec7ddfd8

+ 2 - 0
Gameserver/App/base/CmdCode.php

@@ -15,6 +15,8 @@ class CmdCode {
      * 领取首付礼包
      */
     const cmd_pay_getfirstpaygift = 8802;
+    
+    const cmd_pay_resetFirstRechargeUI_OpenTip = 8803;
 
 // <editor-fold defaultstate="collapsed" desc="移动支付">
 //---------- 移动端 支付API 操作码 ----

+ 6 - 0
Gameserver/App/model/User/Info_PrivateState.php

@@ -297,6 +297,12 @@ class Info_PrivateState extends Object_ext {
      * @var type
      */
     public $firstRecharge_receiveTag = 0;
+    
+    /**
+     * 首充弹出提示
+     * @var type
+     */
+    public $firstRechargeUI_OpenTip = 1;
 
     public function initialize() {
         $this->junbeiShopNumRecord = new \stdClass();

+ 1 - 1
Gameserver/App/process/FightProc.php

@@ -713,7 +713,7 @@ class FightProc {
         TaskProc::OnKillCommonNumMonster($killMonsterNum);
         TaskProc::OnKillleaderNumMonster($killBossNum);
         TaskProc::OnFightGate_X($gateId);
-
+                     
         UserProc::updateUserInfo();
         $ret = array(
             'gates' => ctx()->gates,

+ 14 - 0
Gameserver/App/process/PayProc.php

@@ -31,6 +31,8 @@ class PayProc {
             // 支付相关的活动
             case CmdCode::cmd_pay_getfirstpaygift:                              # 8802 领取首充礼包
                 return PayProc::m_GetFirstPayGift();
+            case CmdCode::cmd_pay_resetFirstRechargeUI_OpenTip:                 # 8803 弹框 
+                return PayProc::resetFirstRechargeUI_OpenTip();
 // 游戏内二级货币消费
             case CmdCode::cmd_mpay_pay:                                         # 8807 消费..
                 return self::m_pay();                                           # ::==> 购买普通商城物品
@@ -57,6 +59,15 @@ class PayProc {
                 return Resp::err(ErrCode::cmd_err);
         }
     }
+    
+    /**
+     * 
+     */
+    static function resetFirstRechargeUI_OpenTip(){
+        ctx()->privateState->firstRechargeUI_OpenTip = 0;
+        UserProc::updateUserInfo();
+        return Resp::ok();
+    }
 
     static $retArr;
 
@@ -904,6 +915,9 @@ class PayProc {
                 StoreProc::AddMultiItemInStore($mo->reward);                            # 发放首付礼包到玩家仓库
             }
         }              
+        
+        ctx()->privateState->firstRechargeUI_OpenTip = 0;
+        
         UserProc::updateUserInfo();                                             # 更新玩家数据
      
         return Resp::ok(array('gold' => ctx()->baseInfo->gold,

+ 5 - 1
Gameserver/App/process/ShopProc.php

@@ -425,9 +425,13 @@ class ShopProc {
         ctx()->baseInfo->charge_amt += $mo->price;        
         ctx()->privateState->cashShopReceived[] = $typeId;
         
+        if(ctx()->privateState->firstRecharge_receiveTag == 0){
+            ctx()->privateState->firstRechargeUI_OpenTip = 1;
+        }
+        
         if(ctx()->privateState->firstRecharge_receiveTag < 1){
             ctx()->privateState->firstRecharge_receiveTag = 1;
-        }
+        }              
         TaskProc::OnRecharge();
     }
 

+ 10 - 0
Gameserver/App/process/UserProc.php

@@ -339,6 +339,16 @@ class UserProc {
             UserProc::updateUserInfo();                                         # 这一步回存操作只有在 userInfo正常存在的情况下才进行
 
             self::OnLogin_DateDeal();
+            //ctx()->privateState->firstRechargeUI_OpenTip = 1;
+            if(ctx()->baseInfo->charge_amt == 0){
+                ctx()->privateState->firstRechargeUI_OpenTip = 1;
+            } else {
+                $num = ctx()->privateState->firstRecharge_receiveTag;
+                if(!in_array($num, ctx()->privateState->firstRechargeRewardRecord)){
+                    ctx()->privateState->firstRechargeUI_OpenTip = 1;
+                }                                           
+            }
+            
             
             $resp = Resp::ok($game);                                            # 设置返回值
             self::updtateUserZoneInfo();                                        # 1. 更新玩家分区记录