84 lines
3.0 KiB
Java
Raw Normal View History

2024-06-24 16:15:01 +08:00
package com.zhgd.xmgl.util;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class RenZhiUtil {
public static final String host = "http://www.0531yun.com";
/**
* 根据设备地址查询实时数据
*
* @param devSns
* @param jnrzckAccount
* @param jnrzckPw
* @return
*/
public static JSONArray getRealTimeDataByDeviceAddr(String devSns, String jnrzckAccount, String jnrzckPw) {
String token = getToken(jnrzckAccount, jnrzckPw);
String url = StrUtil.format("{}/api/data/getRealTimeDataByDeviceAddr?deviceAddrs={}", host, devSns);
2024-06-29 16:49:17 +08:00
log.info("根据设备地址查询实时数据url:{},authorization:{}", url, token);
2024-06-24 16:15:01 +08:00
String rsp = HttpRequest.get(url)
.header("authorization", token)
.timeout(5000)//超时,毫秒
.execute().body();
JSONObject rspJo = JSONObject.parseObject(rsp);
2024-06-29 16:49:17 +08:00
log.info("根据设备地址查询实时数据rs:{}", rspJo.toJSONString());
2024-06-24 16:15:01 +08:00
try {
return rspJo.getJSONArray("data");
} catch (Exception e) {
throw new RuntimeException("根据设备地址查询实时数据失败:", e);
}
}
/**
* 获取报警数据列表
*
* @param devSn
* @param nodeId
* @return
*/
public static JSONArray getAlarmRecordList(String devSn, String token, Integer nodeId, String startTime, String endTime) {
String url = StrUtil.format("{}/api/data/alarmRecordList?deviceAddr={}&nodeId={}&startTime={}&endTime={}", host, devSn, nodeId, startTime, endTime);
2024-06-29 16:49:17 +08:00
log.info("获取报警数据列表url:{},authorization:{}", url, token);
2024-06-24 16:15:01 +08:00
String rsp = HttpRequest.get(url)
.header("authorization", token)
.timeout(5000)//超时,毫秒
.execute().body();
JSONObject rspJo = JSONObject.parseObject(rsp);
2024-06-29 16:49:17 +08:00
log.info("获取报警数据列表rs:{}", rspJo.toJSONString());
2024-06-24 16:15:01 +08:00
try {
return rspJo.getJSONArray("data");
} catch (Exception e) {
throw new RuntimeException("获取报警数据列表失败:", e);
}
}
/**
* 根据用户名和密码获取 token
*
* @param jnrzckAccount
* @param jnrzckPw
* @return
*/
public static String getToken(String jnrzckAccount, String jnrzckPw) {
String url = StrUtil.format("{}/api/getToken?loginName={}&password={}", host, jnrzckAccount, jnrzckPw);
log.info("url:{}", url);
String rsp = HttpUtil.get(url);
JSONObject rspJo = JSONObject.parseObject(rsp);
log.info("rs:{}", rspJo.toJSONString());
try {
return rspJo.getJSONObject("data").getString("token");
} catch (Exception e) {
throw new RuntimeException("获取token失败", e);
}
}
}