packagecom.googosoft.service;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.activiti.engine.impl.util.json.JSONArray;importorg.activiti.engine.impl.util.json.JSONException;importorg.activiti.engine.impl.util.json.JSONObject;importorg.activiti.engine.impl.util.json.XML;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Service;importcom.googosoft.info.ActuatorURL;importcom.googosoft.model.HttpClientResult;importcom.googosoft.model.Instance;importcom.googosoft.until.DateUtil;importcom.googosoft.until.HttpClientUtil;/***@authorsongyan
*@version2020年1月7日 下午4:33:33
* @desc*/@Servicepublic classAssemblyService {
@AutowiredprivateInstanceService instanceService;
@Value("${spring.application.name}")privateString APPNAME;
@Value("${eureka.client.service-url.defaultZone}")privateString EUREKA_DEFAULT_ZONE;
@Value("${monitor.show-self}")private booleanMONITOR_SHOW_SELF;publicObject updateStatus(String appId, String instanceId, String status) {
String url= EUREKA_DEFAULT_ZONE + ActuatorURL.APPS + "/" + appId + "/" + instanceId + "/status?value="
+status;
instanceService.updateStatus(newInstance(instanceId, status));returnHttpClientUtil.sendPutReq(url);
}public MapgetInstanceList(){
List> instanceList = new ArrayList<>();
HttpClientResult clientResult= HttpClientUtil.sendGetRequest(EUREKA_DEFAULT_ZONE+ActuatorURL.APPS);
JSONObject jsonObject=XML.toJSONObject(clientResult.getContent());
JSONObject applications= jsonObject.getJSONObject("applications");try{if(applications.get("application") instanceofJSONArray){
JSONArray serviceInstance= applications.getJSONArray("application");for (int i = 0; i < serviceInstance.length(); i++) {
JSONObject application=(JSONObject) serviceInstance.get(i);
String appName= application.getString("name");
add(application,instanceList,appName);
}
}else{
JSONObject application= applications.getJSONObject("application");
String appName= application.getString("name");
add(application,instanceList,appName);
}
}catch(JSONException e) {
e.printStackTrace();
System.err.println("applications::"+applications);
}
Map map=new HashMap();
map.put("code", 0);
map.put("count", instanceList.size());
map.put("data", instanceList);returnmap;
}public void setSysInfo(Mapmap) {
HttpClientResult clientResult= HttpClientUtil.sendGetRequest(EUREKA_DEFAULT_ZONE +ActuatorURL.APPS);
JSONObject jsonObject=XML.toJSONObject(clientResult.getConten