Appearance
SC-010 期間差枚サマリーショートコード
概要
- 指定期間・ホール・機種の合計差枚数・台毎平均・集計台数をページ内に表示する。
period_start・period_end(期間)・hall(ホール名)・kishu(機種名)を属性で受け取り、PeriodSamaiSummaryConverterでバリデーション・DTO 変換後、PeriodSamaiSummaryController→PeriodSamaiSummaryService経由でデータを取得、View で HTML にレンダリングする。- 期間は最大 366 日(
period_start≤period_endかつ差が 366 日以内)。
外部インターフェース
ショートコードタグ
- タグ名:
[period_samai_summary] - 入力例:
[period_samai_summary period_start="20240101" period_end="20240131" hall="アイランド秋葉原" kishu="犬夜叉"]
属性一覧
| 属性 | 役割 | 必須 |
|---|---|---|
period_start | 集計開始日(YYYY-MM-DD / YYYY/MM/DD / YYYYMMDD 形式、2020年〜当年) | ○ |
period_end | 集計終了日(同上、period_start 以降かつ 366 日以内) | ○ |
hall | 対象ホール名(HallEnum 対応) | ○ |
kishu | 対象機種名(単一機種名) | ○ |
エラー
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
period_start / period_end 未指定または空 | ErrorHandler の返す文言 | ValidationException(Messages::VALIDATION_DATE_REQUIRED) |
| 日付が不正な形式・範囲外 | ErrorHandler の返す文言 | ValidationException(Messages::VALIDATION_DATE_INVALID_*) |
period_start > period_end | ErrorHandler の返す文言 | ValidationException(PeriodSamaiSummaryMessages::PERIOD_ORDER) |
| 期間が 366 日超 | ErrorHandler の返す文言 | ValidationException(PeriodSamaiSummaryMessages::PERIOD_MAX_DAYS) |
hall 未指定または不正値 | ErrorHandler の返す文言 | ValidationException(HallEnum 照合失敗) |
kishu 未指定または空 | ErrorHandler の返す文言 | ValidationException(PeriodSamaiSummaryMessages::KISHU_REQUIRED) |
コントローラー・サービスの \Exception | ErrorHandler の返す文言 | ErrorHandler::handle_error() 経由 |
更新不可とみなすもの(git管理外の内容に依存し、リポジトリだけでは追従できない依存)
- ショートコード名
period_samai_summaryを変更しない- 理由: 既存投稿本文にショートコードタグが直書きされているため
- 属性名
period_start/period_end/hall/kishuを変更しない- 理由: 既存投稿本文に属性名が直書きされているため