from enum import Enum, unique @unique class EnvironmentEnum(str, Enum): """应用运行环境(开发 / 生产)。""" DEV = "dev" PROD = "prod" @unique class BusinessType(Enum): """ 业务操作类型 OTHER: 其它 INSERT: 新增 UPDATE: 修改 DELETE: 删除 GRANT: 授权 EXPORT: 导出 IMPORT: 导入 FORCE: 强退 GENCODE: 生成代码 CLEAN: 清空数据 """ OTHER = 0 INSERT = 1 UPDATE = 2 DELETE = 3 GRANT = 4 EXPORT = 5 IMPORT = 6 FORCE = 7 GENCODE = 8 CLEAN = 9 @unique class RedisInitKeyConfig(Enum): """系统内置Redis键名枚举""" ACCESS_TOKEN = {"key": "access_token", "remark": "登录令牌信息"} REFRESH_TOKEN = {"key": "refresh_token", "remark": "刷新令牌信息"} CAPTCHA_CODES = {"key": "captcha_codes", "remark": "图片验证码"} SYSTEM_CONFIG = {"key": "system_config", "remark": "系统配置"} SYSTEM_DICT = {"key": "system_dict", "remark": "数据字典"} APSCHEDULER_LOCK_KEY = { "key": "scheduler_job_lock", "remark": "定时任务初始化锁", } @property def key(self) -> str: """ 获取 Redis 键名。 返回: - str: 键名字符串。 """ return self.value.get("key", "") @property def remark(self) -> str: """ 获取 Redis 键说明。 返回: - str: 说明文案。 """ return self.value.get("remark", "") class McpType(Enum): """Mcp 服务器类型""" stdio = 0 sse = 1 class McpLLMProvider(Enum): """MCP 大语言模型供应商""" openai = "openai" deepseek = "deepseek" anthropic = "anthropic" gemini = "gemini" qwen = "qwen" @unique class QueueEnum(str, Enum): """队列枚举""" none = "None" not_none = "not None" date = "date" month = "month" like = "like" eq = "eq" or "==" in_ = "in" between = "between" ne = "!=" or "ne" gt = ">" or "gt" ge = ">=" or "ge" lt = "<" or "lt" le = "<=" or "le" class PermissionFilterStrategy(str, Enum): """ 权限过滤策略枚举 定义不同的权限过滤策略,让模型选择合适的过滤方式 """ DATA_SCOPE = "data_scope" # 基于数据范围权限(默认) ROLE_BASED = "role_based" # 基于角色授权(菜单) DEPT_BASED = "dept_based" # 基于部门关联(部门、角色) SELF_ONLY = "self_only" # 仅本人数据 USER_ROLE = "user_role" # 当前用户绑定的角色 ENTERPRISE_BASED = "enterprise_based" # 基于企业ID的企业隔离