PR

【5/2】ヤマダゲームマラソン #2742

wada opened this at 2023-04-24T11:11:03; closed

Description

opened by wada at 2023-04-24T11:11:03; updated 2023-05-17T16:15:48

概要

ヤマダゲームマラソン #2727
~~ミッション内容が確定していないので処理のみ実装~~
5月ヤマダポイントCPでキャンペーンIDがコンフリクトするため調整

機能追加

  • API

ミッションクリア時~~回数を超えた際~~にAPI送信(PFテスト中のみ成功?)
~~API送信に失敗した場合は、次回達成時に再度送信~~
<span style="color:red;">失敗した場合はそのまま</span>

  • バナー表示

従来のバナー表示+メインページ表示

  • タイムジャンプ

テスト中に告知で確認する日数を変更可能
開発環境か、master_yamada_campaigntest_date期間中のデバッグユーザが対象

  • 報酬受け取り

現在のpointを取得し対応した報酬を配布
pass購入有無で報酬切り替え

DB更新内容

【5/2】ヤマダゲームマラソン jolly/jrye-db#382

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

テーブル更新

issue or pr内のテーブル作成クエリを実行
masterの更新
~~・ミッションは1日目しかないので、2日目以降は1日目をコピー~~

テスト用告知を登録

告知2202を確認する環境へ登録(告知2202は開発環境に登録済み)
告知内の日数変更を変更して日数の変更が可能

コードの呼び出し

以下のコードを呼び出し

#ミッションタイプ=1のカウントを1増やす
$class = S_LoadModelClass('Yamada_game_marathon');
$class->update_mission_count($user_info['user_no'], $class::MISSION_TYPE_1, $amount = 1);

ミッションタイプ、数量は確認内容に合わせて調整

TODO

  • [x] ミッション内容
  • [ ] バナー画像
  • [ ] 告知
  • [x] コードの設定
  • [x] 報酬受け取りページ
  • [x] 本家イベントページへのリンク
  • [x] キャンペーンIDふり直し
wada change_title at 2023-04-26T10:09:17: [WIP]ヤマダゲームマラソン 【5/2】ヤマダゲームマラソン
wada add_label at 2023-04-26T10:13:32: レビュー待ち

Comment

#27163 by wada at 2023-04-26T10:14:12; updated 2023-04-26T10:14:12

@kouho
レビューお願いします。
ミッション内容はまだ決まっていないので、処理の確認のみで良いです。

Comment

#27197 by kouho at 2023-04-27T17:50:56; updated 2023-04-27T17:51:13

@wada
apiへpostしてログを記録する処理は問題ないと思いますが、
ゲームマラソンの仕様書では報酬受け取り周りの仕様が不明瞭でしたので確認していただいています。

Comment

#27200 by kouho at 2023-04-28T09:59:36; updated 2023-04-28T09:59:36
お世話になっております。
ヤマダゲームマラソンについてのご確認です。

マラソンの報酬配布については以下の対応のどれが適切でしょうか?

1. プラットフォーム側のゲームマラソンのページの報酬を受け取るを押したとき

2. ゲーム内にもマラソンの進行度と獲得可能な報酬と獲得済みの報酬を表示させるページを作成し、そのページ内で各報酬受け取りのリンクを貼る

ゲームマラソンの仕様書内で「報酬を受け取る」のボタンを押すと
SAP側報酬受け取りURLにリンクと書かれておりますが、それぞれの対応で懸念点があるため確認いたしました。

各対応の懸念点は以下の通りです。

- 1の対応の場合
どの報酬が未獲得なのかが分からない

- 2の対応の場合
プラットフォーム側のページと似たものをゲーム内で作成が必要

ご確認のほどよろしくお願いいたします。
>2. ゲーム内にもマラソンの進行度と獲得可能な報酬と獲得済みの報酬を表示させるページを作成し、そのページ内で各報酬受け取りのリンクを貼る
こちらについては作成不要です。

>1. プラットフォーム側のゲームマラソンのページの報酬を受け取るを押したとき
こちらになりますが、ヤマダゲーム側のボタンにつきましてはURLのリンクのみとなりますため、該当のURLで飛んできたお客様へ進呈を行う処理を入れる形になります。

>- 1の対応の場合
>どの報酬が未獲得なのかが分からない
こちらはお客様がどのアイテムを受け取っていないか判断できないということでしょうか。
どこまで受け取ったかの表示はページにはございませんが、ヴァンパイアブラッドで行った際はギフトボックスと受け取り履歴があり、そこでお客様に確認いただいています。
現状この仕様でお問い合わせをいただいたことはございません。

Comment

#27209 by kouho at 2023-04-28T16:25:57; updated 2023-04-28T16:25:57

@wada
結論的にマラソンの報酬受け取りの結果ページが必要なようです。
<a href="https://git.dev.d-es.co.jp/gitbucket/jolly/jr-cs-issue/issues/378">報酬受け取り結果ページ機能要件</a>

Comment

#27222 by wada at 2023-04-28T16:59:36; updated 2023-04-28T17:00:19

@kouho
以下対応しました。
テーブルの構造が変わっているので、再度作成してください。
報酬ページは作成に時間がかかるので、後で確認お願いします。(時間がかかるようであれば別PRにします)

  • apiのget対応

HTTP_SAPKEYを指定している場合は、YamadaWithoutAPIを利用
メソッド内のサンプル数値を調整して確認

  • クエストクリア回数の上限ない

クエスト上限が必要なくなったため、テーブル・APIのpost送信処理内の回数条件を削除
告知内の進捗表示も削除

  • api呼び出し設定

ミッションごとにapiの呼び出し設定
冒険系のヤマダ系クエストはSubFunc.incに移動し、過去のものはコメントアウト

  • 報酬受け取り
?M=YamadaGame&A=MarathonRewawrds

Comment

#27251 by kouho at 2023-05-02T13:41:57; updated 2023-05-02T13:41:57

@wada
以下確認OKです

  • 報酬受け取り
  • 報酬設定
  • api呼び出し変更
  • apiのget対応
kouho add_label at 2023-05-02T13:42:00: 皇甫 LGTM
wada merge at 2023-05-08T18:39:47: 【5/2】ヤマダゲームマラソン
wada close at 2023-05-08T18:39:47: Close
wada refer at 2023-05-17T16:15:48: 2791:【5/18】ヤマダゲームマラソン

Commit range

basefeff8a5139630627cd3ba05f3dab7cad69180da3
head8a1ccadb4eff716835891a33b2e31e43cebb42b6
base branchjolly/jr-web:develop
head branchjolly/jr-web:yamada_game_marathon

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed25 filesView patch
statusfile
modifiedlib/SubFunc.inc
modifiedlib/SubFunc_mission.inc
modifiedlib/SubFunc_valhalla.inc
modifiedlib/ajax/default_info.inc
addedlib/class/controller/JrControllerYamadaGame.class.php
modifiedlib/class/platform/yamada/YamadaAPI.class.php
modifiedlib/class/platform/yamada/YamadaPlatformService.class.php
modifiedlib/class/platform/yamada/YamadaWithoutAPI.class.php
modifiedlib/class/season_pass/SeasonPass.class.php
modifiedlib/conf/class/EventScheduleConfig.class.php
modifiedlib/models/Banner.php
modifiedlib/models/Yamada_campaign.php
addedlib/models/Yamada_game_marathon.php
addedlib/models/dao/log_user_yamada_game_marathon.php
addedlib/models/dao/master_yamada_game_marathon.php
addedlib/models/dao/master_yamada_game_marathon_reward.php
addedlib/models/dao/user_yamada_game_marathon.php
modifiedlib/public/Main.inc
modifiedlib/public/Training-Result.inc
addedpublic_html/img/banner/Campaign/banner_yamada_game_marathon_1_1.jpg
addedpublic_html/img/banner/Campaign/banner_yamada_game_marathon_1_2.jpg
addedpublic_html/img/pf/yamada/banner_marathon_1.jpg
modifiedpublic_html/index.php
addedpublic_html/template/YamadaGame-MarathonRewawrds.tpl
addedpublic_html/template/parts/parts_yamada_game_marathon_info_template.tpl
Patch body is stored as a separate file to keep this page lightweight.