package com.cloud.retrieve.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.model.common.Page;
|
import com.cloud.model.common.Result;
|
import com.cloud.retrieve.service.DeviceService;
|
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 org.springframework.web.client.RestTemplate;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@Service
|
public class DeviceServiceImpl implements DeviceService {
|
|
@Autowired
|
private EnumStr enumStr;
|
|
/**
|
* 获取设备类型
|
* @return
|
*/
|
@Override
|
public Result getDeviceType() {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getDeviceType";
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("type", "DEVICE_TYPE");
|
String result = RestTemplateUtil.post(url, jsonObject, MediaType.APPLICATION_FORM_URLENCODED, true);
|
if(StringUtils.isNotEmpty(result))
|
return JSONObject.parseObject(result, Result.class);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return Result.custom("查询失败", 500, false, "服务调用失败");
|
}
|
|
/**
|
* 获取设备品牌
|
* @return
|
*/
|
@Override
|
public Result getDeviceBrand() {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getDeviceBrand";
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("type", "DEVICE_BRAND");
|
String result = RestTemplateUtil.get(url, jsonObject, true);
|
if(StringUtils.isNotEmpty(result))
|
return JSONObject.parseObject(result, Result.class);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return Result.custom("查询失败", 500, false, "服务调用失败");
|
}
|
|
/**
|
* 获取设备状态
|
* @return
|
*/
|
@Override
|
public Result getStatusList() {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getStatus";
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("type", "DEVICE_STATUS");
|
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.custom("查询失败", 500, false, "服务调取失败");
|
}
|
|
/**
|
* 获取组织机构树及设备(不包含集群设备)
|
* @param param
|
* @return
|
*/
|
@Override
|
public List getOrgDeviceTree(Map<String, Object> param) {
|
List list = new ArrayList<>();
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getOrgDeviceTree";
|
try {
|
JSONObject jsonObject = JsonUtil.mapToJson(param);
|
String result = RestTemplateUtil.get(url, jsonObject, true);
|
if(StringUtils.isNotEmpty(result))
|
list = JSONArray.parseArray(result);
|
} catch (Exception e) {
|
log.info(e.getMessage());
|
}
|
|
return list;
|
}
|
|
/**
|
* 获取地区下的设备(不区分集群和非集群)
|
* @param param
|
* @return
|
*/
|
@Override
|
public Result findByArea(Map<String, Object> param) {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/findByArea";
|
JSONObject jsonObject = JsonUtil.mapToJson(param);
|
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, "查询失败");
|
}
|
|
@Override
|
public Result findAllDeviceByArea(Map<String, Object> param){
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/findAllDeviceByArea";
|
JSONObject jsonObject = JsonUtil.mapToJson(param);
|
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, "查询失败");
|
}
|
|
/**
|
* 获取非集群下的设备
|
* @param param
|
* @return
|
*/
|
@Override
|
public Result findAllPlatDeviceList(Map<String, Object> param) {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/findAllPlatDeviceList";
|
JSONObject jsonObject = JsonUtil.mapToJson(param);
|
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, "查询失败");
|
}
|
|
/**
|
* 通过设备id获取设备信息
|
* @param id
|
* @return
|
*/
|
@Override
|
public Result getDeviceById(String id){
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getDeviceById";
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("id",id);
|
String result = RestTemplateUtil.post(url, jsonObject, MediaType.APPLICATION_FORM_URLENCODED, 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.custom("查询失败", 500, false, "服务调取失败");
|
}
|
|
@Override
|
public Result getNodeByDeviceId(String id) {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getNodeByDeviceId";
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("deviceId",id);
|
String respJson = RestTemplateUtil.get(url, jsonObject, true);
|
Result result = JSONObject.parseObject(respJson,Result.class);
|
return result;
|
}
|
|
@Override
|
public Result getDevSnapshot(String id) {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/getDevSnapshot"; // localhost
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("devId",id);
|
String respJson = RestTemplateUtil.post(url, jsonObject,MediaType.APPLICATION_JSON_UTF8, true);
|
Result result = JSONObject.parseObject(respJson,Result.class);
|
return result;
|
}
|
|
/**
|
* 查询设备管理中的所有设备
|
* @return
|
*/
|
@Override
|
public Result findAllDevices() {
|
try {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+ "/data/api-d/device/findAllDevices";
|
String result = RestTemplateUtil.get(url, new 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, "服务调取失败");
|
}
|
|
|
/**
|
* 获取 设备模块 依据 设备id 查询 设备信息
|
* wp 19-02-12
|
* @return
|
*/
|
@Override
|
public JSONObject getNodeByDevId(String devId) {
|
String url = "http://" + enumStr.getDeviceServiceUrl()+":" + enumStr.getDeviceServicePort()+
|
"/data/api-d/device/getNodeByDevId";
|
try {
|
JSONObject jsonParam = new JSONObject();
|
jsonParam.put("devId", devId);
|
String resp = RestTemplateUtil.get(url, jsonParam,true);
|
if(StringUtils.isNotEmpty(resp)){
|
Result result = JSONObject.parseObject(resp, Result.class);
|
if(result !=null && result.isSuccess() && result.getData() !=null){
|
return JSONObject.parseObject(result.getData().toString());
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
|
}
|
return null;
|
}
|
}
|