#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""针对刘子研名下集团，抽取飞书活动 + 客诉佐证（按客户名 + 货号命中）。"""
import json
import os
import re

ROOT = os.path.expanduser('~/Desktop/Hermes输出-工作类')
KEYS = ['丽珠', '天隆', '华益美', '东方基因', '佰奥莱博', '复星', '迪安', '新产业', '海尔施', '安瑞科', '雅为', '陆军军医']
SKUS = ['BTE', '2FM101', '2FM091', 'FMD5104-074901', 'FMD0104-074901', 'CM-8', 'PFM4211', 'M5244', 'M4211-3',
        'E07', 'AS05', 'E13', 'PFHW1007', 'M5261', 'M813', 'FMD5084', 'FMD2011', 'FM5144', 'FM513', 'FM507',
        'FM0181-4', 'M3161', 'E01', 'PFM2181', 'FM2181-4-NA', 'M5274', 'FSTR201', 'M8254', 'M181-4', 'M5341',
        'M2181-4', 'M223']


def shorten(s, n=300):
    return re.sub(r'\s+', ' ', str(s))[:n]


def main():
    acts = json.load(open(os.path.join(ROOT, '数据/daily_activities_mcp.json'), encoding='utf-8'))['items']
    print('活动总数', len(acts))
    for k in KEYS:
        hit = [a for a in acts if k in str(a.get('field_5f20fc', '')) or k in str(a.get('name', ''))]
        hit.sort(key=lambda a: str(a.get('start_time', '')))
        print('\n' + '#' * 90)
        print('### %s 活动 %d 条（按时间升序，近 12 条）' % (k, len(hit)))
        for a in hit[-12:]:
            print('  [%s] %s | %s | %s' % (a.get('start_time'), (a.get('owner') or {}).get('name_cn'),
                                           (a.get('field_76654e') or {}).get('label'), shorten(a.get('name'), 60)))
            print('      ', shorten(a.get('field_b99055'), 400))

    comp = json.load(open(os.path.join(ROOT, '数据/mcp_complaints.json'), encoding='utf-8'))['items']
    print('\n\n' + '=' * 90)
    print('客诉总数', len(comp))
    for k in KEYS:
        hit = [c for c in comp if k in str(c.get('customer', '')) or k in str(c.get('name', ''))]
        if hit:
            print('\n### %s 客诉 %d 条' % (k, len(hit)))
            for c in hit:
                print('  [%s] %s | 状态=%s | 紧急度=%s | 创建=%s | 节点=%s'
                      % (c.get('created'), shorten(c.get('name'), 70), c.get('status'), c.get('urgency'),
                         c.get('creator'), c.get('node')))


if __name__ == '__main__':
    main()
