集成系统
集成系统是井云平台的支撑服务系统,负责文件上传、短信服务以及第三方平台集成等功能。
🎯 系统概述
核心功能
- 文件上传: 支持多种存储后端的文件上传
- 短信服务: 支持多个短信服务提供商
- 平台集成: 第三方平台集成配置和管理
服务端口
- gRPC服务: 9007
🏗️ 架构设计
系统架构
┌─────────────────────────────────────────┐
│ Integration Service (9007) │
├─────────────────────────────────────────┤
│ Service Layer │
│ - FileUploadService │
│ - SMSService │
│ - PlatformIntegrationService │
├─────────────────────────────────────────┤
│ Business Layer │
│ - FileUpload Usecase │
│ - SMS Usecase │
│ - Platform Usecase │
├─────────────────────────────────────────┤
│ Data Layer │
│ - OSS Client │
│ - SMS Provider │
│ - Platform Client │
├─────────────────────────────────────────┤
│ Third Party Services │
│ - 阿里云OSS │
│ - 腾讯云COS │
│ - AWS S3 │
│ - 阿里云短信 │
│ - 腾讯云短信 │
│ - 华为云短信 │
│ - AWS SNS │
└─────────────────────────────────────────┘
📁 文件上传
支持的存储后端
- 本地存储: 本地文件系统存储
- 阿里云OSS: 阿里云对象存储
- 腾讯云COS: 腾讯云对象存储
- AWS S3: Amazon S3对象存储
上传方式
- 直传: 客户端直接上传到云存储
- 服务端上传: 通过服务端上传
- STS临时授权: 使用STS临时凭证上传
文件管理
- 文件类型验证: 验证文件类型
- 文件大小限制: 限制文件大小
- 文件元数据: 管理文件元数据
- 上传回调: 处理上传回调
OSS直传流程
阿里云 OSS 直传步骤:
- 客户端请求网关服务获取上传签名
- 网关服务请求集成服务获取 OSS 签名
- 集成服务向阿里云 OSS 请求生成 STS 临时凭证
- 阿里云 OSS 返回临时凭证给集成服务
- 集成服务返回签名和凭证给网关服务
- 网关服务返回上传参数给客户端
- 客户端使用临时凭证直接上传文件到阿里云 OSS
- 阿里云 OSS 返回上传成功给客户端
- 客户端通知网关服务上传完成
- 网关服务请求集成服务处理上传回调
- 集成服务处理回调并返回成功给网关服务
- 网关服务返回成功给客户端
📱 短信服务
支持的短信服务提供商
- 阿里云短信: 阿里云短信服务
- 腾讯云短信: 腾讯云短信服务
- 华为云短信: 华为云短信服务
- AWS SNS: Amazon SNS短信服务
短信功能
- 发送短信: 发送单条短信
- 批量发送: 批量发送短信
- 模板管理: 短信模板管理
- 发送记录: 短信发送记录
短信验证码
- 生成验证码: 生成6位数字验证码
- 发送验证码: 发送验证码短信
- 验证验证码: 验证验证码有效性
- 防刷机制: 限制发送频率
短信配置
- Access Key: 访问密钥ID
- Secret Key: 访问密钥Secret
- Region: 服务区域
- Sign Name: 短信签名
- Template ID: 短信模板ID
🔌 平台集成
支持的平台
- Coze: Coze AI平台
- 豆包: 豆包AI平台
- 通义千问: 阿里通义千问
- 混元: 腾讯混元AI
- ChatGLM: 智谱AI
- SiliconFlow: SiliconFlow平台
平台配置管理
- 创建集成: 创建平台集成配置
- 更新集成: 更新平台配置
- 删除集成: 删除平台集成
- 集成列表: 获取集成列表
平台配置信息
- 基础配置: app_id, app_key, app_secret
- API配置: api_key, endpoint
- 回调配置: webhook_url, redirect_url
- 扩展配置: extra_config (JSON格式)
📊 数据模型
PlatformIntegration (平台集成)
- 平台信息: platform, app_id, app_key
- API信息: api_key, endpoint
- 回调信息: webhook_url, redirect_url
- 租户信息: tenant_id
- 扩展配置: extra_config
- 状态信息: status, is_active
- 时间字段: created_at, updated_at