增强 ggsel 解析抽内嵌 JSON 价;区服 title 过滤;probe-pay-rails/clashctl pay-probe 写入 quotes 后刷新 chain breaks。条目价作市价存在性,非面值折扣率。
32 lines
1.4 KiB
Bash
Executable file
32 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# 支付轨专用探针:礼品卡 / 虚拟卡市价 → 合并 ai-accounts → 刷新 chain breaks
|
|
# 用法: bash scripts/manhuang/probe-pay-rails.sh [--force]
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:${PATH:-}"
|
|
export PYTHONPATH="${ROOT}/src${PYTHONPATH:+:$PYTHONPATH}"
|
|
|
|
FORCE=()
|
|
[[ "${1:-}" == "--force" ]] && FORCE=(--force)
|
|
|
|
echo "[probe-pay-rails] giftcard + virtual_card …"
|
|
python3 "$ROOT/scripts/manhuang/probe-ai-account-quotes.py" \
|
|
--ids giftcard_us --ids giftcard_tr --ids giftcard_hk --ids virtual_card \
|
|
"${FORCE[@]}"
|
|
|
|
echo "[probe-pay-rails] refresh chain breaks …"
|
|
python3 "$ROOT/scripts/manhuang/refresh-chain-breaks.py"
|
|
|
|
# 摘要
|
|
python3 - <<'PY'
|
|
import json
|
|
from pathlib import Path
|
|
from joy.dashboard.manhuang import _pay_rail_meta
|
|
q = json.loads(Path.home().joinpath(".cache/manhuang/quotes/ai-accounts.json").read_text())
|
|
pay = _pay_rail_meta(quotes_skus=q.get("skus"))
|
|
print(f"[probe-pay-rails] pay reason={pay.get('reason')} market={pay.get('market_n')} msrp={pay.get('msrp_n')} sku={pay.get('sku_n')}")
|
|
for r in (pay.get("rails") or []):
|
|
print(f" {r.get('id')}: {r.get('quality')} price={r.get('price')} ch={r.get('channel')}")
|
|
ch = json.loads(Path.home().joinpath(".cache/manhuang/chain/breaks.json").read_text())
|
|
print(f"[probe-pay-rails] top_break={(ch.get('top_break') or {}).get('reason')} breaks={len(ch.get('breaks') or [])}")
|
|
PY
|