#!/bin/bash
# 境外涉华舆情简报 - 每日报告生成脚本
# 定时任务：0 8 * * *

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILL_DIR="$(dirname "$SCRIPT_DIR")"
OUTPUT_DIR="/home/admin/.openclaw/workspace/reports/overseas-china-briefing"
HOURLY_DIR="$OUTPUT_DIR/hourly"
BRIEFINGS_DIR="$OUTPUT_DIR/briefings"
LOG_FILE="$OUTPUT_DIR/cron.log"
SKILL_FILE="$SKILL_DIR/SKILL.md"

# 确保目录存在
mkdir -p "$BRIEFINGS_DIR"

# 日志函数
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "========== 境外涉华舆情日报任务启动 =========="

# 读取规范
log "读取规范：$SKILL_FILE"

# 获取今日日期
TODAY=$(date '+%Y-%m-%d')
YESTERDAY=$(date -d 'yesterday' '+%Y-%m-%d')
MD_FILE="$BRIEFINGS_DIR/${TODAY}-境外涉华舆情简报.md"
DOCX_FILE="$BRIEFINGS_DIR/${TODAY}-境外涉华舆情简报.docx"

log "今日日期：$TODAY"
log "报告文件：$MD_FILE"

# 检查今日报告是否已存在
if [ -f "$MD_FILE" ]; then
    log "✅ 今日报告已存在，跳过生成"
else
    log "⚠️  今日报告尚未生成，需要 AI 介入"
    log "AI 需要完成以下步骤："
    log "  1. 读取 SKILL.md 中的规范要求"
    log "  2. 读取 hourly 采集素材（$YESTERDAY 至 $TODAY）"
    log "  3. 使用 searxng 搜索最新信息"
    log "  4. 生成 Markdown 报告（严格按六小节结构）"
    log "  5. 转换为 Word 格式"
    log "  6. 调用本脚本发送"
    exit 0
fi

# 检查 Word 文档是否存在
if [ -f "$DOCX_FILE" ]; then
    log "✅ Word 文档已存在"
else
    log "正在生成 Word 文档..."
    cd "$BRIEFINGS_DIR"
    python3 md2docx.py "${TODAY}-境外涉华舆情简报.md" 2>&1 | tee -a "$LOG_FILE"
fi

# 发送报告
log "正在发送报告..."
TARGET_USER="${OVERSEAS_CHINA_TARGET_USER:-020251091339931228}"
CHANNEL="${OVERSEAS_CHINA_CHANNEL:-dingtalk}"

# 调用 openclaw message 工具发送
openclaw message send \
    --target "$TARGET_USER" \
    --file "$DOCX_FILE" \
    --caption "【境外涉华舆情简报】${TODAY}" \
    2>&1 | tee -a "$LOG_FILE"

log "✅ 报告发送完成"
log "========== 日报任务完成 =========="
