常见问题

1.计划支持事件列表

| 登录事件 | 全网 |
| 函数执行事件 |全网 |
| 自定义APL消息事件 |灰度 |
| 对象变化事件 | 全网 |
| 审批流业务事件 | 灰度 |

2.消息函数执行

EventListenerAction.execute(<FunctionContext context>, <FunctionMqMessage mq>, <Map body>)

参数说明

参数 类型 说明
context FunctionContext 包含用户userId及企业tenantId信息
mq FunctionMqMessage 原始消息信息
body Map 不同消息事件对应不同消息体;登录事件参考下文LoginLogMsg消息体;函数执行事件参考下文FuncExecuteResultMsg消息体;对象变化事件参考下文ObjectChangeMsg+ObjectChangeMsg.Body消息体;

返回值类型

void
(1)参考FunctionMqMessage
(2)参考LoginLogMsg

2.1.参考类

com.fxiaoke.functions.model.FunctionMqMessage

字段说明

参数 类型 说明
messageId String 消息Id
tags List 消息tag
topic String 消息topic

2.2.参考类LoginLogMsg

登录日志消息模板

{
    "appId": "CRM",
    "dBSplitType": "YEAR",
    "deptId": "1000",
    "deptName": "1",
    "id": "637f8de",
    "indexCount": 1,
    "logBiz": "login_log",
    "loginBrowser": "Chrome",
    "loginIp": "120.245.112.178",
    "loginStatus": "1",
    "loginType": "0",
    "operationTime": 1669303788572,
    "ownerId": "1000",
    "ownerName": "a01",
    "suffixType": "month",
    "tenantId": "84796",
    "userId": "1000",
    "userName": "a01"
}

字段说明

参数 类型 说明
tenantId String 企业ID
appId String 应用ID,固定为CRM
userId String 用户ID
userName String 用户名
deptId String 部门ID
deptName String 部门Name
loginIp String 登录ip
loginType String 登录方式0---通过个人密码登录1---通过扫码登录2---通过体验账号登录3---通过手机授权登录4---安全登录5---通过SSO登录6---通过短信动态密码登录7---纷享客服登录8---邮箱密码登录9---邮箱验证码登录10---互联手机号密码登录11---互联手机号验证码登录12---互联邮箱密码登录13---互联邮箱验证码登录14---SAML2登录15---oauth2登录16---微信登录17---云之家登录18---钉钉登录19---沙盒登录
loginStatus String 登录状态
ownerId String 设备归属人ID
ownerName String 设备归属人
loginBrowser String 设备型号
exception String 异常信息
operationTime Date 登录时间

2.3.参考类FuncExecuteResultMsg

函数执行结果模板

{
    "apiName": "func_aBg9689__c",
    "resCode": "FAIL",
    "resMsg": "运算条件异常 Division by zero",
    "time": 1669301741834
}

字段说明

参数 类型 说明
resCode String 执行结果code
resMsg String 执行信息
apiName String 函数apiname
time Long 执行时间

2.4.参考类ObjectChangeMsg

对象变更消息内容模板

{
    "body": [
        {
            "eventId": "637b254f6a65dc0001689c75",
            "beforeTriggerData": {
                "last_modified_time": 1669014832603,
                "last_modified_by": [
                    "1000"
                ]
            },
            "context": {
                "appId": "CRM",
                "tenantId": "84902",
                "userId": "-10000"
            },
            "batch": true,
            "entityId": "AccountObj",
            "triggerType": "u",
            "objectId": "637702d223f0cb000175d041",
            "afterTriggerData": {
                "account_class_category": "4",
                "last_modified_time": 1669014863161,
                "last_modified_by": [
                    "-10000"
                ]
            }
        }
    ],
    "name": "object_data",
    "op": "u",
    "tenantId": "84902"
}

字段说明

参数 类型 说明
body List 消息详情List 参考ObjectChangeMsg.Body
name String 消息名称
op String 操作类型:u 更新 i 新增 invalid 作废 recover 恢复 d 删除创建对象:i + u修改对象:u删除对象:d作废对象:invalid + u恢复对象:recover + u锁定/解锁对象:u
tenantId String 企业id

2.5.参考类ObjectChangeMsg.Body

字段说明

参数 类型 说明
batch boolean 是否批量处理
entityId String 对象apiName,如AccountObj
triggerType String 触发类型
objectId String 对象id
2024-10-22
0 0