PR

ガチャデバッグ対応 #1981

wada opened this at 2022-06-20T19:19:03; closed

Description

opened by wada at 2022-06-20T19:19:03; updated 2022-06-29T16:47:55

概要

【管理画面】ガチャのデバッグ状態を管理する #1665
案2. master_gachaを更新せずに調整 のための対応

master_gachaの一部クエリをmaster_gachaクラスに移動して、キャッシュ対応
ガチャテストデータがキャッシュにあれば、取得したガチャデータを上書き
(※ガチャテストデータは管理画面から設定予定)

テスト方法、確認した内容

S_GetBoxGachaMaster()S_GetGachaMaster()を使用している箇所で問題が出ていないか

以下のような対応で、ガチャデータが更新されているか確認してください

$data = [];
$gacha = S_LoadModelClass('dao/master_gacha')->get_by_id(250);
foreach ($gacha as $val) {
	$val['price'] = $val['gacha_type'];
	$val['start_time'] = '2022-06-01 00:00:00';
	$data[$val['gacha_id']][$val['gacha_type']] = $val;
}
$cache_name = $_df['MEMCACHE_NAME'].sprintf("test_master_gacha_%d_%d", $user_info['user_no'], $user_info['reg_date']);
S_SetMemcachedToDB($cache_name, $data, DateTimeUtil::DAYS_SEC);
wada change_title at 2022-06-23T11:25:52: [WIP]ガチャデバッグ対応 ガチャデバッグ対応
wada add_label at 2022-06-23T11:25:57: レビュー待ち

Comment

#20296 by wada at 2022-06-23T11:26:16; updated 2022-06-23T11:26:16

@kouho
レビューお願いします。

Comment

#20305 by kouho at 2022-06-23T17:48:38; updated 2022-06-23T17:48:38

@wada
復刻プレミアムガチャを回そうとするとエラー画面になりまして確認していただきたいです。

!スクリーンショット 2022-06-23 17

Comment

#20307 by wada at 2022-06-23T18:03:01; updated 2022-06-23T18:03:01

@kouho
以下の内容を教えてください。
・実行したガチャ
・ガチャのマスタ設定(特に期間)
master_gacha_{$gacha_id}キャッシュの中身
test_master_gacha_{$user_no}_{$reg_date}を利用したか

Comment

#20309 by kouho at 2022-06-23T18:17:37; updated 2022-06-23T18:17:37

@wada
復刻プレミアムガチャだとキャッシュが利用されていないように見えます。

  • 実行したガチャ

245 ヴァンピール復刻プレミアムガチャ

  • ガチャのマスタ設定

start_time 2022-05-30 12:00:00
end_time 2022-06-01 23:59:59

  • master_gacha_{$gacha_id} キャッシュの中身

キャッシュが存在しません。

  • test_master_gacha_{$user_no}_{$reg_date} を利用したか

キャッシュが存在しません。
S_GetGachaMasterが呼ばれてmaster_gachaのget_active_by_pk の中でquery_with_cacheは呼ばれていないので利用されていない

Comment

#20311 by wada at 2022-06-23T18:23:42; updated 2022-06-23T18:23:42

@kouho
テストキャッシュが利用されていないという問題でしたか。了解しました。

Comment

#20326 by wada at 2022-06-24T12:15:57; updated 2022-06-24T12:15:57

本番でデータ不整合が起こると嫌なので、通常のデータ取得ではキャッシュ使用しないよう修正
テストデータ使用時のみキャッシュを使用して、ガチャデータ上書き

Comment

#20401 by wada at 2022-06-28T11:15:39; updated 2022-06-28T11:15:39

@kouho
複雑なことをせずにクエリ実行後、テストデータをマージする方法に変更しました。
キャッシュは使用せず(テストデータは使用)、クエリも既存と同じものに変更しました。

Comment

#20451 by kouho at 2022-06-29T14:50:26; updated 2022-06-29T14:50:26

@wada
確認OKです。問題ないかと。

kouho add_label at 2022-06-29T14:50:29: 皇甫 LGTM
wada merge at 2022-06-29T16:47:55: ガチャデバッグ対応
wada close at 2022-06-29T16:47:55: Close

Commit range

base724128e8a0868dd2501a54b3158df5662d1ea7b7
heade562baa6116f7f3785ff08cf8d9b7a4407ae2b4b
base branchjolly/jr-web:develop
head branchjolly/jr-web:gacha_debug

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed2 filesView patch
statusfile
modifiedlib/SubFunc.inc
modifiedlib/models/dao/master_gacha.php
Patch body is stored as a separate file to keep this page lightweight.