#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""离线复算 /api/order/options 对「sales=刘子研」的返回，验证丹威是否在候选里"""
import sys

sys.path.insert(0, '/Users/liuxinyuan/Desktop/Hermes输出-工作类/脚本')
import order_api  # noqa: E402

# 模拟服务端装配（销售工作台服务.py 里 order_api.setup(visible_sales=_act_visible_sales)）
def _act_visible_sales(user):
    role = (user or {}).get('role') or 'sales'
    name = (user or {}).get('name') or ''
    if role in ('admin', 'gm', 'readonly'):
        return None
    return {name}


order_api.setup(visible_sales=_act_visible_sales, notify=lambda *a, **k: None)

for user in ({'name': '刘子研', 'role': 'sales', 'dept': '大客户部'},
             {'name': '刘子研', 'role': 'manager', 'dept': '大客户部'}):
    d = order_api.handle_get('/api/order/options', {}, user)
    names = [c['name'] for c in (d or {}).get('customers') or []]
    hit = [n for n in names if '丹威' in n]
    print('%s/%s → 客户 %d ｜ 丹威命中 %s' % (user['name'], user['role'], len(names), hit))

d = order_api.handle_get('/api/order/options', {}, {'name': '刘子研', 'role': 'sales'})
row = [c for c in d['customers'] if '丹威' in c['name']]
print('字段样例:', {k: row[0][k] for k in ('name', 'sp', 'dept', 'grade', 'terms_granted')} if row else None)

sk = order_api.handle_get('/api/order/customer_skus', {'customer': '杭州丹威生物科技有限公司'},
                          {'name': '刘子研', 'role': 'sales'})
print('该客户历史成交货号数:', (sk or {}).get('total'), '｜返回', len((sk or {}).get('skus') or []))
