# 1 DataInside脚本语法说明
1、关键字、函数、参数等必须为小写。比如log_into_db、execute、set_db_by_name等
2、字符串必须以””包括起来,且关键字与字符串中间必须用户括号包括起来。比如:log_into_db("查询表数据"),其中log_into_db为关键字,” 查询表数据”为字符串。
3、SQL语句必须使用关键字execute(“……”)或execute(""“……”"")包括起来。也可以接收自定义变量和日期函数
例:
int c = 1; /*自定义变量*/
execute (“select Id, Name, ‘{today()}’ DAY from User where ID=${c} “);
2
注:一个execute(“”)中只能执行一个SQL语句
4、每一个代码块必须以分号结束。如for循环和execute结束
例:
for (int i = 0 ; i <10; i++ )
{
log_into_db("${i}");
};
execute(" select * from user ");
2
3
4
5
5、日期函数及自定义变量使用注意事项,日期函数在使用时需使用{}将日期函数包括起来,自定义变量需使用${}把变量名包含起来
例:
日期函数: today()
log_into_db("{today()}");
自定义变量
int C = 1;
log_into_db("${C}"); /*自定义变量区分大小写*/
2
6、当函数带有多个参数时,则每个参数间必须以英文状态的逗号隔开。
例:
主机函数
getCpu("root","root","127.0.0.1");
7、注释:支持单行和多行,单行以#号注释,多行以/**/进行注释
例:
单行:#
# log_into_db("单行注释");
多行:/**/
/*for (int i = 0 ; i <10; i++ )
{
Boolean aac = log_into_db("${i}");
log_into_db("${aac}");
}; */
2
3
4
5
# 2 DataInside脚本函数
# 2.1 SQL查询函数
execute()
用途:执行sql无返回;
示例:更新表字段
execute (" UPDATE TBALE_NAME SET A_COLUMN=10 ");
execute_obj()
用途:执行sql返回字符串;
示例:查询表行数
String s=execute_obj(" select count(1) from TBALE_NAME ");
execute_data()
用途:执行sql返回数据集;
示例:查询表数据集
List<HashMap<String,String>> s=execute_obj(" select * from TBALE_NAME ");
# 2.2 主机函数
getCpu()
用途:查询linux主机cpu内存使用情况。
语法:getCpu(user,password,ip);
user:用户名
password:密码
ip:主机ip
示例:查询主机ip
getCpu("root","root", "127.0.0.1");
# 2.3 企业微信对接接口函数
get_qw_to_db_multi()
用途:获取企业微信接口的数据集并存入指定表
语法:get_qw_to_db_multi(https,corpid,corpsecret,httpDataJsonObject,fieldsJsonObject,tableName);
https:请求的ip地址
corpid:企业id
corpsecret:接口Secret
httpDataJsonObject:接口参数json
fieldsJsonObject:接口返回的json对应的表字段
tableName:存入的表名称
示例:获取企业微信客户群列表
jsonObject = new JSONObject(); JSONPath.set(jsonObject,"status_filter",0); JSONPath.set(jsonObject,"owner_filter.userid_list[0]","abel"); JSONPath.set(jsonObject,"cursor","r9FqSqsI8fgNbHLHE5QoCP50UIg2cFQbfma3l2QsmwI"); JSONPath.set(jsonObject,"limit",10); jsonObject1 = new JSONObject(); JSONPath.set(jsonObject1,"group_chat_list[0].chat_id","chat_id"); JSONPath.set(jsonObject1,"group_chat_list[0].status","status"); JSONPath.set(jsonObject1,"next_cursor","next_cursor"); get_qw_to_db_multi("https://qyapi.weixin.qq.com/cgi-bin/externalcontact/groupchat/list","wwc2ec284b7ac1234432","qerfr3443r3f2-tqCYa1vHxg4tuQagBsK2cFM",jsonObject,jsonObject1,"group_chat_list");
get_qw_to_db()
用途:获取企业微信接口的单条数据并存入指定表
语法:get_qw_to_db(https,corpid,corpsecret,httpDataJsonObject,fieldsJsonObject,tableName);
https:请求的ip地址
corpid:企业id
corpsecret:接口Secret
httpDataJsonObject:接口参数json
fieldsJsonObject:接口返回的json对应的表字段
tableName:存入的表名称
示例:获取企业微信客户详情
jsonObject = new JSONObject(); jsonObject1 = new JSONObject(); JSONPath.set(jsonObject1,"external_contact.external_userid","external_userid"); JSONPath.set(jsonObject1,"external_contact.name","name"); JSONPath.set(jsonObject1,"external_contact.avatar","avatar"); JSONPath.set(jsonObject1,"external_contact.corp_name","corp_name"); JSONPath.set(jsonObject1,"external_contact.corp_full_name","corp_full_name"); JSONPath.set(jsonObject1,"external_contact.type","type"); JSONPath.set(jsonObject1,"external_contact.gender","gender"); JSONPath.set(jsonObject1,"external_contact.unionid","unionid"); JSONPath.set(jsonObject1,"external_contact.position","position"); JSONPath.set(jsonObject1,"external_contact.external_userid","external_userid"); get_qw_to_db("https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get?external_userid=ZhangTong&cursor=NEXT_CURSOR","wwc2ec284b7ac97620","2mPKB4Mk5VrSZe9sedD-tqCYa1vHxg4tuQagBsK2cFM",jsonObject,jsonObject1,"externalcontact");