From 2ac63e3844dd5f291eb5239a1f4cd9ab36085b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Thu, 10 Sep 2026 14:00:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(management):=20=E5=A4=9C=E9=97=B4=E5=85=A8?= =?UTF-8?q?=E9=87=8F=E8=84=9A=E6=9C=AC13/14=E6=AD=A5=E2=80=94=E2=80=94fact?= =?UTF-8?q?=E4=B8=8E=E5=AE=BD=E8=A1=A8=E5=85=A8=E9=87=8F=E8=87=AA=E6=84=88?= =?UTF-8?q?+=E7=BB=88=E5=B1=80=E5=BF=AB=E7=85=A7=E4=B8=89=E8=A1=A8?= =?UTF-8?q?=E8=A1=8C=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yunke-server/scripts/full_sync_all.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yunke-server/scripts/full_sync_all.sh b/yunke-server/scripts/full_sync_all.sh index 194a159..3da58ab 100644 --- a/yunke-server/scripts/full_sync_all.sh +++ b/yunke-server/scripts/full_sync_all.sh @@ -59,6 +59,15 @@ $PY -m app.sync.cli daily-stats # A1 员工指标读路径依赖此表,2026-09-04) echo "$(date) --- 12/12 Staff-daily-stats rebuild ---" $PY -m app.sync.cli staff-daily-stats +# 13:首响事实表全量重建(管理域,跨日精确串;批次A)——会话发现读 +# msg_daily_stats(fact 行直算读 message),故须在 11 步后;与 11/12 +# 同为夜间自愈链(绕过钩子的写入由全量重算纠正) +echo "$(date) --- 13/14 First-reply-facts rebuild ---" +$PY -m app.sync.cli first-reply-facts +# 14:管理宽表+通话小表全量重建(驾驶舱/员工页读路径;串类列与 fact 同 +# 算法各自直算,放 fact 后保持派生链顺序语义) +echo "$(date) --- 14/14 Employee-metrics rebuild ---" +$PY -m app.sync.cli employee-metrics echo "==============================================" echo "$(date) === FULL RE-SYNC COMPLETE ===" @@ -84,6 +93,9 @@ TABLES = [ ("wechat messages", "SELECT COUNT(*) FROM message WHERE channel='wechat'"), ("whatsapp messages", "SELECT COUNT(*) FROM message WHERE channel='whatsapp'"), ("daily stats rows", "SELECT COUNT(*) FROM msg_daily_stats"), + ("first reply facts", "SELECT COUNT(*) FROM first_reply_fact"), + ("employee metric rows", "SELECT COUNT(*) FROM employee_metric_daily"), + ("employee call rows", "SELECT COUNT(*) FROM employee_call_daily"), ("voice calls", "SELECT COUNT(*) FROM phone_call WHERE channel IN ('voice_call','wa_voice_call')"), ("voice clips", "SELECT COUNT(*) FROM voice_clip"), ("moments posts", "SELECT COUNT(*) FROM moments_post"),