#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""批量用新版 baoyu-visit-card 标准重洗所有客户拜访卡（后端 _build_visit_card）。"""
import sys, os, shutil, time
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import ai_chat

MAPPING = [
    ('上海之江', '上海之江生物科技股份有限公司'),
    ('上海透景', '上海透景生命科技股份有限公司'),
    ('中普康睿', '中普康睿河北生物科技有限公司'),
    ('丽珠试剂', '珠海丽珠试剂股份有限公司'),
    ('卓诚惠生', '北京卓诚惠生生物科技股份有限公司'),
    ('天津知因', '天津知因生物科技有限公司'),
    ('宏微特斯', '江苏宏微特斯医药科技有限公司'),
    ('广州万孚', '广州万孚生物技术股份有限公司'),
    ('新产业', '深圳市新产业生物医学工程股份有限公司'),
    ('西安佰奥莱博', '西安佰奥莱博生物科技有限公司'),
    ('西诺通科', '西诺通科（天津）生物科技有限公司'),
    ('迈克生物', '迈克生物股份有限公司'),
    ('鲲鹏基因', '鲲鹏基因（北京）科学仪器有限公司'),
    ('伯杰医疗', '上海伯杰医疗科技股份有限公司'),
]

CARD_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), '客户管理', '拜访卡')
BAK_DIR = os.path.join(CARD_DIR, '备份')
os.makedirs(BAK_DIR, exist_ok=True)
today = time.strftime('%Y%m%d')

ok = 0
fail = []
for short, full in MAPPING:
    user = {'name': '', 'role': 'sales', 'dept': '', 'line': 'da'}
    html = ai_chat._build_visit_card(full, user)
    if not html:
        print('❌ %s 生成失败' % short)
        fail.append(short)
        continue
    out = os.path.join(CARD_DIR, '%s_拜访卡.html' % short)
    with open(out, 'w', encoding='utf-8') as f:
        f.write(html)
    print('✅ %s -> %s (%d 字节)' % (short, os.path.basename(out), len(html)))
    ok += 1

print('\n=== 完成：%d 成功，%d 失败 ===' % (ok, len(fail)))
if fail:
    print('失败:', fail)
