From 7acd32c46cd943c2d91e930a8e15547f7f4482de Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 5 Jun 2023 15:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=A5=96=E5=8A=B1=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/pay_manager.lua | 33 ++++++++++++++++------- lua/app/common/sdk_pay_google_manager.lua | 4 +-- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/lua/app/common/pay_manager.lua b/lua/app/common/pay_manager.lua index 43d672ea..d4625774 100644 --- a/lua/app/common/pay_manager.lua +++ b/lua/app/common/pay_manager.lua @@ -133,18 +133,20 @@ function PayManager:purchasePackage(id, purchaseType) self:checkAndPay(productId, id, purchaseType, rechargeId) end -function PayManager:requestRewards(purchaseToken, orderId, originOrderId, giftType, id, rechargeId) +function PayManager:requestRewards(purchaseToken, orderId, originOrderId, notShowRewardsBox) self:sendMsgToServer(purchaseToken, orderId, function(binder, msgData) if msgData.status == 0 then - if msgData.rewards and table.nums(msgData.rewards) > 0 then -- 奖励改到邮件领取 - GFunc.showRewardBox(msgData.rewards) - end - BIReport:postPayGet(giftType, id, rechargeId, orderId, originOrderId, 1, msgData.rewards or {}) - local rechargeCfg = ConfigManager:getConfig("recharge")[rechargeId] - if rechargeCfg then - BIReport:postPurchase(rechargeCfg.price, rechargeCfg.payId, originOrderId, orderId) + if msgData.rewards and table.nums(msgData.rewards) > 0 then + local showRewards = not notShowRewardsBox + if DataManager.TutorialData and DataManager.TutorialData:getIsInTutorial() then -- 引导时不弹 + showRewards = false + end + if showRewards then + GFunc.showRewardBox(msgData.rewards) + end end + local biPayGetInfo = {} table.foreach(msgData.gift, function(i, gift) local cfgName = PayManager.PURCHARSE_TYPE_CONFIG[gift.act_type] local cfgInfo = ConfigManager:getConfig(cfgName)[gift.id] @@ -152,8 +154,21 @@ function PayManager:requestRewards(purchaseToken, orderId, originOrderId, giftTy DataManager.PlayerData:addPayment(rechargeId) DataManager.ShopData:addPayment(rechargeId) -- 降档版本 DataManager.ShopData:updateGiftInfo(gift) + table.insert(biPayGetInfo, { + giftType = gift.act_type, + giftId = gift.id, + rechargeId = cfgInfo.recharge_id + }) end) + for _, info in ipairs(biPayGetInfo) do + BIReport:postPayGet(info.giftType, info.giftId, info.rechargeId, orderId, originOrderId, 1, msgData.rewards or {}) + local rechargeCfg = ConfigManager:getConfig("recharge")[info.rechargeId] + if rechargeCfg then + BIReport:postPurchase(rechargeCfg.price, rechargeCfg.payId, originOrderId, orderId) + end + end + -- 支付验证成功后消耗此订单 if purchaseToken then SDKManager:consumePurchase(purchaseToken) @@ -186,7 +201,7 @@ function PayManager:checkAndPay(productId, id, purchaseType, rechargeId) BIReport:postPayTurn(giftType, id, rechargeId) SDKManager:pay(productId, msgData.uuid, rechargeId, giftType, function(purchaseToken, orderId, originOrderId) if purchaseToken and orderId then - self:requestRewards(purchaseToken, orderId, originOrderId, giftType, id, rechargeId) + self:requestRewards(purchaseToken, orderId, originOrderId) end end) else -- 没有支付信息,直接发奖 diff --git a/lua/app/common/sdk_pay_google_manager.lua b/lua/app/common/sdk_pay_google_manager.lua index a935bb5a..68f8a649 100644 --- a/lua/app/common/sdk_pay_google_manager.lua +++ b/lua/app/common/sdk_pay_google_manager.lua @@ -28,7 +28,7 @@ function SDKPayGoogleManager.onGooglePayDelayCallback(code, msg) return end if result.obfuscatedAccountId then - PayManager:requestRewards(purchaseToken, result.obfuscatedAccountId) + PayManager:requestRewards(purchaseToken, result.obfuscatedAccountId, result.orderId) end end end @@ -125,7 +125,7 @@ function SDKPayGoogleManager:reqPayReward(uncompleteList, productId, callback) elseif uncompleteOrder.purchaseToken then -- 去服务器验证 if uncompleteOrder.obfuscatedAccountId then - PayManager:requestRewards(uncompleteOrder.purchaseToken, uncompleteOrder.obfuscatedAccountId) + PayManager:requestRewards(uncompleteOrder.purchaseToken, uncompleteOrder.obfuscatedAccountId, uncompleteOrder.orderId, true) else SDKManager:consumePurchase(uncompleteOrder.purchaseToken, function() index = index + 1