#!/bin/bash
# 行业情报日报 · 每日 08:30 一键流水线（只落档 + 输出聊天文案，由 cron 投递）
# 时间窗：只取前一天（T-1）发布的资讯
set -u
W="/Users/liuxinyuan/Desktop/Hermes输出-工作类"
PY="$HOME/.hermes/profiles/zone-b/cache/scratch/mm/venv/bin/python"
HB="/opt/homebrew/bin/python3"
LOG="/tmp/intel_daily_$(date +%Y%m%d).log"
TODAY="$(date +%Y%m%d)"
HB_FILE="$W/数据/market_intel/runs/_heartbeat.json"
cd "$W" || exit 1

echo "[1/4] 采集（T-1 窗口）…" > "$LOG"
"$PY" 脚本/intel_collect_v01.py daily >> "$LOG" 2>&1

echo "[2/4] 五要素提炼…" >> "$LOG"
env -u PYTHONPATH "$HB" 脚本/intel_enrich_v01.py daily >> "$LOG" 2>&1

echo "[3/4] 失败补跑…" >> "$LOG"
env -u PYTHONPATH "$HB" 脚本/intel_enrich_retry.py daily >> "$LOG" 2>&1

echo "[4/4] 高价值精选 + 推送文案…" >> "$LOG"
env -u PYTHONPATH "$HB" 脚本/intel_highvalue_v02.py daily >> "$LOG" 2>&1

PUSH="$W/数据/market_intel/runs/${TODAY}_push_highvalue.txt"
# 静默规则：S 档与 A 档都为 0 时不输出（cron 空 stdout = 不推送），但写心跳便于排查
env -u PYTHONPATH "$HB" - "$PUSH" "$HB_FILE" "$LOG" <<'PYEOF' 2>>"$LOG"
import json, re, sys, os
from datetime import datetime
push, hb, log = sys.argv[1], sys.argv[2], sys.argv[3]
txt = open(push, encoding='utf-8').read() if os.path.exists(push) else ''
mS = re.search(r'S 档 (\d+) 条', txt)
mA = re.search(r'A 档 (\d+) 条', txt)
s, a = (int(mS.group(1)) if mS else 0), (int(mA.group(1)) if mA else 0)
json.dump({'时间': datetime.now().isoformat(timespec='seconds'), 'S': s, 'A': a,
           '是否推送': bool(s or a), '日志': log},
          open(hb, 'w', encoding='utf-8'), ensure_ascii=False, indent=1)
if s or a:
    sys.stdout.write(txt)
PYEOF
