#!/bin/bash
# 海外中国投资项目分析简报 - 每日简报生成脚本
# 执行时间：每个工作日 07:00

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILL_DIR="$(dirname "$SCRIPT_DIR")"
REPORT_DIR="/home/admin/.openclaw/workspace/reports/overseas_briefing"
RAW_DIR="$REPORT_DIR/raw"
DAILY_DIR="$REPORT_DIR/daily"
LOG_FILE="$REPORT_DIR/cron.log"

# 创建输出目录
mkdir -p "$RAW_DIR" "$DAILY_DIR"

# 记录开始时间
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始生成每日简报" >> "$LOG_FILE"

# 日期变量
TODAY=$(date '+%Y-%m-%d')
YESTERDAY=$(date -d 'yesterday' '+%Y-%m-%d')
PERIOD_START=$(date -d 'yesterday' '+%Y-%m-%d')
PERIOD_END=$(date '+%Y-%m-%d')

# 1. 采集原始素材
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始采集原始素材" >> "$LOG_FILE"
python3 "$SCRIPT_DIR/rss_digest.py" fetch \
  --feed-file "$SKILL_DIR/config/feeds.txt" \
  --keywords "尼贝，莱比塘，德崇，中缅管道，中国投资，海外项目" \
  --hours 24 \
  --output "$RAW_DIR/raw_${TODAY}.md" 2>> "$LOG_FILE"

# 2. 生成简报
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始生成简报" >> "$LOG_FILE"
python3 "$SCRIPT_DIR/generate_briefing.py" \
  --input "$RAW_DIR/raw_${TODAY}.md" \
  --output "$DAILY_DIR/briefing_${TODAY}.md" \
  --type daily \
  --period-start "$PERIOD_START" \
  --period-end "$PERIOD_END" 2>> "$LOG_FILE"

# 3. 转换为 PDF（如 pandoc 可用）
if command -v pandoc &> /dev/null; then
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] 转换为 PDF 格式" >> "$LOG_FILE"
  pandoc "$DAILY_DIR/briefing_${TODAY}.md" \
    --output "$DAILY_DIR/briefing_${TODAY}.pdf" \
    --template "$SKILL_DIR/templates/govdoc.tex" 2>> "$LOG_FILE" || true
fi

# 4. 检查是否有警报触发
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 检查警报级别" >> "$LOG_FILE"
python3 "$SCRIPT_DIR/check_alerts.py" \
  --input "$DAILY_DIR/briefing_${TODAY}.md" \
  --output "$REPORT_DIR/alerts/" 2>> "$LOG_FILE"

# 记录结束时间
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 每日简报生成完成" >> "$LOG_FILE"
echo "" >> "$LOG_FILE"
