Kettle调用纷享销客CRM部门及用户接口

1 Kettle调用纷享销客CRM部门及用户接口

Kettle调用纷享销客部门和用户和用户接口,来把对应的部门和用户存入本地数据库。

1.1 job

在这里插入图片描述

  • 设置变量
parent_job.setVariable("corpAccessToken", rows[0].getString("corpAccessToken", ""));
parent_job.setVariable("corpId", rows[0].getString("corpId", ""));
true
  • JavaScript
var prevRow=previous_result.getRows();//获取上一个传递的结果
if (prevRow == null &&(prevRow.size()=0))
{
    false;

}else{
    parent_job.setVariable("tables", prevRow);//ArrayList存储表名变量
    parent_job.setVariable("size", prevRow.size());//存储执行表的总数量
    parent_job.setVariable("i", 0);//循环控制变量
	parent_job.setVariable("departmentId", prevRow.get(0).getString("id", ""));
    true;

}
  • 检验字段的值

在这里插入图片描述

  • JavaScript2
var prevRow=previous_result.getRows();
var size = new Number(parent_job.getVariable("size"));
var i = new Number(parent_job.getVariable("i"))+1;
if(i<size){
    parent_job.setVariable("departmentId", prevRow.get(i).getString("id", ""));
}
parent_job.setVariable("i",i);
true;

1.2 获取token

在这里插入图片描述

  • 生成记录

在这里插入图片描述

body 为请求携带的参数:{“appId”: “”,“appSecret”:"",“permanentCode”:""}

url 为获取access_token的接口:https://open.fxiaoke.com/cgi/corpAccessToken/get/V2

  • REST Client

返回的json格式如下:具体可参考文档http://open.fxiaoke.com/wiki.html#artiId=17

{
    "errorCode": 0,
    "errorMessage": "success",
    "corpAccessToken": "CORP_ACCESS_TOKEN",
    "corpId": "CORP_ID",
    "expiresIn": 7200
}

在这里插入图片描述

在这里插入图片描述

  • JSON Input

在这里插入图片描述

在这里插入图片描述

  • 字段选择

在这里插入图片描述

1.3 部门转换

在这里插入图片描述

  • 获取变量

获取job中传过来的变量corpid,corpAccessToken

在这里插入图片描述

  • JavaScript代码

拼接参数body

在这里插入图片描述

  • JSON Input

处理接口返回的json,详细见文档http://open.fxiaoke.com/wiki.html#artiId=20

在这里插入图片描述

  • 插入更新

在这里插入图片描述

1.4 转换

用户转换,通过循环传入的部门id,去查询该部门下的用户,并插入到数据库。

接口描述见文档:http://open.fxiaoke.com/wiki.html#artiId=22

在这里插入图片描述

  • JavaScript代码
var body = '{"corpAccessToken":"'+corpAccessToken+'","corpId":"'+corpId+'","departmentId":'+departmentId+',"fetchChild":'+fetchChild+'}';

  • JSON Input

在这里插入图片描述

  • Switch/Case

是个判断,因为部门下可能存在没有用户,如果主键null去进行插入更新操作,就会报错。所以加了这个判断

在这里插入图片描述

2. 说明

2.1 未详细介绍的组件

未详细介绍的可参考我的另外两篇博客

Kettle循环获取结果集
Kettle循环获取结果集中的数据并传入转换里面

发布了37 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/stormkai/article/details/105132660