PR

【10/22】コインガチャチケット使用時ログ記録 #1237

kouho opened this at 2021-10-19T19:14:46; closed

Description

opened by kouho at 2021-10-19T19:14:46; updated 2025-11-06T14:42:54

概要

コインガチャチケット利用時と獲得時の情報をログを残すようにするPRです。
コインガチャチケットの情報が不明瞭過ぎるため対応しました。

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

CREATE TABLE `log_gacha_ticket` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_no` int(11) NOT NULL,
  `before_count` smallint(11) NOT NULL,
  `after_count` smallint(11) NOT NULL,
  `type` tinyint(11) NOT NULL COMMENT '1:獲得 2:消費',
  `status` smallint(11) NOT NULL COMMENT 'type1の場合は1がプレゼントから獲得,2がその他type2の場合はgacha_no',
  `reg_date` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  • プレゼントからガチャチケット受け取り時にログに記録されるか
  • ステップアップガチャでガチャチケット利用時にログに記録されるか

TODO

  • プレゼントからの獲得以外でチケットが直接増減する箇所がないかの確認
  • アイテムセットにガチャチケットが含まれる場合に耐えるようにする必要があるかどうか。現状は耐えない?
kouho add_label at 2021-10-19T19:14:50: デベロップへマージ
kouho add_label at 2021-10-19T19:14:55: レビュー待ち
kouho assign at 2021-10-19T19:14:58: Not assigned:kouho

Comment

#14492 by kouho at 2021-10-19T19:15:26; updated 2021-10-19T19:15:26

@wada @iwamoto
確認お願いいたします。

Comment

#14504 by wada at 2021-10-20T14:34:07; updated 2021-10-20T14:34:07

@kouho
ある程度レコード数が増えると思うので、検索用のインデックスを追加して欲しいです。

idにnullを入れるのを初めて見たのですが、これでも大丈夫ですか?

#S_LogGachaTicket
$sqlSt = sprintf( "
	INSERT INTO
		`log_gacha_ticket`
			VALUES
		(NULL,%d,%d,%d,%d,%d,'%s')
;"

Comment

#14505 by kouho at 2021-10-20T15:01:54; updated 2021-10-20T15:01:54

@wada
確認ありがとうございます。検索用のインデックス了解です。
以下のインデックスを追加します。

ALTER TABLE log_gacha_ticket ADD INDEX user_no_type_status_reg_date (user_no,type,status,reg_date);

idはAUTO_INCREMENTでNOT NULLなのでidにNULLを指定した場合、自動的にシーケンス番号が割り当てられるので大丈夫ですが、確かにジョリーで同じような書き方の箇所が見つかりませんでしたのでINSERT文の書き方を変更しました。
https://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html

Comment

#14509 by wada at 2021-10-20T17:34:55; updated 2021-10-20T17:34:55

@kouho
確認しました。OKです
用途が分からないのでインデックスに関しては明言できませんが、
期間ごとやガチャごとのようなuser_noに紐付かない集計をとる場合はありませんか?

wada add_label at 2021-10-20T17:35:12: 和田 LGTM

Comment

#14511 by kouho at 2021-10-20T17:53:49; updated 2021-10-20T17:53:49

@wada
目的がユーザーごとの所持ガチャチケットが何枚から何枚になったかを明確にすることなので、
user_noに紐付かない集計をすることは考えなくて大丈夫だと思います。

もしも特定期間内のガチャチケット使用枚数やガチャごとのチケット使用枚数を知りたい場合は
log_user_gacha_statusから見ればわかりますので。

Comment

#14513 by wada at 2021-10-20T18:31:25; updated 2021-10-20T18:31:25

@kouho
了解です。用途としては、個人のガチャチケット増減を確認するということですね。
管理画面上でチケットの日ごとの獲得数や、消費数などを表示したりする可能性があるのか気になったので確認しました。

Comment

#14515 by iwamoto at 2021-10-20T19:40:31; updated 2021-10-20T19:40:31

@kouho
上記指摘のコード以外は問題ないと思います。

Comment

#14527 by kouho at 2021-10-21T13:26:46; updated 2021-10-21T13:26:46

@iwamoto
確認ありがとうございます。指摘箇所を修正しました。

Comment

#14529 by iwamoto at 2021-10-21T14:46:40; updated 2021-10-21T14:46:40

@kouho
確認しました。
問題ないと思います。

iwamoto add_label at 2021-10-21T14:46:46: 岩本 LGTM
kouho merge at 2021-10-21T15:10:27: 【10/22】コインガチャチケット使用時ログ記録
kouho close at 2021-10-21T15:10:27: Close
kouho refer at 2021-10-21T15:54:12: 1242:【10/21】ガチャチケットログ対応

commit comment

#93 by iwamoto at 2021-10-20T19:36:28; lib/public/Bar-MonsterGachaExec.inc / old:None new:218
2e9232346018bf5926720b72af2c1a4ca7f82aed

こちらコードの修正をお願い致します。
$user_info['gacha_ticket'-1

Commit range

baseb28ee0a8c286b73ad3cd5b2a7eaa23d17aa21195
head0f09d5d65d7addfffd50dbb136b03eb591a9cd45
base branchjolly/jr-web:develop
head branchjolly/jr-web:change_gacha_ticket_log

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed14 filesView patch
statusfile
modifiedlib/SubFunc.inc
modifiedlib/ajax/present_getResult.inc
modifiedlib/mobile/Bar__GachaExec.inc
modifiedlib/mobile/Bar__MonsterGachaExec.inc
modifiedlib/mobile/Bar__PickupGachaExec.inc
modifiedlib/mobile/Bar__SPGachaExec.inc
modifiedlib/mobile/Present__Default.inc
modifiedlib/models/Gacha_payment.php
modifiedlib/models/Shop_payment.php
modifiedlib/public/Bar-GachaExec.inc
modifiedlib/public/Bar-MonsterGachaExec.inc
modifiedlib/public/Bar-PickupGachaExec.inc
modifiedlib/public/Bar-SPGachaExec.inc
modifiedlib/public/Present-Default.inc
Patch body is stored as a separate file to keep this page lightweight.

Review comment

#93 by iwamoto at 2021-10-20T19:36:28; lib/public/Bar-MonsterGachaExec.inc / old:None new:218
2e9232346018bf5926720b72af2c1a4ca7f82aed

こちらコードの修正をお願い致します。
$user_info['gacha_ticket'-1