Description
概要
以下の建築イベント期間中の新人応援仕様の実装
- multiple_loginをCampaignQuestConfigのcallbackを参考に変更
- 初回ログイン時の累計ログインのカウントにはuser_info.login_countを利用
- user_info.login_countはゲソてんの特定条件のユーザーデータのみを修正
開催期間
4月13日(月) 15:00:00 ~ 4月22日(水) 23:59:59
■新規ユーザへの緩和施策(継続)
・対象:累計ログイン日数90日未満のユーザー
・建築イベント開始日から終了日まで、毎日ログインすると特急時計【期限付き】1個がもらえる。SQL
ALTER TABLE `multiple_login_bonus`
ADD COLUMN `first_login_count` int(11) DEFAULT NULL
COMMENT 'イベント期間中の初回ログイン時点の累計ログイン数'
AFTER `login_data`;user_info.login_countの修正
ゲソてんのユーザーのみを対象にuser_info.login_countを正しいものにするように
スタートダッシュログインボーナスで表示されることを踏まえ、修正後のlogin_countが7より上のユーザーのみを対象
周年ログインボーナスなどでヤマダのlogin_countを既存ユーザーは確認している可能性があるため、ゲソてんのみを対象想定UPDATEクエリ
jr-dbm01 サーバーで直接実行予定
UPDATE jrye.user_info ui
INNER JOIN (
SELECT
t.user_no,
SUM(t.cnt) AS total_cnt
FROM (
/* DB1 */
SELECT
dl.user_no,
COUNT(*) AS cnt
FROM jrye.dau_login dl
INNER JOIN jrye.user_setting us
ON us.user_no = dl.user_no
WHERE
us.tutorial_fin_time > 0
AND dl.date >= FROM_UNIXTIME(us.tutorial_fin_time, '%Y-%m-%d')
AND EXISTS (
SELECT 1
FROM jrye.user_platform up
WHERE up.user_no = dl.user_no
AND up.pid = 'gesoten'
)
GROUP BY dl.user_no
UNION ALL
/* DB2 */
SELECT
dl.user_no,
COUNT(*) AS cnt
FROM jrye_log.dau_login dl
INNER JOIN jrye.user_setting us
ON us.user_no = dl.user_no
WHERE
us.tutorial_fin_time > 0
AND dl.date >= FROM_UNIXTIME(us.tutorial_fin_time, '%Y-%m-%d')
AND EXISTS (
SELECT 1
FROM jrye.user_platform up
WHERE up.user_no = dl.user_no
AND up.pid = 'gesoten'
)
GROUP BY dl.user_no
) t
GROUP BY t.user_no
HAVING SUM(t.cnt) > 7
) x
ON ui.user_no = x.user_no
SET ui.login_count = x.total_cnt
WHERE COALESCE(ui.login_count, 0) <> COALESCE(x.total_cnt, 0);