package com.cloud.control.service.impl;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.cloud.common.utils.JsonUtil;
|
import com.cloud.common.utils.RestTemplateUtil;
|
import com.cloud.control.service.ClusterService;
|
import com.cloud.control.utils.EnumStr;
|
import com.cloud.model.common.Result;
|
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.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@Service
|
public class ClusterServiceImpl implements ClusterService {
|
|
@Autowired
|
private EnumStr enumStr;
|
|
/**
|
* 获取集群内的所有信息,包括集群信息,节点信息,同步库和本地库,以及摄像机设备信息
|
* @return
|
*/
|
@Override
|
public Result findAllNode() {
|
Map<String, Object> params = new HashMap<>();
|
params.put("name", "");//集群名称参数
|
params.put("isContainerDb", "1");//是否查本地库信息
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+
|
"/data/api-d/cluster/findAllNode";
|
try {
|
JSONObject jsonParam = JsonUtil.mapToJson(params);
|
String result = RestTemplateUtil.post(url, jsonParam, MediaType.APPLICATION_FORM_URLENCODED,false);
|
if(StringUtils.isNotEmpty(result)){
|
return JSONObject.parseObject(result, Result.class);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
return Result.error(e);
|
}
|
return Result.custom("查询失败",500,false,"服务调用失败");
|
}
|
|
/**
|
* 查询集群设备树信息(在布控范围中使用)
|
* @return
|
*/
|
@Override
|
public Result getClusterDeviceTree() {
|
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)){
|
return Result.ok("查询成功", JSONArray.parseArray(result));
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return Result.custom("查询失败",500,false,"服务调用失败");
|
}
|
|
}
|