PR

【5/1】GWキャンペーンフィーバータイム調整 #4636

wada opened this at 2026-04-30T14:02:12; closed

Description

opened by wada at 2026-04-30T14:02:12; updated 2026-05-01T15:19:15

概要

GW特別キャンペーンのフィーバー内容調整

変更内容

  • config.weekend_reward_point_rate3 -> 2 に変更
  • 土日にキャンペーンページへログインした際、砂時計ゲージを 12時間 付与
  • ログイン付与は 土曜 0:00-23:59日曜 0:00-23:59 で各1回
  • 土日は砂時計ゲージの上限を解除
  • 月曜 0:00 以降にキャンペーンページへログインした際、12時間 を超えている砂時計ゲージを 12時間 まで補正
  • 土日にミッション達成報酬を受け取った際、砂時計ゲージを 1時間 付与
  • 砂時計ゲージの純粋な増減を記録する調整ログテーブルを追加
  • 既存の砂時計使用ログ・報酬受取ログとは役割を分けて管理

実装方針

  • 土日ログイン時の付与・平日補正は JrControllerSlotCampaignQuest::_actDefault() 導線で同期
  • 報酬受取時の1時間付与は send_reward_with_point() 経由で実施
  • 土日の上限解除は stock_time 正規化処理で吸収
  • 変更履歴は log_slot_campaign_quest_stock_time_adjust に記録
  • 土日ログイン付与
  • 土日報酬受取付与
  • 懐中時計あふれ分加算
  • 平日上限補正

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

  • php tests/slot_campaign_quest/run.php

TODO

  • [x] デザイン調整

Comment

#45716 by kouho at 2026-04-30T14:57:54; updated 2026-04-30T14:57:54

@wada
stock_timeが超過した状態で、日曜から月曜に切り替わる際に、画面を開きっぱなしなどで砂時計ブーストを使用すると、12時間からではなく、超過したstock_timeから引かれました。
フィーバータイム終了後は最大は12時間をベースにするべきだと思いますので確認をお願いいたします。

kouho add_label at 2026-04-30T14:57:57: コメントあり
wada assign at 2026-04-30T16:33:58: Not assigned:wada

Comment

#45729 by wada at 2026-04-30T16:42:39; updated 2026-04-30T16:42:39

@kouho
確認ありがとうございます。修正しました。
また、トランザクション不要だったので削除しました。

> stock_timeが超過した状態で、日曜から月曜に切り替わる際に、画面を開きっぱなしなどで砂時計ブーストを使用すると、12時間からではなく、超過したstock_timeから引かれました。

Comment

#45739 by kouho at 2026-04-30T18:02:20; updated 2026-04-30T18:02:20

@wada
対応ありがとうございます。修正確認OKです。

Comment

#45745 by wada at 2026-05-01T09:24:02; updated 2026-05-01T09:24:02

@kouho
以下のUI対応しました。この後プランナーに確認しつつ調整します。

UI対応内容

  • 土日ログイン時、砂時計ゲージ12時間付与が発生した初回のみ専用モーダルを表示
  • 土日のクエストタブのみ、タブ下にフィーバータイム告知バナーを表示し、告知導線を右側に配置
  • 土日のみ、砂時計ゲージ付近に上限解放中バッジを表示
  • 土日ボーナス対象ミッションの獲得ポイント表示を2倍表示にし、目立つデザインに変更
  • ポイント下の補足テキスト「砂時計ゲージ1時間増加」を表示
  • 土日達成クエストの報酬受け取り後モーダルを「〇〇ptと砂時計ゲージ1時間を獲得しました。」に変更

Comment

#45759 by kouho at 2026-05-01T10:04:10; updated 2026-05-01T10:04:10

@wada
UI対応内容については確認しました。以下要望と意見です。

動作

  • ページリロードでの通知の再表示

 砂時計ブースト利用、報酬受取時などの通知の表示時にページのリロードまたはブラウザバック時に通知が再度表示されます。
 週末の砂時計獲得表示では一度しか表示されませんので、リロード時の通知の再表示をなくせませんか。

要望

  • 達成時をベースにすることを踏まえると、報酬受取ボタン表示時にはミッションの達成時間も表示させませんか。
wada change_title at 2026-05-01T11:20:53: [WIP]【5/1】GWキャンペーンフィーバータイム調整 【5/1】GWキャンペーンフィーバータイム調整
kouho add_label at 2026-05-01T13:17:58: 皇甫 LGTM
kouho delete_label at 2026-05-01T13:18:00: コメントあり
kouho delete_label at 2026-05-01T13:18:11: 皇甫 LGTM

Comment

#45780 by wada at 2026-05-01T13:55:53; updated 2026-05-01T13:55:53

@kouho
フィーバーバナーを画像にしてリンク先をフィーバー予告にしました。

いったん保留して、終了対応を優先します。
> ページリロードでの通知の再表示
> 達成時をベースにすることを踏まえると、報酬受取ボタン表示時にはミッションの達成時間も表示させませんか

Comment

#45781 by kouho at 2026-05-01T14:02:56; updated 2026-05-01T14:02:56

@wada
了解です。保留項目以外は確認OKです。

kouho add_label at 2026-05-01T14:03:01: コメントあり
kouho delete_label at 2026-05-01T14:03:02: コメントあり
kouho add_label at 2026-05-01T14:03:04: 皇甫 LGTM
wada merge at 2026-05-01T15:19:09: 【5/1】GWキャンペーンフィーバータイム調整
wada close at 2026-05-01T15:19:09: Close
wada delete_branch at 2026-05-01T15:19:15: gw_cp_weekend_reward

Commit range

base0843aa41bd604ad3d53db9cec0d5ff852c987783
head330992695eb876ecd545abb8ab2c0a30b6c9a3b5
base branchjolly/jr-web:master
head branchjolly/jr-web:gw_cp_weekend_reward

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
addeddatabase/migrate/2026043001_add_log_slot_campaign_quest_stock_time_adjust.sql
modifieddoc/slot_campaign_quest/ai-guidelines.md
modifieddoc/slot_campaign_quest/review-guide.md
modifiedlib/ajax/slotCampaignQuest_refreshSlot.inc
modifiedlib/class/controller/JrControllerSlotCampaignQuest.class.php
modifiedlib/conf/class/SlotCampaignQuestConfig.class.php
modifiedlib/models/Slot_campaign_quest.php
modifiedlib/models/dao/Slot_campaign_quest_repository.php
addedpublic_html/img/slot_campaign_quest_ui/fever_banner.png
modifiedpublic_html/template/SlotCampaignQuest-Default.tpl
modifiedtests/slot_campaign_quest/SlotCampaignQuestConfigTest.php
modifiedtests/slot_campaign_quest/SlotCampaignQuestMigrationTest.php
modifiedtests/slot_campaign_quest/SlotCampaignQuestModelTest.php
modifiedtests/slot_campaign_quest/SlotCampaignQuestRepositoryTest.php
Patch body is stored as a separate file to keep this page lightweight.