第三方接口主要用来针对平台的流程信息,可以方便和第三方进行对接

工作流集成第三方接口

当有待办产生或者待办变成已办时,会触发改接口的调用。

1、在系统后台->系统管理->系统参数->第三方接口 中进行设置,如下图:
image.png
2、第三方接口示例

  1. /// <summary>
  2. /// 工作流集成第三方接口
  3. /// </summary>
  4. /// <returns></returns>
  5. [HttpPost()]
  6. public bool DoTheThirdFlowMessage([FromBody] TheThirdFlowRequest request)
  7. {
  8. if (request.Type == "add")
  9. {
  10. //新增待办
  11. }
  12. else if (request.Type == "remove")
  13. {
  14. //待办变已办
  15. }
  16. return true;
  17. }

3、接口入参 TheThirdFlowRequest 类的定义

  1. public class TheThirdFlowRequest
  2. {
  3. /// <summary>
  4. /// 用户消息
  5. ///
  6. /// </summary>
  7. public UserInfo UserInfo { get; set; }
  8. /// <summary>
  9. /// 流程workitemId
  10. /// </summary>
  11. public string WorkItemId { get; set; }
  12. /// <summary>
  13. /// 模块code
  14. /// </summary>
  15. public string WorkflowCode { get; set; }
  16. /// <summary>
  17. /// 表名
  18. /// </summary>
  19. public string TableName { get; set; }
  20. /// <summary>
  21. /// 数据id
  22. /// </summary>
  23. public string DataId { get; set; }
  24. /// <summary>
  25. /// 待办类型
  26. /// </summary>
  27. public string Type { get; set; }
  28. }
  29. public class UserInfo
  30. {
  31. public string UserId { get; set; }
  32. public string UserCode { get; set; }
  33. public string UserName { get; set; }
  34. public string Mobile { get; set; }
  35. }
  • UserInfo:接收待办的人员信息,如存在多个待办人,会遍历进行该接口的调用
  • TableName:业务表的表名,根据 DataId 和表名可以进行业务数据的查询
  • DataId:当前操作的业务数据的主键 ID
  • Type:待办类型,有 add 和 remove 两个值
    • add :新增待办
    • remove:待办变已办
  • WorkflowCode:流程 Code 和功能模块 Code 是一致的,访问功能列表,URL 最后的参数为功能模块 Code ,如下图:

image.png

当 A 提交流程到 B 审批,这时 DoTheThirdFlowMessage 接口会被调用两次:

  • 一次是 Type 为 add,UserInfo 为 B 的信息
  • 一次是 Type 为 remove ,表示 A 由待办变已办,UserInfo 为 A 的信息