#!/usr/bin/env bash

[[ -n "${DEBUG:-}" ]] && set -eux || set -euo pipefail

WEBHOOK_SECRET="${WEBHOOK_SECRET:-}"

# ==================== 配置 ====================
URL="${1:-https://billing.chunkserve.com/index.php?rp=/store/let-vm-special/xeon-yearly-deal-3-at-let}"
#WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxx"   # ← 改成你的真实 webhook
WEBHOOK_URL="https://open.larksuite.com/open-apis/bot/v2/hook/${WEBHOOK_SECRET}"

PRODUCT_NAME="Xeon Yearly Deal 3 - Yearly"
STATE_FILE="/tmp/chunkserve_stock_status.txt"
LOG_FILE="/tmp/chunkserve_monitor.log"
# ================================================

# 检查是否有货（宽松匹配多种缺货表述）
if curl -s -L --max-time 15 "$URL" | grep -qiE "out\s*(of|for)\s*stock|售罄|无货|缺货|Out of Stock"; then
    CURRENT="out_of_stock"
else
    CURRENT="in_stock"
fi

LAST=$(cat "$STATE_FILE" 2>/dev/null || echo "unknown")

if [ "$CURRENT" = "in_stock" ] && [ "$LAST" != "in_stock" ]; then
    DETECT_TIME=$(date '+%Y-%m-%d %H:%M:%S')

    # 使用 heredoc 发送符合你示例的卡片格式
    curl -s -X POST "$WEBHOOK_URL" \
      -H "Content-Type: application/json" \
      -d @- << EOF
{
  "msg_type": "interactive",
  "card": {
    "schema": "2.0",
    "config": {
      "update_multi": true,
      "style": {
        "text_size": {
          "normal_v2": {
            "default": "normal",
            "pc": "normal",
            "mobile": "heading"
          }
        }
      }
    },
    "header": {
      "title": {
        "tag": "plain_text",
        "content": "✅ 商品到货提醒"
      },
      "template": "green",
      "padding": "12px 12px 12px 12px"
    },
    "body": {
      "direction": "vertical",
      "padding": "12px 12px 12px 12px",
      "elements": [
        {
          "tag": "markdown",
          "content": "**${PRODUCT_NAME}** 现在**有货啦！**  \n快去抢购，别错过了！",
          "text_align": "left",
          "text_size": "normal_v2",
          "margin": "0px 0px 16px 0px"
        },
        {
          "tag": "button",
          "text": {
            "tag": "plain_text",
            "content": "立即抢购"
          },
          "type": "primary",
          "width": "default",
          "size": "medium",
          "behaviors": [
            {
              "type": "open_url",
              "default_url": "${URL}"
            }
          ],
          "margin": "0px 0px 0px 0px"
        },
        {
          "tag": "markdown",
          "content": "检测时间：${DETECT_TIME}",
          "text_align": "left",
          "text_size": "normal_v2",
          "margin": "16px 0px 0px 0px"
        }
      ]
    }
  }
}
EOF

    if [ $? -eq 0 ]; then
        echo "[${DETECT_TIME}] 有货 → 卡片通知已发送" >> "$LOG_FILE"
    else
        echo "[${DETECT_TIME}] 通知发送失败（检查Webhook?）" >> "$LOG_FILE"
    fi
fi

# 更新上次状态
echo "$CURRENT" > "$STATE_FILE"

# 记录当前状态（用于调试）
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 状态: $CURRENT" >> "$LOG_FILE"
