package com.cloud.retrieve.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.cloud.common.utils.RestTemplateUtil; import com.cloud.model.common.Result; import com.cloud.retrieve.service.ClusterService; import com.cloud.retrieve.utils.EnumStr; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Slf4j @Service public class ClusterServiceImpl implements ClusterService { @Autowired private EnumStr enumStr; @Override public List getClusterDeviceTree() { List list = new ArrayList<>(); String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/cluster/getClusterDeviceTree"; try { String result = RestTemplateUtil.post(url, new JSONObject(), MediaType.APPLICATION_FORM_URLENCODED,true); if(StringUtils.isNotEmpty(result)){ list = JSONArray.parseArray(result); } } catch (Exception e) { e.printStackTrace(); } return list; } @Override public Result findClusterList(String type, String id, String condition){ try { JSONObject jsonObject = new JSONObject(); jsonObject.put("type", type); jsonObject.put("id", id); jsonObject.put("condition", condition); String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/cluster/findClusterList"; String result = RestTemplateUtil.get(url, jsonObject, true); if(StringUtils.isNotEmpty(result)){ Result res = JSONObject.parseObject(result, Result.class); if(res !=null && res.isSuccess()){ return res; } } } catch (Exception e) { e.printStackTrace(); return Result.error(e); } return Result.custom("查询失败",500,false,"服务调用失败"); } }