Groovy代码示例

数据集成连接器对象api-根据时间获取erp对象数据 批量查询

/**
 * 连接器对象api-根据时间获取erp对象数据 批量查询
 * todo的为需要用户自己修改添加的,
 * 需要先在右上角设置参数 Map类型syncArg
 **/
String errorCodeKey = "code" // 错误返回码字段名称-需要和连接器配置的 error code字段 对应
String successCode = "0" // 成功时的错误返回码-需要和连接器配置的 成功的code 对应
String errorMessageKey = "message" // 错误提示语字段名称-需要和连接器配置的 error msg字段 对应
String dataKey = "data" // 数据字段名称-需要和连接器配置的 数据字段 对应
String totalKey = "totalNum" // 数据总条数字段名称
String dataListKey = "dataList" // 数据详情列表字段名称

Map objectData = syncArg["objectData"] as Map
def apiName = objectData["objAPIName"] // ERP对象apiName 例如:BD_MATERIAL
def startTime = objectData["startTime"] // 数据变更的开始时间(unix时间戳,单位毫秒)
def endTime = objectData["endTime"] // 数据变更的结束时间(unix时间戳,单位毫秒)
def includeDetail = objectData["includeDetail"] // 是否包含明细
def offset = objectData["offset"] // 获取记录的偏移
def limit = objectData["limit"] // 当前请求记录条数

// todo 获取数据
Map<String, String> headers = ["token": "xxxxxx"]
def url = "http://xxx/xxx//queryMasterBatch?objAPIName=" + apiName + "&startTime=" + startTime + "&endTime=" + endTime + "&includeDetail=" + includeDetail + "&offset=" + offset + "&limit=" + limit
def (Boolean error, HttpResult httpResult, String msg) = http.get(url, headers)
if (error) {
    log.info("根据时间获取erp对象数据错误:" + msg)
    // 返回错误数据
    Map<String, Object> result = [:]
    result[errorCodeKey] = "500"
    result[errorMessageKey] = msg
    return result
}
log.info("根据时间获取erp对象数据,url:" + url + " 返回值:" + httpResult)
Map<String, Object> queryDataByTimeResult = httpResult.content as Map
int totalNum = queryDataByTimeResult["data"]["totalNum"] as Integer
List<Map<String, Object>> dataList = queryDataByTimeResult["data"]["dataList"] as List

// 构建对象数据
Map<String, Object> data = [:]
data[totalKey] = totalNum
data[dataListKey] = dataList

// 返回数据
Map<String, Object> result = [:]
result[errorCodeKey] = successCode
result[errorMessageKey] = ""
result[dataKey] = data
return result

2024-10-22
0 0