1. context函数
获取自定义函数所绑定对象的数据信息
函数方法 | 描述 | data返回类型 |
context.tenantId | 获取登录账号的企业ID | |
context.userId | 获取登录账号的用户ID | |
context.data | 获取绑定对象的数据 |
2. Zk.object
和对象操作有关的API
函数方法 | 描述 | data返回类型 |
Zk.object.create | 对象数据创建,同时支持新建从对象数据 | |
Zk.object.batchCreate | 批量新建对象数据,不支持同时新建从对象数据 | |
Zk.object.update | 更新业务对象数据 | |
Zk.object.batchUpdate | 批量更新业务对象数据 | |
Zk.object.delete | 删除业务对象数据 | |
Zk.object.bulkDelete | 批量删除业务对象数据 | |
Zk.object.findById | 按业务对象Id查询业务对象数据 | |
Zk.object.findByIds | 批量按业务对象Id查询业务对象数据 | |
Zk.object.find | 当前用户身份,按指定的查询条件查询业务对象数据 | |
Zk.object.changeOwner | 更换负责人 | |
Zk.object.batchChangeOwner | 批量更换负责人 |
3. Zk.org
Zk.org:和人员/部门操作有关的API
函数方法 | 描述 | data返回类型 |
Zk.org.findUserById | 按用户ID查询用户信息 | |
Zk.org.findUserByUserIds | 按用户Id列表查询若干用户信息 | |
Zk.org.findEmployeeByDepartmentId | 根据部门id查部门下的员工信息 | |
Zk.org.findDepartmentByIds | 按部门IDS查询部门信息 | |
Zk.org.findParentDepartmentIds | 根据部门id查上级部门信息 | |
Zk.org.findSubordinateDepartmentIds | 根据部门id查下级部门信息 | |
Zk.org.findUserByParams | 根据name和mobile查询员工信息 |
4. Zk.http
Zk.http:发送http请求相关的API
函数方法 | 描述 | data返回类型 |
Zk.http.get | HTTP GET请求 | |
Zk.http.post | HTTP POST请求 |
5. Zk.log
Zk.log:日志相关的API
函数方法 | 描述 | data返回类型 |
Zk.log.error | 打印error日志 | |
Zk.log.info | 打印info日志 | |
Zk.log.debug | 打印debug日志 |
6. Zk.function
Zk.function:函数调用相关的API (暂时不提供)
函数方法 | 描述 | data返回类型 |
Zk.function.execFunc | 执行控制器函数(被调用函数命名空间必须为自定义控制器) |
7. Zk.message
Zk.message: 和发送消息有关的API
函数方法 | 描述 | data返回类型 |
Zk.message.sendInternalMsg | 发送站内通知 |
Zk.object-业务对象数据操作相关的API
1、创建业务对象-create
对象创建同时新建从对象:Zk.object.create(String objectKey, Map objectData)
参数实例:
def objectKey="object_WXaUG__c"
Map objectData=[
"fieldMap": [
"field_chuKY__c": "www.baidu.com",
"field_w9c0P__c": 100,
"field_laHsE__c": "7356446882660495150",
"field_quNhV__c": 8759000,
"field_IwVMj__c": "多行文本"
],
"object_key": "object_WXaUG__c",
"slaveMap": [
"object_sp9un__c": [
[
"fieldMap": [
"field_rqmXP__c": null,
"owner": "6378030218049702609",
"name": "name",
"field_RKSCV__c": "单行文本"
],
"object_key": "object_sp9un__c"
]
]
]
]
def result=Zk.object.create(objectKey,objectData)
Zk.log.error(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
objectData | Map | 对象数据 fieldMap:业务对象字段和值 object_key:对象objectKey slaveMap:从对象数据 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | id:对象id |
errorMessage | String | 成功失败信息 |
2、批量新建对象数据-batchCreate
不支持同时新建从对象数据:Zk.object.batchCreate(String objectKey, List<Map> objectData)
参数实例:
def objectKey="object_WXaUG__c"
Map objectData1=[
"fieldMap": [
"field_chuKY__c": "www.baidu.com",
"field_w9c0P__c": 100,
"field_laHsE__c": "7356446882660495150",
"field_ckBxb__c": "KMPF3a9S"
],
"object_key": "object_WXaUG__c",
"slaveMap": [:]
]
Map objectData2=[
"fieldMap": [
"field_chuKY__c": "www.baidu.com",
"field_w9c0P__c": 100,
"field_ckBxb__c": "KMPF3a9S,KMPF3a9S"
],
"object_key": "object_WXaUG__c",
"slaveMap": [:]
]
List<Map> objectData=[objectData1,objectData2]
def result=Zk.object.batchCreate(objectKey,objectData)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
objectData | List<Map> | 对象数据 fieldMap:业务对象字段和值 object_key:对象objectKey slaveMap:Map类型,从对象数据,key:从对象objectKey,value-对象数据,和主对象数据结构一致 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
3、更新业务对象数据-update
更新业务对象数据:Zk.object.update(String objectKey, Map objectData)
参数实例:
def objectKey="object_WXaUG__c"
Map objectData=[
"fieldMap": [
"id":"4801391369582627143",
"field_chuKY__c": "www.baidu.com",
"field_w9c0P__c": 100,
"field_ckBxb__c": "KMPF3a9S,KMPF3a9S"
],
"object_key": "object_WXaUG__c",
"slaveMap": [:]
]
def result=Zk.object.update(objectKey,objectData)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
objectData | Map | 对象数据 id:必传,业务数据id fieldMap:业务对象字段和值 object_key:对象objectKey slaveMap:从对象数据 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
4、批量更新业务对象数据-batchUpdate
批量更新业务对象数据:Zk.object.batchUpdate(String objectKey, Map fieldMap, List<String> dataIds)
参数实例:
def objectKey="object_WXaUG__c"
Map fieldMap=["name": "批量修改444"]
List dataIds=["7703419591804816817","8450728855509607359"]
def result=Zk.object.batchUpdate(objectKey,fieldMap,dataIds)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
fieldMap | Map | 对象数据 key为列名,value为值 |
dataIds | List<String> | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
5、删除业务对象数据-delete
删除业务对象数据:Zk.object.delete(String objectKey, String dataId)
参数实例:
def dataId="4801391369582627143"
def objectKey="object_WXaUG__c"
def result=Zk.object.delete(objectKey,dataId)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
dataId | String | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
6、批量删除业务对象数据-bulkDelete
删除业务对象数据:Zk.object.bulkDelete(String objectKey, List<String> dataIds)
参数实例:
def dataId1="6633660319242715893"
def dataId2="8240396388904829648"
def objectKey="object_WXaUG__c"
List dataIds=[dataId1,dataId2]
def result=Zk.object.bulkDelete(objectKey,dataIds)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
dataIds | List<String> | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
7、按业务对象Id查询业务对象数据-findById
按业务对象Id查询业务对象数据:Zk.object.findById(String objectKey, String dataId)
参数实例:
def dataId="6633660319242715893"
def objectKey="object_WXaUG__c"
def result=Zk.object.findById(objectKey,dataId)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
dataId | String | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 对象数据信息 |
errorMessage | String | 成功失败信息 |
8、批量按业务对象Id查询业务对象数据-findByIds
批量按业务对象Id查询业务对象数据:Zk.object.findByIds(String objectKey, List<String> dataIds)
参数实例:
def objectKey="object_WXaUG__c"
List dataIds=["4801391369582627143","5770487140596221866"]
def result=Zk.object.findByIds(objectKey,dataIds)
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
dataIds | List<String> | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 对象数据信息 |
errorMessage | String | 成功失败信息 |
9、当前用户身份,按指定的查询条件查询业务对象数据-find
当前用户身份,按指定的查询条件查询业务对象数据:Zk.object.find(String objectKey, List<String> dataIds)
参数实例:
Map param=[
"page": 1,
"rows": 100,
"object_key": "object_WXaUG__c",
"search": [
"field_key": "name",
"field_values": ["改个名"],
"operator": "LIKE"
],
"sort": [
"field_key": "create_time",
"type": "desc"
]
]
def result=Zk.object.find(param)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象objectKey |
dataIds | List<String> | 记录id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 对象数据信息 |
errorMessage | String | 成功失败信息 |
10、更换负责人-changeOwner
更换负责人:Zk.object.changeOwner(String objectKey,String id,String memberId,String changeType)
参数实例:
def objectKey="object_WXaUG__c"
def memberId="6378030218049702609"
def changeType="1"
def id="7797923353130062630"
def result=Zk.object.changeOwner(objectKey,id,memberId,changeType)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象key,必填 |
id | String | 业务数据id |
memberId | String | 人员id |
changeType | String | 原负责人处理方式:1、移出相关团队 2、变更为普通成员 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
11、批量更换负责人-batchChangeOwner
批量更换负责人:Zk.object.batchChangeOwner(Map param)
参数实例:
Map param=[
"objectKey": "object_WXaUG__c",
"ids": ["7797923353130062630"],
"memberId": "7797065850679904233",
"changeType": 1
]
def result=Zk.object.batchChangeOwner(param)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
param | Map | memberId:成员id,必填 objectKey:对象key,必填 ids:List,必填 changeType:1、移出相关团队 2、变更为普通成员 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 空 |
errorMessage | String | 成功失败信息 |
12、将页面上的objectKey转换为系统使用的名称-changeObjectKeyToSystemName
将页面上的objectKey转换为系统使用的名称-Zk.object.changeObjectKeyToSystemName(String objectKey)
参考实例:
Zk.object.changeObjectKeyToSystemName(String objectKey)
参数说明:
参数 | 类型 | 说明 |
objectKey | String | 对象列表页的objectKey |
Zk.org-人员/部门操作有关的API
1、按用户ID查询用户信息-findUserById
按用户ID查询用户信息:Zk.org.findUserById(String userId)
参数实例:
def result=Zk.org.findUserById(context.userId.toString())
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
userId | String | 用户id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 用户信息 |
errorMessage | String | 成功失败信息 |
2、按用户Id列表查询若干用户信息-findUserByUserIds
按用户Id列表查询若干用户信息:Zk.org.findUserByUserIds(List<String> userIds)
参数实例:
def result=Zk.org.findUserByUserIds(["8981121292410962469","9210032159887333595"])
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
userIds | List | 用户id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 用户信息 |
errorMessage | String | 成功失败信息 |
3、根据部门id查部门下的员工信息-findEmployeeByDepartmentId
按用户Id列表查询若干用户信息:Zk.org.findEmployeeByDepartmentId(String deptId)
参数实例:
def result=Zk.org.findEmployeeByDepartmentId("6141666094216731769")
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
deptId | String | 用户id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 员工信息 |
errorMessage | String | 成功失败信息 |
4、按部门IDS查询部门信息-findDepartmentByIds
按用户Id列表查询若干用户信息:Zk.org.findDepartmentByIds(List<String> deptIds)
参数实例:
List deptIds=["7840969440528433623","9180872406146207361"]
def result=Zk.org.findDepartmentByIds(deptIds)
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
deptIds | List | 部门id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 部门信息 |
errorMessage | String | 成功失败信息 |
5、根据部门id查上级部门信息-findParentDepartmentIds
根据部门id查上级部门信息:Zk.org.findParentDepartmentIds(String deptId)
参数实例:
String deptId="9063838294391319969"
def result=Zk.org.findParentDepartmentIds(deptId)
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
deptId | String | 部门id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 部门信息 |
errorMessage | String | 成功失败信息 |
6、根据部门id查下级部门信息-findSubordinateDepartmentIds
根据部门id查上级部门信息:Zk.org.findSubordinateDepartmentIds(String deptId)
参数实例:
String deptId="9063838294391319969"
def result=Zk.org.findSubordinateDepartmentIds(deptId)
Zk.log.info(result.message)
["data":result.data]
参数说明:
参数 | 类型 | 说明 |
deptId | String | 部门id |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | List | 部门信息 |
errorMessage | String | 成功失败信息 |
7、前置校验本企业空间是否仍有余量-verifyTenantSpace
校验本企业空间是否仍有余量-verifyTenantSpace
参数实例:无
参数说明:无参数
返回信息:
参数 | 类型 | 说明 |
data | boolean | true:没有空间,false:有空间 |
注意:前置校验功能函数返回值必须按照规定的格式,示例如下
def result = Zk.org.verifyTenantSpace()
if (result.data) {
return [checkPassed: false, message: "存储空间已满,此功能无法使用,请尽快购买空间或联系管理员删除历史文件。"]
} else {
return [checkPassed: true, message: ""]
}
8、根据name和mobile查询用户
参数实例:Zk.org.findUserByParams(name,mobile)
参数说明:
参数 | 类型 | 说明 |
name | String | 用户名称 |
mobile | String | 用户电话号码,需要和手机字段的格式保持一致{“code”:"86","phone":"1233333"} |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 员工信息 |
errorMessage | String | 成功失败信息 |
Zk.http-发送http请求相关的API
1、HTTP GET请求-get
HTTP GET请求:Zk.http.get(String url, Map headers)
参数实例:
def url="http://www.baidu.com"
def header=[
"Host":"www.baidu.com"
]
def result=Zk.http.get(url,header)
参数说明:
参数 | 类型 | 说明 |
url | String | 请求url |
headers | Map | 请求头 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 响应数据 |
errorMessage | String | 成功失败信息 |
2、HTTP POST请求-post
HTTP GET请求:Zk.http.post(String url, Map headers, Map/String data)
参数实例:
def url="http://172.31.3.216:6020/api/cuxiao/verify/v1/queryVerificationPlan/7578222006630858715/202109291347141/d4c14c694a86c91ab373800f1fa6ca27/X0000000001"
def param=[
"createStartDate": "2021-06-07 00:00:00",
"createEndDate": "2021-06-07 23:00:00",
"modifyStartDate": "",
"modifyEndDate": "",
"verifyCode": "",
"page":"1",
"pageSize":"10"
]
def result=Zk.http.post(url,[:],param)
参数说明:
参数 | 类型 | 说明 |
url | String | 请求url |
headers | Map/String | 请求头 |
data | Map | 请求体 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 响应数据 |
errorMessage | String | 成功失败信息 |
Zk.log-日志相关的API
1、打印error日志-error
打印error日志:Zk.log.error(Object object)
参数实例:
Zk.log.error("error")
参数说明:
参数 | 类型 | 说明 |
object | Object | 打印信息 |
2、打印info日志-info
打印error日志:Zk.log.info(Object object)
参数实例:
Zk.log.info("info")
参数说明:
参数 | 类型 | 说明 |
object | Object | 打印信息 |
3、打印debug日志-debug
打印error日志:Zk.log.debug(Object object)
参数实例:
Zk.log.debug("debug")
参数说明:
参数 | 类型 | 说明 |
object | Object | 打印信息 |
Zk.message-发送消息相关API
1、发送站内通知-sendInternalMsg
发送站内通知:Zk.message.sendInternalMsg(String tenantId,Map param)
参数实例:
Map param=[
"userId":"6378030218049702609",
"appid":"9179656071611871366",
"receiveUserList":["7797065850679904233","8766297125429275543"],
"content":"快来进货啦",
"urlData":"http://172.31.3.223:6020/"
]
def result=Zk.message.sendInternalMsg(context.tenantId.toString(),param)
Zk.log.info(result.message)
result.data
参数说明:
参数 | 类型 | 说明 |
tenantId | String | 企业id,可通过context.tenantId获取 |
param | Map | 打印信息 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 响应数据 |
errorMessage | String | 成功失败信息 |
Zk.openapi-调用openAPI接口执行相关API
1、执行openAPI接口-invoke
执行openAPI:Zk.openapi.invoke(String url, String openid, String appkey, Map data)
参数实例:
Map data=[
"org_id":"ORG001",
"org_name":"南京掌控网络",
"org_sequence":002
]
Zk.openapi.invoke("https://openapi.waiqin365.com/api/organization/v1/addOrganization","8477409196644057335","hgmK95m5819uZjSPxH",data)
参数说明:
参数 | 类型 | 说明 |
url | String | openAPI url |
openid | String | 企业授权开放接口OPENID |
appkey | String | 企业授权KEY |
data | Map | 数据 |
返回信息:
参数 | 类型 | 说明 |
error | Boolean | true:执行失败,false:执行成功 |
data | Map | 响应数据 |
errorMessage | String | 成功失败信息 |
UIEvent-返回UIEvent
1、生成UIEvent
执行UIEvent:UIEvent uiEvent = UIEvent.builder()
参考实例:
UIEvent uiEvent = UIEvent.builder()
.action("list")
.openType("systemTab")
.objectKey("object_WXaUG__c")
.dataId(9034304382644438018)
.url("")
.data(null)
.title("测试对象")
.height(10)
.width(10)
.content("弹出框提示内容")
.build()
return uiEvent
参数说明:
参数 | 类型 | 说明 |
action | String | 操作方式(必填)list-跳到apaas对象的列表页,系统会自动生成URLdetail-跳到apaas详情页,系统会自动生成URLadd-跳到指定对象的新建页面,系统会自动生成URLconfirm-提示信息弹窗,系统不会根据这个参数生成url,需要手动赋值url属性,这个参数需要配合openType中的dialog使用(弹出框!弹出框!),跳转到url指定的弹出框url-跳转url页面,手动向url属性赋值 |
openType | String | 打开页面方式(必填)systemTab 外勤365内部页签dialog 弹窗browserTab 新开浏览器页签进行展示 |
objectKey | String | 对象key,如果跳转到对象详情页则传值 |
dataId | String | 指定对象的数据id |
url | String | 跳转url,跳转到指定url,可以不传值 |
data | Object | 跳转过程中需要传递的参数(如果是自定义参数,传递的参数最好是String类型,否则可能存在丢失精度的问题。例:前端传递long型数据,后端用Object接收,返回给前端就会造成精度丢失) |
title | String | title |
height | int | 宽度 |
width | int | 高度 |
content | String | 弹出框提示内容 |