use std::{error::Error, fmt}; #[derive(Clone, Debug, PartialEq, Eq)] pub enum CreativeAgentError { MissingSessionId, MissingOwnerUserId, MissingMessageId, MissingMessageText, MissingTemplateSelection, MissingCostRange, MissingTargetSessionId, InvalidStageTransition, TemplateNotConfirmed, UnsupportedTargetPlayType, } impl fmt::Display for CreativeAgentError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let message = match self { Self::MissingSessionId => "creative session_id 缺失", Self::MissingOwnerUserId => "creative owner_user_id 缺失", Self::MissingMessageId => "creative message_id 缺失", Self::MissingMessageText => "creative message text 缺失", Self::MissingTemplateSelection => "拼图模板选择缺失", Self::MissingCostRange => "拼图模板积分范围缺失", Self::MissingTargetSessionId => "目标拼图 session 缺失", Self::InvalidStageTransition => "创意 Agent 阶段迁移不合法", Self::TemplateNotConfirmed => "拼图模板未确认,不能创建草稿", Self::UnsupportedTargetPlayType => "Phase 1 只允许绑定拼图 target", }; write!(f, "{message}") } } impl Error for CreativeAgentError {}