Description
opened by kouho at 2025-07-25T20:57:23; updated 2025-07-30T11:46:43
概要
仕様書
https://docs.google.com/spreadsheets/d/181i6VUOWLRfMVX_bkHqy6PMekdmGvpxtywXr5iVVH44/edit?gid=873565837#gid=873565837
実装シート
https://docs.google.com/spreadsheets/d/1KeEvVBqLumGGgA_izqDUH0ovnPys48e6CIGQrd5KQss/edit?gid=0#gid=0
TODO
- [x] メインページ看板対応
- [x] チェックリスト作成
- [x] 海賊団ページ(近いランキング対応
- [ ] 参照が汚い
Comment
#41631 by kouho at 2025-07-25T20:57:35; updated 2025-07-25T20:57:35
Comment
#41632 by wada at 2025-07-26T10:07:02; updated 2025-07-26T10:08:13
@kouho ①
Raid_rental_deck.phpとlog_team_raid_monster_per_damage.phpのcreate_log引数にteam_noが追加されている理由はなんですか?
Comment
#41633 by wada at 2025-07-26T10:08:42; updated 2025-07-26T10:08:42
@kouho ②
チームランキングのチーム移動周りの仕様は、どこかにまとまって記載されていますか?
Comment
#41634 by kouho at 2025-07-27T05:43:56; updated 2025-07-27T05:43:56
@wada
① シートに記載できておりませんでしたが、log_team_raid_monster_per_damageのテーブルにteam_noカラムを追加してます。
チームランキング追加にあたりどのチームでいつ、誰がいくらのダメージを出したかのログを確認できる場所を作成するためにteam_noをカラムに追加しようとしています。
(既存データでログを確認できる場所があればこの更新は戻します。
②チーム移動周りの仕様についてはSlackにも仕様書にもまとめれていないです。口頭で確認したことをベースにしておりました。
- イベント終了時に所属しているチームを参照して報酬配布(注意事項に記載)
- チームの移籍自体は従来通り可能とする
- チームランキング用のダメージはユーザーが所属するチームにカウントされ、ユーザーが移籍してもチームの合計ダメージは変動しない
Comment
#41635 by wada at 2025-07-27T16:59:57; updated 2025-07-27T16:59:57
@kouho
① 記載をお願いします。
② 記載をお願いします。
Comment
#41636 by wada at 2025-07-27T17:09:45; updated 2025-07-27T17:09:45
@kouho
③ user_raid_damage.phpで使用していないメソッドがありますが、リリースまでに参照する予定はありますか?
なければ削除か使用していない旨記載お願いします。
Comment
#41637 by wada at 2025-07-27T17:24:38; updated 2025-07-27T17:24:38
@kouho
④user_raid_damageテーブルは開催回ごとにTRUNCATEやログ移動などを実施しますか?
Comment
#41638 by wada at 2025-07-27T17:27:55; updated 2025-07-27T17:27:55
@kouho
⑤user_raid_damage.phpのget_sum_damage_by_team_noメソッドのmysqlクエリをローカルで実行したところインデックスが効いておらず全レコードスキャンになっていました。
こちらの環境だけかもしれませんが確認お願いします。
Comment
#41639 by wada at 2025-07-27T17:52:19; updated 2025-07-27T17:52:19
@kouho
⑥user_raid_damage.phpのget_rank_by_team_noメソッドで、順位を全データ取得してループする方式を採用していますが、event_ranking_team_raid_monster.inc内のsqlクエリと一部重複しています。
個人ランキングの方ではポイントからsqlクエリで順位を取得する方法を採っていますが、今回そちらを採用しなかった理由はなんですか?
#ループ方式
①全件取得
②自分のチームまでループ
③順位をキャッシュ保存
#ポイント方式
①自分のポイントより多いのチーム数をカウント
②結果をキャッシュ保存
Comment
#41640 by wada at 2025-07-27T18:09:32; updated 2025-07-27T18:09:32
@kouho
⑦ランキングページで「累積」と「累計」で表記ゆれがあります。
<img src="https://jolly-gitbucket.curl-catla.ts.net/gitbucket/jolly/jr-web/_attached/17536073167956urpMnVn9i" width="300">
Comment
#41641 by wada at 2025-07-27T18:16:58; updated 2025-07-27T18:16:58
@kouho
⑧user_raid_damage.phpのget_by_user_noメソッド、get_sum_damage_by_team_noメソッドですが、結果が1件になるので$this->query()ではなく$this->query_one()で良いと思います。
wada add_label at 2025-07-27T18:21:43: コメントあり
Comment
#41652 by wada at 2025-07-28T09:19:39; updated 2025-07-28T09:19:39
@kouho
⑨event_ranking_team_raid_monster.inc内のsqlクエリのLIMIT 3000はどのような意図がありますか?
Comment
#41653 by wada at 2025-07-28T09:21:17; updated 2025-07-28T09:21:17
@kouho
⑩イベント終了時のチームデータ確定スクリプトはいつどのように実行しますか?
Comment
#41654 by kouho at 2025-07-28T10:36:22; updated 2025-07-28T10:36:22
@wada
確認ありがとうございます。
記載いたしました。
> ① 記載をお願いします。
② 記載をお願いします。
create_tableメソッドを削除しました
> ③user_raid_damage.phpで使用していないメソッドがありますが、リリースまでに参照する予定はありますか?
なければ削除か使用していない旨記載お願いします。
> 考慮できておりませんでした。プランナーにデータを残しておきたいかを確認し対応を決めます。
④user_raid_damageテーブルは開催回ごとにTRUNCATEやログ移動などを実施しますか?
INDEXを追加します。SQLのCREATE TABLE更新しましたが、
CREATE INDEX idx_event_team ON user_raid_damage(event_no, team_no);
> ⑤user_raid_damage.phpのget_sum_damage_by_team_noメソッドのmysqlクエリをローカルで実行したところインデックスが効いておらず全レコードスキャンになっていました。
こちらの環境だけかもしれませんが確認お願いします。
表記揺れ修正しました。
> ⑦ランキングページで「累積」と「累計」で表記ゆれがあります。
修正しました
> ⑧user_raid_damage.phpのget_by_user_noメソッド、get_sum_damage_by_team_noメソッドですが、結果が1件になるので$this->query()ではなく$this->query_one()で良いと思います。
> 元にしたスクリプトのままでした。LIMITが不要でしたので削除しました。
⑨event_ranking_team_raid_monster.inc内のsqlクエリのLIMIT 3000はどのような意図がありますか?
> イベント終了時の8/8 0:00にcronを回す予定です。
⑩イベント終了時のチームデータ確定スクリプトはいつどのように実行しますか?
Comment
#41655 by kouho at 2025-07-28T10:42:21; updated 2025-07-28T10:42:21
@wada
プランナー確認してデータを残しておかなくても大丈夫とのことでした。テーブル参照もあり運用を極力軽くするため、開催回毎にTRUNCATEの対応でいきます。
> ④user_raid_damageテーブルは開催回ごとにTRUNCATEやログ移動などを実施しますか?
Comment
#41659 by wada at 2025-07-28T14:50:27; updated 2025-07-28T14:50:27
@kouho
再確認
> ① シートに記載できておりませんでしたが、log_team_raid_monster_per_damageのテーブルにteam_noカラムを追加してます。
log_raid_rental_deck_damgeにもteam_noカラムを追加するのであれば記載をお願いします。
---
> ③user_raid_damage.phpで使用していないメソッドがありますが、リリースまでに参照する予定はありますか?
get_sum_damage_by_all_team_noメソッドは使用する予定ですか?
---
> ⑤INDEXを追加します。SQLのCREATE TABLE更新しました
毎回テーブルをtruncateするのでインデックスが多くなっても問題ないですが、おそらくsqlクエリでgroup byを使用すればインデックスは効くと思います。
---
> ⑥user_raid_damage.phpのget_rank_by_team_noメソッドで、順位を全データ取得してループする方式を採用していますが、event_ranking_team_raid_monster.inc内のsqlクエリと一部重複しています。
対応待ち
---
> ⑧user_raid_damage.phpのget_by_user_noメソッド、get_sum_damage_by_team_noメソッドですが、結果が1件になるので$this->query()ではなく$this->query_one()で良い
get_by_user_noメソッドのみの対応で大丈夫ですか?
呼び出し側の修正をお願いします。
---
> ⑨元にしたスクリプトのままでした。LIMITが不要でしたので削除しました。
ランキングページに全チーム表示するということであっていますか?
確認済み
②チームランキングのチーム移動周りの仕様記載
④user_raid_damageテーブルのTRUNCATEやログ移動
⑦ランキングページ表記ゆれ
⑩イベント終了時のチームデータ確定スクリプト
Comment
#41660 by wada at 2025-07-28T15:24:52; updated 2025-07-28T15:24:52
@kouho
⑪user_raid_damageテーブルのdamageカラムがint型なので桁あふれの可能性があります。
Comment
#41661 by wada at 2025-07-28T15:50:52; updated 2025-07-28T15:50:52
@kouho
⑫event_end_team_raid_monster.incで以下の確認お願いします。
um.total_raid_point > 0
AND urd.event_no = %d
AND urd.damage >= $d //%dです
$val['uu'], //存在しません
$event_no,
$val['ut'] //存在しません
Comment
#41662 by wada at 2025-07-28T15:54:54; updated 2025-07-28T15:55:37
@kouho
⑬チームダメージランキング報酬配布スクリプト(tool_event_raid_team_present.inc)を実行したところ、各報酬1チームしか配布されませんでした。
Comment
#41663 by wada at 2025-07-28T16:17:27; updated 2025-07-28T16:17:27
@kouho
⑭10分ごとの集計スクリプト(event_ranking_team_raid_monster.inc)は、event_ranking_raid_monster.incと同じくevent_ranking_event_island.shで呼び出しますか?
Comment
#41664 by kouho at 2025-07-28T16:46:08; updated 2025-07-28T16:46:08
@wada
log_raid_rental_deck_damgeの記載をSQLに追加しました。
>① シートに記載できておりませんでしたが、log_team_raid_monster_per_damageのテーブルにteam_noカラムを追加してます。
>
log_raid_rental_deck_damgeにもteam_noカラムを追加するのであれば記載をお願いします。
get_sum_damage_by_all_team_noメソッドも使用しない予定なので削除しました。
> ③user_raid_damage.phpで使用していないメソッドがありますが、リリースまでに参照する予定はありますか?
>
> get_sum_damage_by_all_team_noメソッドは使用する予定ですか?
get_by_user_noメソッド以外にget_sum_damage_by_team_noも修正しました。
呼び出し側も修正しました
> ⑧user_raid_damage.phpのget_by_user_noメソッド、get_sum_damage_by_team_noメソッドですが、結果が1件になるので$this->query()ではなく$this->query_one()で良い
>
> get_by_user_noメソッドのみの対応で大丈夫ですか?
> 呼び出し側の修正をお願いします。
bigintにCREATE文を修正しました
> ⑪user_raid_damageテーブルのdamageカラムがint型なので桁あふれの可能性があります。
同じくevent_ranking_event_island.shで呼び出します
> ⑭10分ごとの集計スクリプト(event_ranking_team_raid_monster.inc)は、event_ranking_raid_monster.incと同じくevent_ranking_event_island.shで呼び出しますか?
その他
メインページの看板表示対応を入れました。
元々の看板→タップで看板用モーダルを開く
チームランキング用の看板→タップでチームランキングページを開く の対応でいっています
(黄さんと順に表示だけでよいかを相談)
Comment
#41665 by kouho at 2025-07-28T16:56:39; updated 2025-07-28T16:56:39
@wada
event_end_team_raid_monster.inc修正しました
> ⑫event_end_team_raid_monster.incで以下の確認お願いします。
>
um.total_raid_point > 0
AND urd.event_no = %d
AND urd.damage >= $d //%dです
$val['uu'], //存在しません
$event_no,
$val['ut'] //存在しません
Comment
#41666 by kouho at 2025-07-28T17:17:03; updated 2025-07-28T17:17:03
@wada
順位の集計方法が違うため、S_GetRaidSumDamageRank関数よりもevent_ranking_team_raid_monster.incと同じ方式を取っておりました。無駄はあるかもですが、このままで今回は行きます。global変数を使うように修正しました。
> ⑥user_raid_damage.phpのget_rank_by_team_noメソッドで、順位を全データ取得してループする方式を採用していますが、event_ranking_team_raid_monster.inc内のsqlクエリと一部重複しています。
>
対応待ち
Comment
#41667 by kouho at 2025-07-28T17:37:14; updated 2025-07-28T17:37:14
@wada
黄さんに確認して、全チームではなく、300位まで表示したいとのことなのでLIMIT 300に変更しました。
> ⑨元にしたスクリプトのままでした。LIMITが不要でしたので削除しました。
>
ランキングページに全チーム表示するということであっていますか?
Comment
#41668 by wada at 2025-07-28T17:52:25; updated 2025-07-28T17:52:25
@kouho
以下確認しました。
①ダメージログテーブルにteam_noカラムの追加
②チームランキングのチーム移動周りの仕様記載
③user_raid_damage.phpの使用していないメソッド
④user_raid_damageテーブルのTRUNCATEやログ移動
⑤user_raid_damage.phpのget_sum_damage_by_team_noメソッドのsqlクエリ
⑥user_raid_damage.phpのget_rank_by_team_noメソッド
⑦ランキングページ表記ゆれ
⑧user_raid_damage.phpのget_by_user_noメソッド、get_sum_damage_by_team_noメソッド
⑨event_ranking_team_raid_monster.incのsqlクエリのLIMIT 3000
⑩イベント終了時のチームデータ確定スクリプト
⑪user_raid_damageテーブルのdamageカラム桁あふれ
⑫event_end_team_raid_monster.inc修正
⑭10分ごとの集計スクリプト
確認中
⑬チームダメージランキング報酬配布スクリプト
Comment
#41672 by kouho at 2025-07-29T10:37:55; updated 2025-07-29T10:37:55
@wada
報酬配布スクリプト修正しました
> ⑬チームダメージランキング報酬配布スクリプト(tool_event_raid_team_present.inc)を実行したところ、各報酬1チームしか配布されませんでした。
Comment
#41694 by wada at 2025-07-29T16:55:59; updated 2025-07-29T16:55:59
@kouho
ランキング集計を1週間ごとに3回Slack通知しているようですが、どのような理由がありますか?
集計しているかどうかだけならランキングページを見れば良いですし。
Comment
#41695 by wada at 2025-07-29T17:04:48; updated 2025-07-29T17:04:48
wada delete_label at 2025-07-29T17:04:52: コメントあり
wada add_label at 2025-07-29T17:04:53: 和田 LGTM
Comment
#41698 by kouho at 2025-07-29T17:20:54; updated 2025-07-29T17:20:54
@wada
初の試みなのでSlack通知入れましたがランキングページ見ればいいだけはそのとおりなので削除しました。
> ランキング集計を1週間ごとに3回Slack通知しているようですが、どのような理由がありますか?
集計しているかどうかだけならランキングページを見れば良いですし。
kouho merge at 2025-07-30T11:46:43: 【7/29】レイドチームランキング対応
kouho close at 2025-07-30T11:46:43: Close