访问其它项目接口

来源:互联网 发布:mac双系统对电脑好吗 编辑:程序博客网 时间:2024/06/05 04:20
/**
* 向中间件获取数据

* @author lxs
* @param deptIp科室IP
* @param task_ids任务单号
* @param state货物状态

*/
public boolean getDataFromServer( String deptIp,String task_ids,String state) {
boolean flag = true;
String[] split = task_ids.split(",");
List<String> tasks = Arrays.asList(split);
//tasks.contains(o)
/* 构造HttpClient的实例 */
HttpClient client = new HttpClient();
/* 获取中间件地址 */
String address = pro.getProperty("MiddleInterface");
String rwIp = getRWipByDepIp(deptIp);//获取读卡器ip
if (rwIp==""||StringUtils.isEmpty(rwIp)) {
flag = false;
return flag;
}
address += ("?ip="+rwIp+"&interfaceAuthority=Y63SZv7yYSrl9bHrtMI2WVJ3Ol79VjDKiUFjKLZkqc4=");
GetMethod getMethod = new GetMethod(address);
/* 使用系统提供的默认的恢复策略 */
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
/* 执行getMethod */
int statusCode = client.executeMethod(getMethod);
if (statusCode == HttpStatus.SC_OK) {
/* 读取内容,处理内容 */
byte[] responseBody = getMethod.getResponseBody();
String retData = new String(responseBody);
Data_LogService.saveData(retData);
log.info("科室IP:" + deptIp + "/读写器IP:" + rwIp + "/中间件返回数据:"+ retData);
if (retData.startsWith("{")) {
// json转化为map
Map<Object, Object> mapResult = jsonToMap(retData);
List<String> datalist = (List<String>) mapResult.get("result");
Set<String> set = new HashSet<String>();
for(String data : datalist){

String [] dataarry=data.split(",");
set.addAll(Arrays.asList(dataarry));

}

for (String str : set) {
if(tasks.contains(str)){
Spd_TaskService.modState(state, str);
}
}
} else {
log.info("读写器:" + rwIp + " 返回值格式有误!");
flag = false;
}
}
} catch (HttpException e) {
log.error("http协议有误或返回值错误:" + e.getLocalizedMessage());
e.printStackTrace();
flag = false;
} catch (IOException e1) {
log.error("发生网络异常:" + e1.getLocalizedMessage());
e1.printStackTrace();
flag = false;
} finally {
getMethod.releaseConnection();
}
return flag;
}
0 0
原创粉丝点击