Description
概要
https://docs.google.com/spreadsheets/d/1PNPX-w4M65C9ZKwZgyFhk2A-g9IdhjbmRvKDF71z1Tc/edit?gid=795307172#gid=795307172
Gesoten版でガチャが引けない問題にも対応
問題の概要:
Gesoten版で技玉ガチャ実行時にショップページに戻りガチャを引くことができない。
上記を解消しても、技玉ガチャ結果画面でゲソコインの表示がNANになってしまう、技玉ガチャ演出が連続で再生される問題が発生。
対応内容:
shop_payment.inc shop_select.inc
技玉ガチャ購入時に secret_keyが空に。
lib/ajax/shop_payment.inc で技玉ガチャの購入時にsecret_keyが空のときにキャッシュから決済結果を復元して、決済JSONを返す
SubFunc_gesoten.inc, Shop_payment.php, Shop_payment_gesoten.php
コイン残高を整数化して表示崩れの防止修正の詳細
Gesotenの技玉ガチャ購入後に決済結果が取得できずショップへリダイレクトされる症状を、決済完了APIが常に購入結果JSONを返すよう整備し、結果をメモリキャッシュからフォールバック取得できるようにして解消。
lib/SubFunc/SubFunc_gesoten.inc:548
新規 S_gesoten_GetShopPaymentResult() を追加し、メモキャッシュから決済結果を復元、need_coin/last_coin を整数初期化。既存のアイテム・ガチャ・酒場購入処理でもコイン残高を int キャストして null によるフロント崩れを防止。
lib/ajax/shop_payment.inc:11
Gesoten決済完了時、secret_key が空や 0 の場合にフォールバック結果を即返却。技玉ガチャ用 skillball_shop_item_numbers を判定し、専用のガチャ購入API (S_gesoten_PurchaseGachaBilling) を実行、結果を secret_key 付きで返却・redirect_url を除いたデータを注文単位/ユーザー単位にキャッシュして再取得を可能化。
lib/ajax/shop_select.inc:3
技玉ガチャ選択時に月次技玉ガチャを検証非対象アイテムは従来どおり。
lib/models/Shop_payment.php:114
/ lib/models/Shop_payment_gesoten.php:66
決済結果の need_coin/last_coin を存在チェック後に整数化し、外部APIがコイン値を返さないケースでもUIが0表示で安定。
各所でキャッシュ書き込み(lib/ajax/shop_payment.inc:41 など)を追加し、再アクセス時に結果が取得できずリダイレクトする問題を防止。