package com.cuslink.visual.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cuslink.visual.pojo.DataParam;
public class GroundData {
@GetMapping ("/topicList")
@ResponseBody
public Map
BufferedReader in = null;
String urlNameString = “http://10.97.128.167/search/client/search/topic”;
try {
URL realUrl = new URL(urlNameString);
URLConnection connection = realUrl.openConnection();
connection.setRequestProperty(“accept”, “/”);
connection.setRequestProperty(“Content-Type”, “application/json;charset=UTF-8”);
connection.setRequestProperty(“connection”, “Keep-Alive”);
connection.setRequestProperty(“user-agent”, “Mozilla/4.0 (compatible; MSIE 5.0; Windows NT;DigExt)”);
connection.setRequestProperty(“whoami”, “cci-haiguan”);
connection.connect();
InputStream inputStream = connection.getInputStream();
BufferedReader isr = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));
int len = 0;
byte[] rs = new byte[1024];
String result = "";
String s = "";
while ((s = isr.readLine()) != null) {
result += s;
}
JSONObject fromObject = JSONObject.parseObject(result);
JSONArray h986Array = JSONArray.parseArray(fromObject.getString("data"));
ArrayList arrayList = new ArrayList();
for (Object object : h986Array) {
Map map = JSONObject.parseObject(JSONObject.toJSONString(object), Map.class);
String object3 = map.get("children").toString();
JSONArray parseArray = JSONArray.parseArray(object3);
for (Object object4 : parseArray) {
Map map1 = JSONObject.parseObject(JSONObject.toJSONString(object4), Map.class);
String objId = (String) map1.get("objId");
String primaryTableId = (String) map1.get("primaryTableId");
Object clsName = map1.get("clsName");
Map hashMap = new HashMap<>();
hashMap.put("topic", objId);
hashMap.put("table" , primaryTableId);
hashMap.put("clsName", clsName);
arrayList.add(hashMap);
}
}
Map stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("row",arrayList);
return stringObjectHashMap;
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return null;
}
@PostMapping("/yunqin")
@ResponseBody
public Map yunqinData(@RequestBody Map params) {
String ip="http://10.97.128.167";
String url=ip+"/search/client/search";
String key=params.get("key");
String topic=params.get("topic");
String table=params.get("table");
int from = Integer.parseInt(params.get("from"));
int size=Integer.parseInt(params.get("size"));
String json = "{\r\n" +
" \"key\":\""+key+"\",\r\n" +
" \"topic\":\""+topic+"\",\r\n" +
" \"table\":\""+table+"\",\r\n" +
" \"from\":"+from+",\r\n" +
" \"size\":"+size+",\r\n" +
" \"isAcc\":false\r\n" +
"}";
String datatotal = httpPost(url,json);
JSONObject parseObject = JSON.parseObject(datatotal);
String datastring = parseObject.getString("data");
JSONObject data = JSON.parseObject(datastring);
Map map1 = JSONObject.parseObject(JSONObject.toJSONString(data), Map.class);
Object total = map1.get("total");
Object from1= map1.get("from");
Object size1 = map1.get("size");
String data1 = map1.get("data").toString();
JSONArray objects = JSONArray.parseArray(data1);
ArrayList
// connection.setRequestProperty(“whoami”, “cci-haiguan”);
OutputStreamWriter paramout = new OutputStreamWriter(connection.getOutputStream(),“UTF-8”);
paramout.write(json);
paramout.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), “UTF-8”));
String line;
while ((line = reader.readLine()) != null) {
data.append(line);
}
paramout.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return data.toString();
}
public static void main(String[] args) {
DataParam dataParam = new DataParam();
dataParam.setAPP_ID("924169EA-8505-4B19-9177-CB437E6DE5EE");
dataParam.setMESSAGE_CODE("Z001");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(dataParam);
String jsonStr = jsonObject.toString();
String url = "http://10.200.5.10/ExtApi/Api/Data/Query";
String data = httpPost(url,jsonStr);
String datas = "";
JSONObject json = JSONObject.parseObject(data);
datas = json.getString("Datas");
// JSONArray jon = JSONArray.parseArray(datas); //json数组
List
// Map
// Iterator
// while(it.hasNext()) {
// Entry
// System.out.println(“key:”+entry.getKey()+“value:”+entry.getValue());
// }
}
}