#!/usr/bin/env bash
# 第一票（亮黄）表 · 每日更新：抓竞价 → 补 TUSHARE → 重建表 → 导出 → 生成看板页
# 由 crontab 在交易日收盘后调用；--force 可跳过周末判断
set -uo pipefail

HOST="root@111.170.173.55"
PORT="5522"
ROOT="/root/work/kpl"
CSV="$ROOT/竞价主表/第一票_亮黄历史.csv"
SSH="ssh -o BatchMode=yes -o ConnectTimeout=10 -p $PORT $HOST"
SCP="scp -o BatchMode=yes -P $PORT"

log() { echo "[$(date '+%F %T')] $*"; }

if [ "${1:-}" != "--force" ] && [ "$(date +%u)" -gt 5 ]; then
  log "周末，跳过"
  exit 0
fi

DAY=$(date +%F)
log "开始：$DAY"

log "[1/4] 抓当日竞价"
$SSH "python3 /root/p11_bid_hist_fetch.py $DAY $DAY" 2>&1 | tail -2

log "[2/4] 补行情与流通市值（TUSHARE）"
$SSH "set -a; . /opt/kpl-cli/.env; set +a; cd /root && python3 fetch_ts_ext.py" 2>&1 | tail -3

log "[3/4] 重建主表与第一票"
$SSH "cd /root && python3 build_auction_master.py > /tmp/build_master.log 2>&1; python3 make_lianghuang_first.py" 2>&1 | tail -8

log "[4/4] 回拉并生成看板页"
$SCP -q "$HOST:/tmp/first_ticket_lianghuang.csv" "$CSV" && cd "$ROOT" && python3 tools/make_first_page.py

rows=$(($(wc -l < "$CSV") - 1))
log "完成：$rows 行  http://43.242.200.119:18080/第一票.html?raw=1"
