跳到主要内容

集成系统

集成系统是井云平台的支撑服务系统,负责文件上传、短信服务以及第三方平台集成等功能。

🎯 系统概述

核心功能

  • 文件上传: 支持多种存储后端的文件上传
  • 短信服务: 支持多个短信服务提供商
  • 平台集成: 第三方平台集成配置和管理

服务端口

  • 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 直传步骤:

  1. 客户端请求网关服务获取上传签名
  2. 网关服务请求集成服务获取 OSS 签名
  3. 集成服务向阿里云 OSS 请求生成 STS 临时凭证
  4. 阿里云 OSS 返回临时凭证给集成服务
  5. 集成服务返回签名和凭证给网关服务
  6. 网关服务返回上传参数给客户端
  7. 客户端使用临时凭证直接上传文件到阿里云 OSS
  8. 阿里云 OSS 返回上传成功给客户端
  9. 客户端通知网关服务上传完成
  10. 网关服务请求集成服务处理上传回调
  11. 集成服务处理回调并返回成功给网关服务
  12. 网关服务返回成功给客户端

📱 短信服务

支持的短信服务提供商

  • 阿里云短信: 阿里云短信服务
  • 腾讯云短信: 腾讯云短信服务
  • 华为云短信: 华为云短信服务
  • 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

🔌 API 接口

文件上传接口

  • GetOSSSignature: 获取阿里云OSS签名
  • HandleOSSCallback: 处理OSS上传回调

短信服务接口

  • SendSMS: 发送短信

平台集成接口

  • CreatePlatformIntegration: 创建平台集成
  • GetPlatformIntegration: 获取平台集成详情
  • UpdatePlatformIntegration: 更新平台集成
  • DeletePlatformIntegration: 删除平台集成
  • ListPlatformIntegrations: 获取平台集成列表

🔒 安全特性

文件上传安全

  • 类型验证: 严格的文件类型验证
  • 大小限制: 文件大小限制
  • 病毒扫描: 文件病毒扫描(可选)
  • 访问控制: 文件访问权限控制

短信服务安全

  • 频率限制: 防止短信滥用
  • 验证码有效期: 验证码有效期管理
  • 发送限制: 每个手机号发送限制
  • 黑名单: 黑名单管理

API密钥安全

  • 密钥加密: API密钥加密存储
  • 密钥轮换: 支持密钥轮换
  • 权限控制: 密钥访问权限控制

🚀 性能优化

文件上传优化

  • 直传: 客户端直传,减少服务端压力
  • CDN加速: 使用CDN加速文件访问
  • 分片上传: 大文件分片上传
  • 断点续传: 支持断点续传

短信发送优化

  • 异步发送: 异步发送短信
  • 批量发送: 批量发送优化
  • 重试机制: 发送失败重试
  • 队列管理: 使用消息队列管理

🔗 相关文档