Warning |
---|
// 使用JDK1.8,需要在脚本中增加: if (version.startsWith("1.8.0")) { |
【应用场景】
某部门用户数较多时,在报表平台手动管理子账号的效率是非常低的,因此可以为该部门配置自动同步用户,在做推送通知或者角色管理时,绑定该部门即可。
Code Block | ||||
---|---|---|---|---|
| ||||
var version = java.lang.System.getProperty("java.version");
if (version.startsWith("1.8.0")) {
load("nashorn:mozilla_compat.js");
}
importPackage(com.alibaba.fastjson);
importPackage(java.util);
var data = new JSONArray();
//连接名称,在"连接管理"中配置相应的数据库连接
var connectionName = "local dataset";
//查询用户
var sql="select usercode, uname, phone, deptName from usertable";
var userRows = databaseService.query(connectionName, sql, null);
if(userRows.size() > 0){
for(var i = 0; i < userRows.size(); i++){
var row = userRows.get(i);
var userObj = new JSONObject();
//用户名,必须使用参数username
userObj.put("username", row.get("usercode"));
//姓名,必须使用参数name
userObj.put("name", row.get("uname"));
//手机号,必须使用参数phoneNumber,如果与微信企业号同步,必须提供手机号
userObj.put("phoneNumber", row.get("phone"));
//部门,必须使用参数departmentName,会自动创建下级部门,目前只支持1级子部门
userObj.put("departmentName", row.get("deptName"));
//多级部门,使用departmentNames, v2.8.7.7以后版本支持
var deptNames = new ArrayList();
deptNames.add("部门");
deptNames.add("子部门");
userObj.put("departmentNames", deptNames);
data.add(userObj);
}
}
//如果设置为false,表示不执行本次同步操作
result.setSuccess(true);
result.setData(data); |
Warning |
---|
|