"""
回填审校结果到 bitable
"""
import json, subprocess

APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf"
SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh"

records = [
    {
        "table_id": "tblCgfYDnnqwLfgH",
        "record_id": "recvjt0HzBBhYu",
        "sid": "032501",
        "text": """⚠️ 审校通过（0项错误）
题型：reading_matchInfo | 题组：first=6题 second=0题
📝 备注：只有一道题组（first），缺少second题组

🟡 能力标签映射建议（12处）：
  - '信息定位与提取' → '扫读定位｜信息匹配'（6处）
  - '细节理解' → '细节理解｜事实信息提取'（6处）

✅ 题目内容、选项、答案、解析均无问题"""
    },
    {
        "table_id": "tbl4q0ZUV3HB54t1",
        "record_id": "recvjug1hWz2oG",
        "sid": "032601",
        "text": """⚠️ 审校通过（0项错误）
题型：reading_choiceLong | 题组：first=5题 second=0题
📝 备注：只有一道题组（first），缺少second题组

🟡 能力标签映射建议（10处）：
  - '信息定位' → '扫读定位｜信息匹配'（4处）
  - '细节理解' → '细节理解｜事实信息提取'（3处）
  - '主旨归纳' → '主旨理解｜段落/文本大意'（1处）
  - '因果推断' → '推理判断｜原因/结果'（1处）
  - '推理判断' → '推理判断｜原因/结果'（1处）

✅ 题目内容、选项、答案、解析均无问题"""
    },
    {
        "table_id": "tblzKVm1FEukPgnN",
        "record_id": "recvjueHm15HPu",
        "sid": "032701",
        "text": """⚠️ 审校通过（0项错误）
题型：reading_cloze | 题组：first=6题 second=0题
📝 备注：只有一道题组（first），缺少second题组

🟡 需补充内容（12项）：
  - 全部6题的 ability 能力标签为空，需补充（建议：语法结构识别｜完形填空）
  - 全部6题的 explanation 解析为空，需补充
  - 选项与答案已填写，结构完整"""
    },
    {
        "table_id": "tblzKVm1FEukPgnN",
        "record_id": "recvjueN5QT1c5",
        "sid": "032801",
        "text": """⚠️ 审校通过（0项错误）
题型：reading_cloze | 题组：first=6题 second=0题
📝 备注：只有一道题组（first），缺少second题组

🟡 需补充内容（12项）：
  - 全部6题的 ability 能力标签为空，需补充（建议：语法结构识别｜完形填空）
  - 全部6题的 explanation 解析为空，需补充
  - 选项与答案已填写，结构完整"""
    },
    {
        "table_id": "tblLmUxzzUDe0QAJ",
        "record_id": "recvjueULrufNg",
        "sid": "032901",
        "text": """⚠️ 审校通过（0项错误）
题型：reading_openCloze | 题组：first=8题 second=6题

🟡 需补充内容（28项）：
  - 全部14题的 ability 能力标签为空，需补充（建议：语法结构识别｜完形填空）
  - 全部14题的 explanation 解析为空，需补充
  - 选项与答案已填写，题组完整（first+second均有）"""
    },
]

for r in records:
    # Escape the text for shell/JSON
    fields = json.dumps({"审校结果": r['text']}, ensure_ascii=False)
    cmd = f"bash {SKILL_SCRIPT} update_record {APP_TOKEN} {r['table_id']} {r['record_id']} '{fields}'"
    result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30)
    try:
        resp = json.loads(result.stdout)
        if resp.get('code') == 0:
            print(f"✅ {r['sid']} ({r['table_id'][-8:]}): 回填成功")
        else:
            print(f"❌ {r['sid']}: {resp}")
    except:
        print(f"❌ {r['sid']}: parse error — {result.stdout[:200]}")
