Fincs

運営アドミン / 講座管理

運営アドミン / 講座管理

本ページは 2 段構成。上段が biz/CS 向け(ユーザー提示可)、下段(## 🔧 実装詳細 以降)が dev 向け。biz/CS がユーザーへ提示・転用してよいのは上段のみ。

概要

運営アドミン向けの講座管理機能群。講師経路では行えない「講座そのものの新規登録」「運営判断による代理編集」「個別設定の細かな切替」「サブ講師の代理付与・解除」「契約書面・同意事項の登録」「料金プラン公開状態の調整」「交付書面非表示の一括初期化」「講座削除」をまとめて扱う。

主な利用想定:

  • 講座新規登録: 講師は自身では講座を新規作成できないため、運営アドミンが代理登録
  • 基本情報の代理編集: タイトル・サマリー・サムネイル・タグ・各種設定値などの調整
  • 個別設定の代理切替: 事業者登録 / 受講者数表示 / ダウンロード可否(動画・資料)/ 個人情報タイプ / 同意条件非表示 / 領収書送付先メール / 配信元メール
  • サブ講師の代理付与・解除: 対象ユーザーが講師ロールであることを前提にサブ講師に追加・削除
  • 契約書面・同意事項の登録: 契約成立時にユーザーへ提示する書面群の登録(既存削除 → 再登録の置換更新)
  • 料金プラン公開状態の調整: 開始日・終了日・非表示フラグの切替
  • 交付書面非表示の一括初期化: 投資助言を行わない講座の交付書面非表示フラグを一括で ON 化(冪等処理)
  • 講座削除: CS 対応や運営判断による論理削除

強制非公開の専用フラグは未提供: 「特定の講座を一時的に強制非公開化したい」要望に対しては、料金プランの非表示化 / 講座のプライベート化 / 講座削除のいずれかを組み合わせて実現する運用となる。

講師経路との関係: 講師は自身の講座について ../plan-management/edit.md 経由で編集可能だが、本ページの運営アドミン経路は「運営側が代理で全項目編集する」「個別設定を細かく切り替える」用途の経路で、操作可能項目に差がある。

サブ講師付与の前提: サブ講師として追加する対象ユーザーは、内部のロール上で「講師」相当である必要がある。一般受講者をいきなりサブ講師に登録することはできず、ロール変更(./user.md)が先に必要。

📝 レビュー観点:

  • 目的: 講座の登録代行・運用調整・初期化処理
  • 誰が使うか: 運営アドミン
  • どこで使うか: 運営アドミン汎用ツール経由
  • 隣接機能との関係: 講師による講座編集(../plan-management/edit.md)、料金プラン管理(../plan-management/price.md)、横断マスター(./master.md
  • CS 問い合わせで頻発する論点: 「強制非公開の経路」「サブ講師の代理付与」「交付書面非表示の一括初期化」「料金プランの公開状態切替」
  • [本機能特有] 強制非公開の専用フラグは無し: 料金プラン非表示・プライベート化・削除のいずれかで代替
  • [本機能特有] 差分更新と全置換更新が併存: PATCH(差分)と PUT(全置換)の使い分けが不明瞭
  • [本機能特有] サブ講師条件: 対象が講師ロール保有でないと弾かれる(user.not.owner

利用シナリオ

シナリオ 1: 新規講座を運営アドミンが代理登録する

新たに講座を立ち上げる際、運営アドミンが講師の依頼を受けて講座本体を新規登録。タイトル・サマリー・サムネイル・タグ・初期料金プラン・初期設定をまとめて登録し、講師がその後の運営をできるようにする。

シナリオ 2: 既存講座の基本情報を代理で書き換える

CS 対応で「特定講座のタイトル / サマリーを至急変更したい」「特定設定を一括反映したい」要望に対して、運営アドミンが基本情報や設定を代理書換。

シナリオ 3: 各種設定の個別切替

「事業者登録の有無」「受講者数表示の有無」「動画・資料ダウンロード可否」「個人情報取得タイプ」などの設定を、必要な項目だけピンポイントで切り替える。

シナリオ 4: サブ講師の代理付与・解除

メイン講師の依頼を受けて、運営アドミンがサブ講師を代理で追加 / 削除。対象ユーザーが講師ロールでない場合は事前にロール変更が必要。

シナリオ 5: 契約書面・同意事項を更新する

法令対応や運用方針変更で、契約書面・同意事項の文面を全置換で更新。CS で「契約時の表示文言を最新版に揃えたい」要望時に利用。

シナリオ 6: 料金プラン公開状態を運営から調整する

特定の料金プランの公開期間・非表示フラグを運営アドミンが代理切替。期間限定キャンペーンや法的要件で一時的な非表示化が必要な場合に対応。

シナリオ 7: 交付書面非表示の一括初期化

投資助言を行わない講座群について、交付書面の非表示フラグを一括で初期化。法的要件の整理・新規導入時の一括反映用途。冪等な処理のため複数回実行可能。

シナリオ 8: 不要・不適切講座の削除

運営判断で講座そのものを削除する場合、運営アドミンが削除操作を実行(論理削除)。既存契約者への影響について事前確認が必要。

よくある失敗ケース

  • 講座新規登録の必須項目欠落: タイトル・サマリー・サムネイル等の必須項目漏れでエラー
  • タグ件数オーバー: タグ 5 件を超える指定でエラー
  • 講師ロール未付与のユーザーをサブ講師に指定: ロール条件違反で弾かれる
  • 既存契約者がいる講座の削除影響: 削除後の受講者対応が漏れるリスク。事前の確認が重要
  • 強制非公開の経路選択ミス: 専用フラグがないため、料金プラン非表示・プライベート化・削除のどれを選ぶかで挙動が異なる

権限別仕様

権限定義は ../user-roles.md 参照。用語は ../terminology.md

横断軸

操作 運営アドミン 受講者 講師
講座登録 × ×
講座基本情報編集 × △(講師自身の講座のみ、別経路)
講座設定の個別切替 × ×
サブ講師の代理付け外し × ×
料金プラン公開状態切替 × ×
交付書面非表示の一括初期化 × ×
講座削除 × ×

📝 レビュー観点:

  • 講座登録は運営アドミン専用(講師は自身では登録不可)
  • 講師による編集経路(../plan-management/edit.md)との操作可能項目の差分

機能詳細(ふるまい)

講座登録

入力項目:

  • メイン講師(オーナー)ユーザー ID
  • 講座タイプ: 投資助言系 / 事業系 等
  • タイトル / サブタイトル / サマリー / サムネイル: 必須
  • 紹介文(リッチテキスト): 受講者向けの講座紹介
  • 投資助言の有無 / 同意条件の有無 / 無料プランフラグ
  • 受講者数上限
  • タグ: 最大 5 件
  • 初期料金プラン: タイトル / 価格 / 契約期間 / 表示順 / 試用日数 等
  • 講座設定: 事業者登録 / 表示制御 / ダウンロード可否 / 個人情報タイプ / 同意条件非表示 / メール設定

サブ講師の追加は別経路で実施。

基本情報編集

  • 部分更新(指定したフィールドのみ反映)と、全項目置換更新の 2 種類が併存
  • 部分更新は通常の運営対応で利用、全項目置換は「設定を完全に上書きしたい」ケースで利用
  • 内部的な棲み分けは検討中(改善対象)

個別設定の切替

各項目を独立に切替可能:

  • 事業者登録の有無
  • 受講者数表示フラグ
  • 動画ダウンロード可否
  • 資料ダウンロード可否
  • 個人情報取得タイプ
  • 同意条件の非表示フラグ
  • 領収書送付先メールアドレス
  • 配信元メール名称・配信元メールアドレス

サブ講師の付け外し

  • 対象ユーザーが講師ロールでないと操作不可(事前にロール変更が必要)
  • 追加・削除のいずれも内部のトーク権限と連動して同期される
  • メイン講師による経路(../plan-management/edit.md)と同等の効果

契約書面・同意事項の登録

  • 既存の登録分を全削除して再登録する置換更新方式
  • 法令対応・文面改訂などの全体一括反映に利用

料金プランの公開状態切替

  • 開始日・終了日・非表示フラグを更新
  • 期間制御は手動運用(自動スケジューリングなし)
  • 「期間限定キャンペーン」等は開始時 / 終了時に運営アドミンが切替

交付書面非表示の一括初期化

  • 投資助言を行わない講座の交付書面非表示フラグを一括で ON
  • 冪等処理のため複数回実行しても結果は変わらない
  • 件数フィードバックは現時点では返却していない

講座削除

  • 講座を内部的に削除扱いとする
  • 既存契約者の契約自体は維持されるが、講座が一覧から見えなくなる
  • 削除後の復旧経路は運営側の内部対応のみ

📝 レビュー観点:

  • 入力 → 処理 → 出力: 経路入力 → 即時実行(非同期化なし)
  • エッジケース: 既存契約者がいる講座の削除影響、サブ講師ロール条件違反
  • エラー表示: ロール条件違反 user.not.owner
  • [本機能特有] 強制非公開の経路の不明瞭性: 専用フラグ無し、料金プラン非表示・プライベート化・削除のどれを採用するか

admin 操作

本ページ全体が運営アドミン操作の集約。

該当なし / 実装されていない

  • 強制非公開の専用フラグ: 未実装(料金プラン公開状態 / プライベート化 / 削除で代替、dev 下段に詳細)
  • 「凍結」専用フラグ: 未実装

📝 レビュー観点:

  • 強制非公開フラグ追加の要否
  • 講座復旧経路の有無

品質 / 約束事項

  • 応答性: 即時反映
  • 信頼性: 各操作のトランザクション境界に依存。サブ講師付け外しは Firestore 同期失敗時の戻し挙動を要確認
  • 制限値:
    • 講座名: 1 〜 50 文字(実質)
    • タグ: 最大 5 件
    • 料金プラン名(別名): 英数字 + アンダースコア + 半角スペース + ()
  • データ保持: 論理削除フラグあり(実装は dev 下段)

📝 レビュー観点:

  • [本機能特有] CreatePlanSubOwnerRequest の Bean Validation 欠落: 改善課題
  • [本機能特有] 削除の論理 / 物理判別: dev 下段で確定

変更履歴(リリースノート候補)

v2.29.2: 2026-05-04(PSD 初版)

  • [PSD 追加] 本ドキュメント初版作成。v2.29.2 時点の実装を起こし。機能追加・変更は含まない

📝 レビュー観点:

  • 過去の主要変更(差分更新と全置換更新の併存・各個別設定の追加 等)

関連ドキュメント


このページの内容を AI に質問しますか?
関連 spec を自動抽出して ChatGPT / Claude などに渡せます。
AI Prompt で開く →