公式ウィッシュリストモジュール概要
説明
公式ウィッシュリストモジュールは、ユーザーが完全なサブスクリプション統合と高度な分析機能を備えたウィッシュリストグループを作成、管理、分析できる本格的なウィッシュリストシステムを表します。一時ウィッシュリストシステムとは異なり、このモジュールはサブスクリプションクォータを強制し、高度な分析のためのTV Python APIと統合し、リアルタイム監視とビジネスインテリジェンス機能を提供します。
このモジュールは、ユーザーが以下を行えるコア本番システムとして機能します:
- サブスクリプション検証付きの公式ウィッシュリストグループの作成
- ウィッシュリストコンテキスト内での商品、カテゴリ、検索クエリの管理
- TV Python API統合による高度な分析用データセットの生成
- リアルタイムステータス更新による分析進捗の監視
- 包括的なランキング分析とAI搭載ビューポイントインサイトへのアクセス
- グループベースのアクセス制御によるチームメンバーとの協力
アクティビティ図
---
config:
theme: base
layout: dagre
flowchart:
curve: linear
htmlLabels: true
themeVariables:
edgeLabelBackground: "transparent"
---
flowchart TB
%% Main components
UserRequest[ユーザーリクエスト]
AuthService(AuthService)
SubscriptionService(SubscriptionService)
WishlistService(WishlistService)
TVPythonAPI((TV Python API))
PusherService((Pusher Service))
Database[(Database)]
subgraph Controllers
WishlistController[WishlistController]
AnalysisController[AnalysisController]
end
subgraph Services
DatasetService(DatasetService)
RankingService(RankingService)
ViewpointService(ViewpointService)
end
subgraph ExternalAPIs
StripeAPI((Stripe API))
OpenAIAPI((OpenAI API))
end
UserRequest --- Step1[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>1</span>
<p style='margin-top: 8px'>認証・サブスクリプション検証</p>
</div>
]
Step1 --> AuthService
Step1 --> SubscriptionService
SubscriptionService -.-> StripeAPI
AuthService --- Step2[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>2</span>
<p style='margin-top: 8px'>ウィッシュリスト作成・データ管理</p>
</div>
]
Step2 --> WishlistController
WishlistController --> WishlistService
WishlistService --> Database
WishlistService --- Step3[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>3</span>
<p style='margin-top: 8px'>データセット準備・TV Python統合</p>
</div>
]
Step3 --> AnalysisController
AnalysisController --> DatasetService
DatasetService --> TVPythonAPI
DatasetService --- Step4[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>4</span>
<p style='margin-top: 8px'>リアルタイム監視・ステータス更新</p>
</div>
]
Step4 --> PusherService
TVPythonAPI -.-> DatasetService
PusherService --- Step5[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>5</span>
<p style='margin-top: 8px'>分析結果・ビジネスインテリジェンス</p>
</div>
]
Step5 --> RankingService
Step5 --> ViewpointService
RankingService --> Database
ViewpointService -.-> OpenAIAPI
RankingService --- Step6[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>6</span>
<p style='margin-top: 8px'>協力・結果共有</p>
</div>
]
Step6 --> WishlistController
ViewpointService --> WishlistController
%% Styling
style UserRequest fill:#e6f3ff,stroke:#0066cc,stroke-width:2px
style Database fill:#ffe6cc,stroke:#ff9900,stroke-width:2px
style TVPythonAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
style PusherService fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
style StripeAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
style OpenAIAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
style Controllers fill:#e6f3ff
style Services fill:#f0f8e6
style ExternalAPIs fill:#fcd9d9
style Step1 fill:transparent,stroke:transparent,stroke-width:1px
style Step2 fill:transparent,stroke:transparent,stroke-width:1px
style Step3 fill:transparent,stroke:transparent,stroke-width:1px
style Step4 fill:transparent,stroke:transparent,stroke-width:1px
style Step5 fill:transparent,stroke:transparent,stroke-width:1px
style Step6 fill:transparent,stroke:transparent,stroke-width:1px
詳細データフロー依存関係
ステップバイステッププロセス
ステップ1: サブスクリプション検証・ウィッシュリスト作成
- 説明: ユーザーサブスクリプションステータスを検証し、クォータ強制付きの公式ウィッシュリストグループを作成
- アクション: ユーザー認証、サブスクリプション検証、クォータ制限チェック、一意のスラッグでウィッシュリストグループ作成
- 入力: ユーザー認証情報、ウィッシュリスト名、グループメンバーシップ、サブスクリプション詳細
- 出力: アクティブステータスとサブスクリプションバインディング付きの公式ウィッシュリストグループ
- 依存関係: ユーザー認証、グループメンバーシップ検証、サブスクリプションサービス
- 外部サービス: サブスクリプション課金システム(Stripe API)、グループ管理サービス
ステップ2: データ投入・管理
- 説明: 包括的な検証を伴う商品、カテゴリ、検索クエリでウィッシュリストを投入
- アクション: 商品URL、カテゴリ選択、適切な検証ルールでの検索クエリを処理
- 入力: 商品URL、カテゴリID、検索キーワード、モール固有データ
- 出力: 商品、カテゴリ、検索クエリ関係を持つ構造化ウィッシュリストデータ
- 依存関係: サマリーテーブルサービス、データ検証サービス、モール設定
- 外部サービス: 商品検証API、カテゴリマッピングサービス
ステップ3: データセット準備・TV Python統合
- 説明: 高度な分析用データセットを準備し、TV Python API統合を開始
- アクション: ウィッシュリストデータ集約、TV Python API用フォーマット、データセット履歴レコード作成、分析開始
- 入力: 完全なウィッシュリストデータ、分析パラメータ、ユーザー設定
- 出力: 追跡IDと初期ステータス付きのデータセット作成リクエスト
- 依存関係: データセット履歴サービス、TV Python APIクライアント、分析設定
- 外部サービス: TV Python API、データセットストレージサービス、分析キュー管理
ステップ4: リアルタイム監視・ステータス追跡
- 説明: リアルタイム更新とステータス通知で分析進捗を監視
- アクション: TV Python APIステータスポーリング、データセット履歴更新、Pusher通知送信、エラー処理
- 入力: データセット追跡ID、分析ステータス更新、エラー通知
- 出力: リアルタイムステータス更新、進捗通知、完了アラート
- 依存関係: データセット履歴サービス、通知サービス、エラー処理
- 外部サービス: TV Python APIステータスエンドポイント、Pusherリアルタイムサービス、監視システム
ステップ5: 分析結果・ビジネスインテリジェンス
- 説明: カテゴリランキングと検索クエリパフォーマンスの分析結果を処理
- アクション: 分析結果取得、ランキングデータ処理、サブスクリプションベースフィルタリング適用
- 入力: TV Python分析結果、ランキングデータ、サブスクリプション日付制約
- 出力: サブスクリプション権限でフィルタリングされたカテゴリランキング、検索クエリランキング
- 依存関係: ランキング分析サービス、サブスクリプション検証、アナライザーデータベース統合
- 外部サービス: アナライザーデータベース、ランキング計算サービス
ステップ6: ビューポイント分析・AIインサイト
- 説明: ビジネスインテリジェンス用の階層構造でビューポイントデータを処理
- アクション: カテゴリビューポイント取得、詳細ビューポイント関係読み込み、特定ビューポイント処理
- 入力: カテゴリデータ、ビューポイント階層、特定ビューポイント設定
- 出力: カテゴリ、詳細、特定ビューポイント関係を持つ整理されたビューポイントデータ
- 依存関係: ビューポイントリポジトリ、階層データ処理
- 外部サービス: なし(内部データ処理)
ステップ7: 協力・結果共有
- 説明: アクセス制御とエクスポート機能でチーム協力と結果共有を可能にする
- アクション: グループアクセス管理、分析結果共有、サブスクリプションレベル別権限制御
- 入力: グループメンバーシップデータ、共有設定、アクセス権限
- 出力: 適切なアクセス制御付きの共有分析結果
- 依存関係: グループ管理サービス、アクセス制御サービス、サブスクリプション検証
- 外部サービス: ファイルエクスポートシステム、共有プラットフォーム
データベース関連テーブル・フィールド
データベース: gb_console, gb_analyzer
erDiagram
wishlist_to_groups {
bigint id PK
bigint group_id FK "グループ関連付け"
bigint subscription_id FK "サブスクリプションバインディング"
bigint created_by FK "ユーザー参照"
string name "ウィッシュリストの名前"
string slug "ウィッシュリストのスラッグ"
integer status "0: 非アクティブ, 1: アクティブ, 3: キャンセル"
}
wishlist_products {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
bigint summary_wishlist_product_id FK "サマリー商品参照"
integer status "0: 非アクティブ, 1: アクティブ"
}
wishlist_categories {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
bigint summary_wishlist_category_id FK "サマリーカテゴリ参照"
integer status "0: 非アクティブ, 1: アクティブ"
}
wishlist_search_queries {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
bigint summary_wishlist_search_query_id FK "サマリー検索クエリ参照"
integer status "0: 非アクティブ, 1: アクティブ"
}
wishlist_dataset_histories {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
string dataset_id "TV Pythonデータセット識別子"
string slug "一意のスラッグ識別子"
integer status "データセット処理ステータス"
}
wl_cat_vps {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
string category_id "モール内のカテゴリID"
bigint mall_id FK "モールのID"
integer status "0: 非アクティブ, 1: アクティブ"
}
wl_cat_vp_details {
bigint id PK
bigint wl_cat_vp_id FK "カテゴリビューポイント関連付け"
string viewpoint "カテゴリのビューポイント"
text content "ビューポイントの内容"
integer status "0: 非アクティブ, 1: アクティブ"
}
wl_spec_vps {
bigint id PK
bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
string name "特定ビューポイントの名前"
text description "特定ビューポイントの説明"
integer status "0: 非アクティブ, 1: アクティブ"
}
"gb_analyzer.category_rankings" {
bigint id PK
string mall_category_id "モール内のカテゴリID"
string mall_category_name "モール内のカテゴリ名"
integer mall_id "モール識別子"
}
"gb_analyzer.product_category_rankings" {
bigint id PK
bigint category_ranking_id FK "カテゴリランキング参照"
integer ranking "ランキング内の位置"
string mall_product_id "モール内の商品ID"
string product_name "商品名"
double price "商品価格"
string shop_name "ショップ名"
}
groups {
bigint id PK
string name "グループ名"
}
subscriptions {
bigint id PK
string name "サブスクリプション名"
}
wishlist_to_groups ||--o{ wishlist_products : "持つ"
wishlist_to_groups ||--o{ wishlist_categories : "持つ"
wishlist_to_groups ||--o{ wishlist_search_queries : "持つ"
wishlist_to_groups ||--o{ wishlist_dataset_histories : "持つ"
wishlist_to_groups ||--o{ wl_cat_vps : "持つ"
wishlist_to_groups ||--o{ wl_spec_vps : "持つ"
wishlist_to_groups }|--|| groups : "所属"
wishlist_to_groups }|--|| subscriptions : "所属"
wl_cat_vps ||--o{ wl_cat_vp_details : "持つ"
"gb_analyzer.category_rankings" ||--o{ "gb_analyzer.product_category_rankings" : "持つ"
期待される成果
技術的成果
- サブスクリプション統合ウィッシュリストシステム: クォータ強制と課金統合を備えた完全に機能する公式ウィッシュリスト管理
- 高度な分析統合: データセット作成と高度な分析のための包括的なTV Python API統合
- リアルタイムステータス監視: すべての分析操作のPusher通知によるライブ進捗追跡
- 包括的データ管理: 最適化されたデータベース関係を持つ構造化商品、カテゴリ、検索クエリ管理
- AI搭載ビューポイント分析: カテゴリ、詳細、特定ビューポイント組織を持つ階層ビューポイント構造
- サブスクリプションベースデータアクセス: サブスクリプションレベルと権限に基づく日付制約付きランキングデータアクセス
- スケーラブルアーキテクチャ: 適切なアクセス制御とサブスクリプション検証を備えたグループベース協力
ビジネス価値
- 包括的市場インテリジェンス: パフォーマンスメトリクスとトレンド分析を備えたカテゴリと検索クエリランキング
- 戦略的インサイト: 意思決定のための構造化ビジネスインテリジェンスを備えたAI搭載ビューポイント
- サブスクリプション収益管理: 階層アクセスと使用追跡を備えた直接課金統合
- チーム協力: グループベース権限と共有分析結果を備えたマルチユーザーアクセス
- データ駆動意思決定: 商品、カテゴリ、検索クエリパフォーマンスの包括的分析
- 競合分析: ランキング分析とビューポイント生成による市場ポジショニングインサイト
- 合理化ワークフロー: ウィッシュリスト作成から高度な分析とレポートまでのエンドツーエンドプロセス
モジュール一覧
| 名前 | 概要リンク | 説明 |
|---|---|---|
| ウィッシュリストグループ管理 | ウィッシュリストグループ管理 | サブスクリプション検証付き公式ウィッシュリストグループのコアCRUD操作 |
| データセット作成 | データセット作成 | 高度な分析とデータセット管理のためのTV Python API統合 |
| ウィッシュリスト商品管理 | ウィッシュリスト商品 | サマリー統合を備えたウィッシュリストコンテキスト内の商品管理 |
| ウィッシュリストカテゴリ管理 | ウィッシュリストカテゴリ | モール固有処理と分析を備えたカテゴリ管理 |
| ウィッシュリスト検索クエリ管理 | ウィッシュリスト検索クエリ | キーワード分析と最適化を備えた検索クエリ管理 |
| ランキング分析 | ランキング分析 | ビジネスインサイト付きカテゴリと検索クエリランキング分析 |
| ビューポイント分析 | ビューポイント分析 | AI搭載ビューポイント分析と詳細ビジネスインテリジェンス |