Skip to content

系统集成场景分析

文档编号:SYS-DES-BA-006
文档版本:1.0
创建日期:2026-03-08
文档作者:架构师
文档状态:✅ Reviewed and Approved(2026-03-08)


1. 概述

1.1 文档目的

本文档分析System基础平台与外部系统的集成场景,明确集成需求、数据流转和异常处理策略,为系统集成设计提供场景化指导。

1.2 输入文档

  • 核心业务流程分析(SYS-DES-BA-003)
  • 业务规则梳理(SYS-DES-BA-004)
  • System系统业务需求文档(BRD)V1.1
  • 现有系统架构资料

1.3 集成系统清单

系统名称系统类型集成方式集成优先级
HR系统内部系统API + 消息队列P0
ERP系统内部系统APIP1
OA系统内部系统API + SSOP1
CRM系统内部系统APIP2
财务系统内部系统APIP2
邮件服务外部服务SMTP/IMAPP0
短信服务外部服务HTTP APIP1
文件存储外部服务S3/OSS APIP1

2. HR系统集成场景

2.1 员工入职同步

场景2.1.1:新员工入职自动开户

场景描述:HR系统中员工入职审批通过后,自动在System平台创建用户账号

集成方式:消息队列(异步)

触发条件

  • HR系统中员工入职审批通过
  • 员工信息完整且有效

数据流向

HR系统 → 消息队列 → System平台 → 用户创建 → 通知发送

场景步骤

步骤操作方操作内容数据内容
1HR系统入职审批通过员工信息
2HR系统发送入职事件EmployeeEntryEvent
3消息队列事件入队消息持久化
4System平台消费入职事件解析员工数据
5System平台检查用户是否存在员工编号查询
6System平台创建用户账号用户信息
7System平台分配默认角色普通用户角色
8System平台分配主部门部门映射
9System平台生成初始密码随机密码
10System平台发送通知邮件账号信息
11System平台确认消息消费ACK确认

数据映射

HR字段System字段转换规则
employee_noemployee_no直接映射
namereal_name直接映射
emailemail直接映射
mobilemobile直接映射
department_codedept_id部门编码映射
positionposition直接映射
entry_dateentry_date日期格式转换

业务规则

  • BR-INT-001: 员工入职后24小时内必须完成账号创建
  • BR-INT-002: 如用户已存在则更新员工状态为在职
  • BR-INT-003: 初始密码必须满足复杂度要求
  • BR-INT-004: 账号创建成功后必须发送通知邮件

异常处理

异常场景处理策略补偿机制
消息消费失败重试3次,间隔5分钟死信队列,人工处理
部门映射失败记录错误,分配默认部门管理员手动调整
邮件发送失败记录日志,不重试管理员手动补发
用户创建失败记录错误,不消费消息人工排查后重试

幂等性保证

  • 使用员工编号作为幂等键
  • 重复消息不重复创建用户
  • 更新操作覆盖原有数据

场景2.1.2:员工信息变更同步

场景描述:HR系统中员工信息变更后,同步更新System平台用户信息

集成方式:消息队列(异步)

触发条件

  • HR系统中员工关键信息变更
  • 变更字段涉及:姓名、部门、职位、邮箱、手机号

场景步骤

步骤操作方操作内容数据内容
1HR系统员工信息变更变更字段
2HR系统发送变更事件EmployeeChangedEvent
3System平台消费变更事件解析变更数据
4System平台查询现有用户员工编号查询
5System平台比对变更字段差异分析
6System平台更新用户信息增量更新
7System平台记录变更日志审计日志
8System平台通知用户(如必要)变更通知

可变更字段

  • 姓名(real_name)
  • 部门(dept_id)
  • 职位(position)
  • 邮箱(email)- 需校验唯一性
  • 手机号(mobile)- 需校验唯一性

不可变更字段

  • 员工编号(employee_no)
  • 用户名(username)
  • 用户ID(user_id)

2.2 员工离职同步

场景2.2.1:员工离职自动禁用账号

场景描述:HR系统中员工离职审批通过后,自动禁用System平台账号

集成方式:消息队列(异步)

触发条件

  • HR系统中员工离职审批通过
  • 离职日期到达

数据流向

HR系统 → 消息队列 → System平台 → 账号禁用 → 会话清理

场景步骤

步骤操作方操作内容数据内容
1HR系统离职审批通过离职信息
2HR系统发送离职事件EmployeeResignEvent
3System平台消费离职事件解析离职数据
4System平台查询用户账号员工编号查询
5System平台禁用用户账号状态更新为DISABLED
6System平台撤销所有TokenToken失效
7System平台清理用户会话会话销毁
8System平台更新员工状态状态更新为RESIGNED
9System平台记录审计日志操作日志
10System平台通知管理员离职处理通知

业务规则

  • BR-INT-005: 离职员工账号必须立即禁用
  • BR-INT-006: 禁用账号时所有Token立即失效
  • BR-INT-007: 离职员工历史数据保留
  • BR-INT-008: 离职处理必须记录审计日志

延迟离职处理

场景处理策略
提前审批记录离职日期,到达日期自动处理
即时离职立即处理
离职取消撤销离职状态,恢复账号

2.3 组织架构同步

场景2.3.1:部门变更同步

场景描述:HR系统中组织架构变更后,同步更新System平台部门结构

集成方式:消息队列(异步)

触发条件

  • HR系统中部门新增、修改、删除
  • HR系统中部门层级调整

场景步骤

步骤操作方操作内容数据内容
1HR系统部门变更部门数据
2HR系统发送部门变更事件DepartmentChangedEvent
3System平台消费变更事件解析部门数据
4System平台部门映射转换编码映射
5System平台执行变更操作增删改
6System平台级联更新子部门树路径更新
7System平台更新部门用户部门关联更新
8System平台记录变更日志审计日志

变更类型处理

变更类型处理逻辑注意事项
新增部门创建部门节点检查父部门存在性
修改部门更新部门信息编码不可修改
删除部门检查无用户后删除有用户则标记禁用
部门移动更新父部门和树路径级联更新子部门

3. ERP系统集成场景

3.1 基础数据同步

场景3.1.1:供应商/客户主数据同步

场景描述:ERP系统中供应商或客户信息变更后,同步到System平台用于权限控制

集成方式:API(定时同步)

触发条件

  • 定时任务触发(每日凌晨2点)
  • 手动触发同步

数据流向

System平台 → API调用 → ERP系统 → 返回数据 → System平台处理

场景步骤

步骤操作方操作内容数据内容
1System平台触发同步任务同步请求
2System平台调用ERP接口GET /api/partners
3ERP系统返回数据列表供应商/客户数据
4System平台解析响应数据数据转换
5System平台比对本地数据差异分析
6System平台增量更新数据增删改操作
7System平台记录同步日志同步结果
8System平台发送同步报告管理员通知

同步策略

策略项配置
同步频率每日凌晨2:00
同步方式全量比对,增量更新
超时时间30秒
重试次数3次
失败处理记录日志,发送告警

4. OA系统集成场景

4.1 单点登录(SSO)

场景4.1.1:OA系统免密登录System平台

场景描述:用户已登录OA系统,点击链接免密跳转到System平台

集成方式:SSO Token(同步)

触发条件

  • 用户已登录OA系统
  • 用户点击System平台链接

数据流向

用户 → OA系统 → 生成SSO Token → 跳转System → 验证Token → 自动登录

场景步骤

步骤操作方操作内容数据内容
1用户点击System链接访问请求
2OA系统生成SSO Token加密Token
3OA系统跳转System平台携带Token
4System平台接收SSO请求解析Token
5System平台验证Token有效性签名验证
6System平台验证Token时效时间戳检查
7System平台查询或创建用户用户映射
8System平台创建本地会话Token生成
9System平台跳转工作台登录成功

Token规范

属性说明示例
用户标识OA系统用户唯一标识user_12345
时间戳Token生成时间1646723400
有效期Token有效时长5分钟
签名HMAC-SHA256签名abc123...

安全控制

  • BR-INT-009: SSO Token有效期不超过5分钟
  • BR-INT-010: SSO Token只能使用一次
  • BR-INT-011: Token必须包含防篡改签名
  • BR-INT-012: 用户映射失败时拒绝登录

4.2 待办集成

场景4.2.1:System待办同步到OA

场景描述:System平台产生的待办任务同步到OA系统统一展示

集成方式:API(实时推送)

触发条件

  • System平台产生新的待办任务
  • 待办任务状态变更

场景步骤

步骤操作方操作内容数据内容
1System平台待办任务创建待办数据
2System平台调用OA接口POST /api/todos
3OA系统接收待办数据数据解析
4OA系统创建待办记录数据存储
5OA系统返回处理结果成功/失败
6System平台记录同步状态同步日志

待办数据格式

json
{
  "sourceSystem": "SYSTEM",
  "todoId": "todo_12345",
  "userId": "user_67890",
  "title": "审批申请",
  "content": "您有一条待审批的申请",
  "url": "https://system.example.com/approval/12345",
  "priority": "HIGH",
  "createTime": "2026-03-08T10:30:00Z",
  "expireTime": "2026-03-09T10:30:00Z"
}

5. 外部服务集成场景

5.1 邮件服务集成

场景5.1.1:系统通知邮件发送

场景描述:系统需要向用户发送通知邮件(账号开通、密码重置等)

集成方式:SMTP(异步)

触发条件

  • 用户账号创建成功
  • 用户申请密码重置
  • 系统告警通知

场景步骤

步骤操作方操作内容数据内容
1System平台触发邮件发送邮件任务
2System平台邮件内容渲染HTML内容
3System平台发送SMTP请求SMTP协议
4邮件服务器接收邮件请求邮件队列
5邮件服务器发送邮件投递到收件箱
6邮件服务器返回发送结果成功/失败
7System平台记录发送日志发送记录

邮件模板

模板名称使用场景关键变量
welcome账号开通username, password, loginUrl
reset_password密码重置resetUrl, expireTime
password_changed密码修改成功changeTime, ipAddress
login_alert异常登录提醒loginTime, ipAddress, location

失败处理

失败类型重试策略告警方式
网络超时重试3次,间隔1分钟
邮箱不存在不重试记录日志
邮箱已满重试1次,间隔1小时
SMTP服务不可用重试5次,间隔5分钟发送告警

5.2 短信服务集成

场景5.2.1:验证码短信发送

场景描述:用户登录或敏感操作时需要短信验证码

集成方式:HTTP API(同步)

触发条件

  • 用户开启短信二次验证
  • 敏感操作确认

场景步骤

步骤操作方操作内容数据内容
1用户请求发送验证码手机号
2System平台生成验证码6位随机数字
3System平台保存验证码Redis缓存(5分钟)
4System平台调用短信APIPOST /api/sms/send
5短信服务商发送短信短信投递
6短信服务商返回发送结果发送状态
7System平台返回发送结果成功/失败

频率限制

限制类型限制值说明
单手机号日限制10条防止短信轰炸
单IP日限制50条防止恶意调用
发送间隔60秒同一手机号间隔
验证码有效期5分钟过期需重新获取

5.3 文件存储集成

场景5.3.1:用户头像上传

场景描述:用户上传头像,存储到对象存储服务

集成方式:S3/OSS API(同步)

触发条件

  • 用户上传头像文件

场景步骤

步骤操作方操作内容数据内容
1用户选择头像文件图片文件
2System平台校验文件格式格式检查
3System平台校验文件大小大小检查(最大2MB)
4System平台生成文件路径用户ID/avatar/timestamp.jpg
5System平台上传文件到OSSPUT Object
6OSS服务存储文件文件持久化
7OSS服务返回文件URL访问地址
8System平台更新用户头像URL数据库更新
9System平台返回上传结果成功/失败

文件规范

属性限制说明
格式JPG, PNG, GIF图片格式
大小最大2MB文件大小限制
尺寸建议200x200推荐尺寸
存储路径user/{userId}/avatar/按用户隔离
访问权限公开读允许公开访问

6. 集成异常处理

6.1 异常分类

异常类型说明示例
网络异常网络连接问题超时、断开
服务异常外部服务故障500错误、服务不可用
数据异常数据格式或内容问题格式错误、数据缺失
业务异常业务规则冲突重复数据、状态冲突
安全异常安全验证失败签名错误、Token过期

6.2 异常处理策略

6.2.1 重试策略

场景重试次数重试间隔退避策略
网络超时3次1秒固定间隔
服务不可用5次5秒指数退避
限流错误3次10秒固定间隔

6.2.2 降级策略

场景降级方案用户体验
邮件服务不可用延迟发送,记录队列无感知
短信服务不可用切换备用通道可能有延迟
HR同步失败标记失败,人工处理数据可能延迟
SSO失败跳转登录页需手动登录

6.2.3 熔断策略

指标阈值动作
错误率> 50%开启熔断
响应时间> 5秒开启熔断
熔断时长60秒自动恢复
半开请求数5个测试恢复

6.3 监控告警

监控项阈值告警级别通知方式
集成失败率> 5%警告邮件
集成失败率> 20%严重邮件+短信
响应时间> 3秒警告邮件
响应时间> 10秒严重邮件+短信
消息堆积> 1000条警告邮件
消息堆积> 5000条严重邮件+短信

7. 集成安全要求

7.1 传输安全

要求项具体要求实现方式
传输加密所有接口使用HTTPSTLS 1.2+
证书验证验证服务端证书证书 pinning
敏感数据加密敏感字段额外加密AES-256

7.2 认证授权

要求项具体要求实现方式
API认证所有API调用需认证API Key + Secret
请求签名请求参数签名防篡改HMAC-SHA256
Token时效Token有效期控制JWT过期时间
权限控制最小权限原则接口权限配置

7.3 数据安全

要求项具体要求实现方式
数据脱敏日志中敏感数据脱敏正则替换
数据加密敏感数据存储加密AES加密
数据隔离不同系统数据隔离独立数据库/Schema
审计日志所有集成操作记录日志统一日志平台

8. 集成测试场景

8.1 正常流程测试

测试场景测试内容预期结果
员工入职同步模拟HR入职事件用户自动创建
员工离职同步模拟HR离职事件用户自动禁用
SSO登录模拟OA跳转免密登录成功
邮件发送触发邮件通知邮件成功发送
短信发送请求验证码短信成功发送

8.2 异常流程测试

测试场景测试内容预期结果
HR系统不可用模拟HR服务宕机消息堆积,恢复后处理
重复入职事件发送重复入职消息幂等处理,不重复创建
Token过期使用过期SSO Token拒绝登录,跳转登录页
邮件发送失败模拟SMTP错误重试后记录失败
网络超时模拟网络超时重试机制生效

8.3 性能测试

测试场景测试指标目标值
HR事件处理处理延迟< 5秒
SSO登录响应时间< 1秒
邮件发送发送延迟< 10秒
并发处理同时处理事件数> 100/秒

9. 附录

9.1 集成接口清单

系统接口名称接口类型调用方式文档链接
HR系统入职事件消息队列消费内部文档
HR系统离职事件消息队列消费内部文档
HR系统变更事件消息队列消费内部文档
ERP系统主数据查询APIHTTP GETAPI文档
OA系统SSO认证APIHTTP POST对接文档
OA系统待办推送APIHTTP POST对接文档
邮件服务SMTP发送SMTPTCP标准协议
短信服务短信发送APIHTTP POST服务商文档
文件存储文件上传APIHTTP PUTS3协议

9.2 消息队列Topic清单

Topic名称用途生产者消费者
hr.employee.entry员工入职HR系统System平台
hr.employee.resign员工离职HR系统System平台
hr.employee.change员工变更HR系统System平台
hr.department.change部门变更HR系统System平台
system.user.change用户变更System平台其他系统

9.3 修订记录

版本日期修订人修订内容
1.02026-03-08架构师初始版本

文档编制:架构师
文档审核:技术负责人
编制日期:2026-03-08

Released under the MIT License.