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 |