- scoring.rs: 混合评分 (calculate_risk) + RiskScore/MatchedRule 结构 - engine.rs: CopilotEngine 协调规则评估和评分 - risk_service.rs: 风险计算 + UPSERT 快照 + 规则加载 - insight_service.rs: 洞察 CRUD + 过期清理 - 3 个 Handler: insight/risk/rule,7 个 API 端点 - 5 个权限码: copilot.insights.list/manage, copilot.risk.view, copilot.rules.list/manage - AiState 扩展 risk_service + insight_service
32 lines
1.0 KiB
Rust
32 lines
1.0 KiB
Rust
use std::sync::Arc;
|
|
|
|
use erp_core::events::EventBus;
|
|
use erp_core::health_provider::HealthDataProvider;
|
|
use sea_orm::DatabaseConnection;
|
|
|
|
use crate::provider::registry::ProviderRegistry;
|
|
use crate::service::analysis::AnalysisService;
|
|
use crate::service::cache::CacheService;
|
|
use crate::service::insight_service::InsightService;
|
|
use crate::service::prompt::PromptService;
|
|
use crate::service::quota::QuotaService;
|
|
use crate::service::risk_service::RiskService;
|
|
use crate::service::suggestion::SuggestionService;
|
|
use crate::service::usage::UsageService;
|
|
|
|
#[derive(Clone)]
|
|
pub struct AiState {
|
|
pub db: DatabaseConnection,
|
|
pub event_bus: EventBus,
|
|
pub analysis: Arc<AnalysisService>,
|
|
pub prompt: Arc<PromptService>,
|
|
pub usage: Arc<UsageService>,
|
|
pub suggestion: Arc<SuggestionService>,
|
|
pub health_provider: Arc<dyn HealthDataProvider>,
|
|
pub provider_registry: Arc<ProviderRegistry>,
|
|
pub quota: Arc<QuotaService>,
|
|
pub cache: Arc<CacheService>,
|
|
pub risk_service: Arc<RiskService>,
|
|
pub insight_service: Arc<InsightService>,
|
|
}
|