跳到主要内容
版本:5.0 (最新)

责任定位器

概要

责任定位器负责将流程中的责任(如审批、执行任务)解析为具体用户。常见策略包括:直接指定用户、基于角色的查找、基于组织结构或规则的分配。

当前约束:

  • 责任定位器现在只做人岗解析,只允许落到 用户
  • 不再通过责任定位器解析到 服务BotAgent
  • 自动化执行能力请通过 服务任务 + 服务提供者 建模。

实现要点:

  • 明确责任解析优先级与缓存策略。
  • 在未找到匹配执行者时的回退策略(如指定候补、向管理员告警)。

请根据角色和组织模型补充细节,并与 osc_server 的实现对齐。建议补充项:

  • 责任解析优先级(显式指定 > 基于角色 > 基于规则);
  • 缓存与刷新策略;
  • 未匹配时的回退路径与告警机制。

责任定位器实现细节

  1. 查找算法优先级
  • 显式用户(直接指定用户 id);
  • 指定角色(按角色从用户池中选择符合条件者);
  • 规则引擎(基于字段匹配或复杂表达式,如部门、工位、当前负载);
  • 回退策略(配置候补用户、发送管理员告警或进入人工处理队列)。

说明:这里的“候选人”均指人工用户,不包含服务或机器人主体。

  1. 缓存策略
  • 缓存解析结果(短时缓存,TTL 可配置),并在组织结构变更或用户状态变更时触发刷新;
  • 对于频繁变化的数据(值班表等),建议采用实时查询并降低缓存时间。
  1. API 示例
POST /api/resolver/resolve
{
"responsibility": {"type": "role", "value": "approver"},
"context": {"department": "coating", "priority": "high"}
}

Response: { "candidates": [ {"userId":"alice","score": 0.9}, ... ] }
  1. 审计与可追溯性
  • 每次解析记录输入上下文与选定结果,便于事后追踪与问题排查;
  1. 测试建议
  • 单元:优先级规则、规则引擎表达式解析、缓存命中/失效;
  • 集成:与用户/组织服务联调、边界条件(无候选人、并发请求)的处理。