68 lines
2.2 KiB
PHP
68 lines
2.2 KiB
PHP
<?php
|
|
// OPUS5 — Fast endpoint prospects recensés aujourd'hui (fix 502 ethica-chatbot)
|
|
// Répond en <500ms au lieu de 30s+ timeout LLM
|
|
header('Content-Type: application/json');
|
|
$start = microtime(true);
|
|
$R = ['ts'=>date('c'), 'source'=>'opus5-prospects-today'];
|
|
|
|
// Connexion PG S95
|
|
$conn = @pg_connect("host=10.1.0.3 port=5432 dbname=adx_system user=admin password=admin123 connect_timeout=5");
|
|
if (!$conn) {
|
|
http_response_code(503);
|
|
echo json_encode(['error'=>'db_unreachable', 'source'=>'opus5-prospects-today']);
|
|
exit;
|
|
}
|
|
|
|
// 3 compteurs aujourd'hui
|
|
$out = [];
|
|
|
|
// Ethica
|
|
$r = @pg_query($conn, "SELECT count(*) as c, max(created_at) as last FROM ethica.medecins_real WHERE created_at::date = CURRENT_DATE");
|
|
if ($r) {
|
|
$row = pg_fetch_assoc($r);
|
|
$out['ethica_medecins_today'] = (int)$row['c'];
|
|
$out['ethica_last_created'] = $row['last'];
|
|
}
|
|
|
|
// weval_leads
|
|
$r = @pg_query($conn, "SELECT count(*) as c FROM weval_leads WHERE created_at::date = CURRENT_DATE");
|
|
if ($r) {
|
|
$row = pg_fetch_assoc($r);
|
|
$out['weval_leads_today'] = (int)$row['c'];
|
|
}
|
|
|
|
// admin.leads
|
|
$r = @pg_query($conn, "SELECT count(*) as c FROM admin.leads WHERE created_at::date = CURRENT_DATE");
|
|
if ($r) {
|
|
$row = pg_fetch_assoc($r);
|
|
$out['admin_leads_today'] = (int)$row['c'];
|
|
}
|
|
|
|
// Total ethica stable (référence)
|
|
$r = @pg_query($conn, "SELECT count(*) FROM ethica.medecins_real");
|
|
if ($r) {
|
|
$out['ethica_total'] = (int)pg_fetch_result($r, 0, 0);
|
|
}
|
|
|
|
pg_close($conn);
|
|
|
|
$R['stats'] = $out;
|
|
$R['total_today'] = ($out['ethica_medecins_today'] ?? 0) + ($out['weval_leads_today'] ?? 0) + ($out['admin_leads_today'] ?? 0);
|
|
|
|
// Response humaine pour le chatbot
|
|
$R['response'] = sprintf(
|
|
"Aujourd'hui %s, nos agents ont recensé %d prospects :\n\n- Ethica HCPs: %d nouveaux (total base: %d)\n- WEVAL leads: %d nouveaux\n- Admin leads (B2B): %d nouveaux\n\nTotal: %d prospects recensés aujourd'hui.",
|
|
date('d/m/Y'),
|
|
$R['total_today'],
|
|
$out['ethica_medecins_today'] ?? 0,
|
|
$out['ethica_total'] ?? 0,
|
|
$out['weval_leads_today'] ?? 0,
|
|
$out['admin_leads_today'] ?? 0,
|
|
$R['total_today']
|
|
);
|
|
|
|
$R['ms'] = round((microtime(true) - $start) * 1000);
|
|
$R['provider'] = 'opus5-prospects-today-direct-db';
|
|
|
|
echo json_encode($R, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
|