feat: 同步报销流程与工作台改动

This commit is contained in:
caoxiaozhu
2026-06-09 08:32:00 +00:00
parent e124e4bbcb
commit 25724c354f
64 changed files with 6518 additions and 687 deletions

View File

@@ -147,3 +147,52 @@ def test_system_dashboard_service_aggregates_real_runtime_metrics() -> None:
assert dashboard.accuracy_comparison["wrong"][
dashboard.accuracy_comparison["categories"].index("异常诊断")
] == 1
def test_system_dashboard_counts_online_users_from_active_sessions_across_window() -> None:
now = datetime.now(UTC)
with build_session() as db:
db.add_all(
[
UserSessionMetric(
session_id="session-online-old-001",
username="active.user@example.com",
display_name="在线用户",
email="active.user@example.com",
login_at=now - timedelta(days=2),
last_activity_at=now - timedelta(days=2),
activity_event_count=3,
status="active",
),
UserSessionMetric(
session_id="session-online-old-002",
username="active.user@example.com",
display_name="在线用户",
email="active.user@example.com",
login_at=now - timedelta(minutes=15),
last_activity_at=now - timedelta(minutes=15),
activity_event_count=5,
status="active",
),
UserSessionMetric(
session_id="session-closed-outside-window",
username="offline.user@example.com",
display_name="离线用户",
email="offline.user@example.com",
login_at=now - timedelta(days=3),
logout_at=now - timedelta(days=2, hours=23),
duration_ms=60 * 60 * 1000,
status="closed",
),
]
)
db.commit()
dashboard = SystemDashboardService(db).build_dashboard(days=1)
login_users = dashboard.login_wave["loginUsers"]
assert dashboard.totals["onlineUsers"] == 1
assert max(login_users) == 1
assert "00:00" in dashboard.login_wave["labels"]
assert "23:00" in dashboard.login_wave["labels"]