#!/bin/bash

# 数据处理脚本执行脚本
# 按顺序执行所有数据处理步骤

set -e  # 遇到错误立即退出

# 获取脚本所在目录的绝对路径
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 项目根目录
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"

echo "=========================================="
echo "数据处理流程开始"
echo "项目根目录: $PROJECT_ROOT"
echo "=========================================="
echo ""

# 切换到项目根目录
cd "$PROJECT_ROOT"

# 步骤1: 提取特征分类映射
echo "[1/5] 正在提取特征分类映射..."
echo "  输入: data/账号/阿里多多酱/pattern/cluster/clustered_data.json"
echo "  输入: data/账号/阿里多多酱/what解构/*.json (时间阈值)"
echo "  输出: data/账号/阿里多多酱/特征名称_分类映射.json"
echo "  输出: data/账号/阿里多多酱/分类层级映射.json"
python script/data_processing/extract_feature_categories.py
if [ $? -eq 0 ]; then
    echo "✓ 特征分类映射提取完成"
else
    echo "✗ 特征分类映射提取失败"
    exit 1
fi
echo ""

# 步骤2: 提取特征帖子来源
echo "[2/5] 正在提取特征帖子来源..."
echo "  输入: data/账号/阿里多多酱/what解构_所有帖子/*.json"
echo "  输入: data/账号/阿里多多酱/what解构/*.json (时间阈值)"
echo "  输出: data/账号/阿里多多酱/特征名称_帖子来源.json"
python script/data_processing/extract_features_from_posts.py
if [ $? -eq 0 ]; then
    echo "✓ 特征帖子来源提取完成"
else
    echo "✗ 特征帖子来源提取失败"
    exit 1
fi
echo ""

# 步骤3: 提取当前帖子解构任务列表
echo "[3/5] 正在提取当前帖子解构任务列表..."
echo "  输入: data/账号/阿里多多酱/what解构/*.json"
echo "  输出: data/账号/阿里多多酱/当前帖子_解构任务列表.json"
python script/data_processing/extract_current_posts.py
if [ $? -eq 0 ]; then
    echo "✓ 当前帖子解构任务列表提取完成"
else
    echo "✗ 当前帖子解构任务列表提取失败"
    exit 1
fi
echo ""

# 步骤4: 匹配灵感特征
echo "[4/5] 正在匹配灵感特征..."
echo "  输入: data/账号/阿里多多酱/当前帖子_解构任务列表.json"
echo "  输入: data/账号/阿里多多酱/特征名称_帖子来源.json"
echo "  输入: data/账号/阿里多多酱/特征名称_分类映射.json"
echo "  输出: data/账号/阿里多多酱/当前帖子_how解构结果/*_how.json"
python script/data_processing/match_inspiration_features.py
if [ $? -eq 0 ]; then
    echo "✓ 灵感特征匹配完成"
else
    echo "✗ 灵感特征匹配失败"
    exit 1
fi
echo ""

# 步骤5: 可视化结果
echo "[5/5] 正在生成可视化结果..."
echo "  输入: data/账号/阿里多多酱/当前帖子_how解构结果/*.json"
echo "  输入: data/账号/阿里多多酱/特征名称_分类映射.json"
echo "  输入: data/账号/阿里多多酱/分类层级映射.json"
echo "  输出: data/账号/阿里多多酱/当前帖子_how解构结果_可视化.html"
python script/data_processing/visualize_how_results.py
if [ $? -eq 0 ]; then
    echo "✓ 可视化结果生成完成"
else
    echo "✗ 可视化结果生成失败"
    exit 1
fi
echo ""

echo "=========================================="
echo "✓ 所有数据处理步骤已完成！"
echo "=========================================="
