获取仁科token组件
This commit is contained in:
parent
61e3e76116
commit
6e0082caa9
@ -13,6 +13,7 @@ import com.fastbee.common.utils.RotateImageUtils;
|
|||||||
import com.fastbee.common.utils.file.FileUploadUtils;
|
import com.fastbee.common.utils.file.FileUploadUtils;
|
||||||
import com.fastbee.common.utils.poi.ExcelUtil;
|
import com.fastbee.common.utils.poi.ExcelUtil;
|
||||||
import com.fastbee.deviceData.api.renke.domin.*;
|
import com.fastbee.deviceData.api.renke.domin.*;
|
||||||
|
import com.fastbee.deviceData.api.renke.service.RenKeAuthorizationService;
|
||||||
import com.fastbee.deviceData.api.renke.service.RenkeMetDeviceService;
|
import com.fastbee.deviceData.api.renke.service.RenkeMetDeviceService;
|
||||||
import com.fastbee.deviceData.api.renke.service.RenkeWormSituationDeviceService;
|
import com.fastbee.deviceData.api.renke.service.RenkeWormSituationDeviceService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -50,6 +51,7 @@ public class test extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RenkeMetDeviceService renkeMetDeviceService;
|
private RenkeMetDeviceService renkeMetDeviceService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询设备告警上传列表
|
* 查询设备告警上传列表
|
||||||
*/
|
*/
|
||||||
@ -60,21 +62,20 @@ public class test extends BaseController {
|
|||||||
String deviceAddr= "1017240042";
|
String deviceAddr= "1017240042";
|
||||||
String groupId = "1";
|
String groupId = "1";
|
||||||
String recordIds = "1";
|
String recordIds = "1";
|
||||||
String token = "199491731313034631";
|
|
||||||
String beginTime = "2024-10-30 10:00:00",
|
String beginTime = "2024-10-30 10:00:00",
|
||||||
endTime = "2024-11-12 10:00:00";
|
endTime = "2024-11-12 10:00:00";
|
||||||
Integer pages = 1;
|
Integer pages = 1;
|
||||||
Integer limit = 1;
|
Integer limit = 1;
|
||||||
String nodeId = "1";
|
String nodeId = "1";
|
||||||
String enable = "1";
|
String enable = "1";
|
||||||
return renkeMetDeviceService.getWormDataList(deviceAddr,nodeId,beginTime,endTime,pages,limit,token);
|
return renkeMetDeviceService.getWormDataList(deviceAddr,nodeId,beginTime,endTime,pages,limit);
|
||||||
}
|
}
|
||||||
@PostMapping("/testJosn")
|
@PostMapping("/testJosn")
|
||||||
public Object testJosn(@RequestBody UpdateNodeInfo json) {
|
public Object testJosn(@RequestBody UpdateNodeInfo json) {
|
||||||
|
|
||||||
|
|
||||||
String token = "91191731304831841";
|
String token = "91191731304831841";
|
||||||
return renkeMetDeviceService.updateNodeInfo(json,token);
|
return renkeMetDeviceService.updateNodeInfo(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,12 @@ import lombok.Data;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UpdateDevice {
|
public class UpdateDevice {
|
||||||
|
|
||||||
public String deviceAddr;
|
public String deviceAddr;
|
||||||
public String deviceName;
|
public String deviceName;
|
||||||
public Double lng;
|
public Double lng;
|
||||||
public Double lat;
|
public Double lat;
|
||||||
public String saveDateInterval;
|
public String saveDateInterval;
|
||||||
public String offlineInterval;
|
public String offlineInterval;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
package com.fastbee.deviceData.api.renke.service;
|
||||||
|
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class RenKeAuthorizationService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
|
||||||
|
private final static String AUTH_URL = "http://192.168.1.254:8080/api/v1/user/login";
|
||||||
|
private final static String LOGIN_NAME = "heilongjiang";
|
||||||
|
private final static String LOGIN_PWD = "123456";
|
||||||
|
|
||||||
|
|
||||||
|
public String getToken(){
|
||||||
|
//判断token是否过期
|
||||||
|
String cacheToken = stringRedisTemplate.opsForValue().get("rkckth:user:token");
|
||||||
|
if (!Objects.isNull(cacheToken)){
|
||||||
|
System.err.println("缓存中获取token:"+cacheToken);
|
||||||
|
return cacheToken;
|
||||||
|
}
|
||||||
|
//获取token
|
||||||
|
//构建请求体
|
||||||
|
Map<String,Object> reqBody =new HashMap<>();
|
||||||
|
reqBody.put("loginName",LOGIN_NAME);
|
||||||
|
reqBody.put("loginPwd",LOGIN_PWD);
|
||||||
|
|
||||||
|
HttpResponse response = HttpRequest.post(AUTH_URL)
|
||||||
|
.body(JSONUtil.toJsonStr(reqBody)).execute();
|
||||||
|
String resultObjectStr = response.body();
|
||||||
|
if(StringUtils.isBlank(response.toString())){
|
||||||
|
throw new RuntimeException("获取token失败!");
|
||||||
|
}
|
||||||
|
JSONObject resultObject = JSONUtil.parseObj(resultObjectStr);
|
||||||
|
JSONObject tokenObject = JSONUtil.parseObj(resultObject.get("data"));
|
||||||
|
int currDate = Integer.parseInt(tokenObject.get("currDate").toString());
|
||||||
|
int expDate = Integer.parseInt(tokenObject.get("expDate").toString());
|
||||||
|
Integer periodValidity= expDate - currDate;
|
||||||
|
//将token存入redis
|
||||||
|
stringRedisTemplate.opsForValue().set("renke:user:token", tokenObject.get("token").toString(),2, TimeUnit.HOURS);
|
||||||
|
System.err.println("请求获取到token:"+tokenObject.get("token").toString());
|
||||||
|
return stringRedisTemplate.opsForValue().get("renke:user:token");
|
||||||
|
}
|
||||||
|
}
|
@ -7,19 +7,13 @@ import cn.hutool.json.JSONObject;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class RenkeDeviceDataService {
|
public class RenkeDeviceDataService {
|
||||||
@Autowired
|
|
||||||
private StringRedisTemplate stringRedisTemplate;
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RenKeAuthorizationService authenticationService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取设备实时数据
|
* 获取设备实时数据
|
||||||
@ -27,7 +21,7 @@ public class RenkeDeviceDataService {
|
|||||||
*/
|
*/
|
||||||
public void getDeviceRealtimeData(String deviceAddrs) {
|
public void getDeviceRealtimeData(String deviceAddrs) {
|
||||||
//处理鉴权
|
//处理鉴权
|
||||||
String token = getAuth();
|
String token = authenticationService.getToken();
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
|
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
|
||||||
.header("token", token)
|
.header("token", token)
|
||||||
@ -43,34 +37,5 @@ public class RenkeDeviceDataService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//获取token
|
//获取token
|
||||||
private String getAuth(){
|
|
||||||
//判断token是否过期
|
|
||||||
String cacheToken = stringRedisTemplate.opsForValue().get("rkckth:user:token");
|
|
||||||
if (!Objects.isNull(cacheToken)){
|
|
||||||
System.err.println("缓存中获取token:"+cacheToken);
|
|
||||||
return cacheToken;
|
|
||||||
}
|
|
||||||
//获取token
|
|
||||||
//构建请求体
|
|
||||||
Map<String,Object> reqBody =new HashMap<>();
|
|
||||||
reqBody.put("loginName","heilongjiang");
|
|
||||||
reqBody.put("loginPwd","123456");
|
|
||||||
|
|
||||||
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/entrance/user/userLogin")
|
|
||||||
.body(JSONUtil.toJsonStr(reqBody)).execute();
|
|
||||||
System.err.println("响应:"+response.body());
|
|
||||||
String resultObjectStr = response.body();
|
|
||||||
if(StringUtils.isBlank(response.toString())){
|
|
||||||
throw new RuntimeException("获取token失败!");
|
|
||||||
}
|
|
||||||
JSONObject resultObject = JSONUtil.parseObj(resultObjectStr);
|
|
||||||
JSONObject tokenObject = JSONUtil.parseObj(resultObject.get("data"));
|
|
||||||
int currDate = Integer.parseInt(tokenObject.get("currDate").toString());
|
|
||||||
int expDate = Integer.parseInt(tokenObject.get("expDate").toString());
|
|
||||||
Integer periodValidity= expDate - currDate;
|
|
||||||
//将token存入redis
|
|
||||||
stringRedisTemplate.opsForValue().set("rkckth:user:token", tokenObject.get("token").toString(),2, TimeUnit.HOURS);
|
|
||||||
System.err.println("请求获取到token:"+tokenObject.get("token").toString());
|
|
||||||
return stringRedisTemplate.opsForValue().get("rkckth:user:token").toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,9 @@ import cn.hutool.json.JSONUtil;
|
|||||||
import com.fastbee.deviceData.api.renke.domin.UpdateDevice;
|
import com.fastbee.deviceData.api.renke.domin.UpdateDevice;
|
||||||
import com.fastbee.deviceData.api.renke.domin.UpdateNodeInfo;
|
import com.fastbee.deviceData.api.renke.domin.UpdateNodeInfo;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建大仁科气象设备服务
|
* 建大仁科气象设备服务
|
||||||
@ -20,71 +17,64 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class RenkeMetDeviceService {
|
public class RenkeMetDeviceService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RenKeAuthorizationService authorizationService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取气象设备全部信息
|
* 获取气象设备全部信息
|
||||||
* @param deviceStr
|
* @param deviceStr 设备地址,支持多个用英文逗号分隔
|
||||||
* @param token
|
* @return JSONObject
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject getDeviceAllInfo(String deviceStr,String token){
|
public JSONObject getDeviceAllInfo(String deviceStr){
|
||||||
|
|
||||||
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/getDeviceAllInfo?deviceStr="+deviceStr)
|
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/getDeviceAllInfo?deviceStr="+deviceStr)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取设备实时数据失败!");
|
throw new RuntimeException("获取设备实时数据失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 根据气象设备地址获取节点信息
|
* 根据气象设备地址获取节点信息
|
||||||
* @param deviceAddr
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject getAllInsectEquipmentInformation(String deviceAddr,String token){
|
public JSONObject getAllInsectEquipmentInformation(String deviceAddr){
|
||||||
|
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
//请求参数
|
//请求参数
|
||||||
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetNodeInfo?deviceAddr="+deviceAddr)
|
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetNodeInfo?deviceAddr="+deviceAddr)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取设备实时数据失败!");
|
throw new RuntimeException("获取设备实时数据失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 根据气象设备地址获取已启用的节点信息
|
* 根据气象设备地址获取已启用的节点信息
|
||||||
* @param deviceAddr
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject listTargetEnabledNode(String deviceAddr,String token){
|
public JSONObject listTargetEnabledNode(String deviceAddr){
|
||||||
|
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
//请求参数
|
//请求参数
|
||||||
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetEnabledNode?deviceAddr="+deviceAddr)
|
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetEnabledNode?deviceAddr="+deviceAddr)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取设备实时数据失败!");
|
throw new RuntimeException("获取设备实时数据失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 根据气象节点编号获取遥调信息
|
* 根据气象节点编号获取遥调信息
|
||||||
* @param deviceAddr
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject listTargetEnabledNode(String deviceAddr,String nodeId,String token){
|
public JSONObject listTargetEnabledNode(String deviceAddr,String nodeId){
|
||||||
// 请求基础URL
|
// 请求基础URL
|
||||||
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetEnabledNode";
|
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/device/listTargetEnabledNode";
|
||||||
|
|
||||||
@ -96,24 +86,20 @@ public class RenkeMetDeviceService {
|
|||||||
if (queryParams.length() > 0) queryParams.append("&");
|
if (queryParams.length() > 0) queryParams.append("&");
|
||||||
queryParams.append("nodeId=").append(URLEncoder.encode(nodeId));
|
queryParams.append("nodeId=").append(URLEncoder.encode(nodeId));
|
||||||
}
|
}
|
||||||
String fullUrl = baseUrl + "?" + queryParams.toString();
|
String fullUrl = baseUrl + "?" + queryParams;
|
||||||
HttpResponse response = HttpRequest.get(fullUrl)
|
HttpResponse response = HttpRequest.get(fullUrl)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取虫情设备历史记录失败!");
|
throw new RuntimeException("获取虫情设备历史记录失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 修改指定气象设备全部节点的可用状态
|
* 修改指定气象设备全部节点的可用状态
|
||||||
* @param deviceAddr
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject updateAllOfNodesEnable(String deviceAddr,String enable,String token){
|
public JSONObject updateAllOfNodesEnable(String deviceAddr,String enable){
|
||||||
// 请求基础URL
|
// 请求基础URL
|
||||||
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/device/updateAllOfNodesEnable";
|
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/device/updateAllOfNodesEnable";
|
||||||
|
|
||||||
@ -127,63 +113,50 @@ public class RenkeMetDeviceService {
|
|||||||
}
|
}
|
||||||
String fullUrl = baseUrl + "?" + queryParams.toString();
|
String fullUrl = baseUrl + "?" + queryParams.toString();
|
||||||
HttpResponse response = HttpRequest.get(fullUrl)
|
HttpResponse response = HttpRequest.get(fullUrl)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取虫情设备历史记录失败!");
|
throw new RuntimeException("获取虫情设备历史记录失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改气象设备信息
|
* 修改气象设备信息
|
||||||
* @param updateDevice
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject updateDevice(UpdateDevice updateDevice, String token){
|
public JSONObject updateDevice(UpdateDevice updateDevice){
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
//请求参数
|
//请求参数
|
||||||
Map<String,Object> reqBody =getObjectProperties(updateDevice);
|
|
||||||
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/met/device/updateDevice")
|
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/met/device/updateDevice")
|
||||||
.header("token", token).body(JSONUtil.toJsonStr(reqBody))
|
.header("token", authorizationService.getToken()).body(JSONUtil.toJsonStr(updateDevice))
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("修改气象设备信息失败!");
|
throw new RuntimeException("修改气象设备信息失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新气象节点信息
|
* 更新气象节点信息
|
||||||
* @param updateNodeInfo
|
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject updateNodeInfo(UpdateNodeInfo updateNodeInfo, String token){
|
public JSONObject updateNodeInfo(UpdateNodeInfo updateNodeInfo){
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
//请求参数
|
//请求参数
|
||||||
Map<String,Object> reqBody =getObjectProperties(updateNodeInfo);
|
|
||||||
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/met/device/updateNodeInfo")
|
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/met/device/updateNodeInfo")
|
||||||
.header("token", token).body(JSONUtil.toJsonStr(reqBody))
|
.header("token", authorizationService.getToken()).body(JSONUtil.toJsonStr(updateNodeInfo))
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("修改气象设备信息失败!");
|
throw new RuntimeException("修改气象设备信息失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 根据条件获取历史数据
|
* 根据条件获取历史数据
|
||||||
* @param token
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public JSONObject getWormDataList(String deviceAddr,String nodeId,String beginTime,String endTime,Integer pages,Integer limit,String token){
|
public JSONObject getWormDataList(String deviceAddr,String nodeId,String beginTime,String endTime,Integer pages,Integer limit){
|
||||||
// 请求基础URL
|
// 请求基础URL
|
||||||
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/history/getHistoryDataList";
|
String baseUrl = "http://api.farm.0531yun.cn/api/v2.0/met/history/getHistoryDataList";
|
||||||
|
|
||||||
@ -209,50 +182,13 @@ public class RenkeMetDeviceService {
|
|||||||
}
|
}
|
||||||
String fullUrl = baseUrl + "?" + queryParams.toString();
|
String fullUrl = baseUrl + "?" + queryParams.toString();
|
||||||
HttpResponse response = HttpRequest.get(fullUrl)
|
HttpResponse response = HttpRequest.get(fullUrl)
|
||||||
.header("token", token)
|
.header("token", authorizationService.getToken())
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
throw new RuntimeException("获取虫情设备历史记录失败!");
|
throw new RuntimeException("获取虫情设备历史记录失败!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(respBodyStr);
|
return JSONUtil.parseObj(respBodyStr);
|
||||||
return jsonObject;
|
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 通过反射获取对象的所有属性和值,并存储到Map中
|
|
||||||
*
|
|
||||||
* @param obj 目标对象
|
|
||||||
* @return 包含属性和值的Map
|
|
||||||
*/
|
|
||||||
public static Map<String, Object> getObjectProperties(Object obj) {
|
|
||||||
Map<String, Object> propertiesMap = new HashMap<>();
|
|
||||||
|
|
||||||
// 获取对象的类类型
|
|
||||||
Class<?> clazz = obj.getClass();
|
|
||||||
|
|
||||||
// 获取类的所有字段(包括私有字段)
|
|
||||||
Field[] fields = clazz.getDeclaredFields();
|
|
||||||
|
|
||||||
// 遍历字段
|
|
||||||
for (Field field : fields) {
|
|
||||||
// 设置字段为可访问(即使它是私有的)
|
|
||||||
field.setAccessible(true);
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 获取字段的名称
|
|
||||||
String fieldName = field.getName();
|
|
||||||
|
|
||||||
// 获取字段的值(从目标对象中)
|
|
||||||
Object fieldValue = field.get(obj);
|
|
||||||
|
|
||||||
// 将字段名称和值存入Map中
|
|
||||||
propertiesMap.put(fieldName, fieldValue);
|
|
||||||
|
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
// 理论上不应该发生,因为我们已经设置了setAccessible(true)
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return propertiesMap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -50,10 +50,8 @@ public class RenkeWormSituationDeviceService {
|
|||||||
*/
|
*/
|
||||||
public JSONObject updateDevice(UpdateDevice updateDevice, String token){
|
public JSONObject updateDevice(UpdateDevice updateDevice, String token){
|
||||||
//获取设备实时数据
|
//获取设备实时数据
|
||||||
//请求参数
|
|
||||||
Map<String,Object> reqBody =getObjectProperties(updateDevice);
|
|
||||||
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/worm/device/updateDevice")
|
HttpResponse response = HttpRequest.post("http://api.farm.0531yun.cn/api/v2.0/worm/device/updateDevice")
|
||||||
.header("token", token).body(JSONUtil.toJsonStr(reqBody))
|
.header("token", token).body(JSONUtil.toJsonStr(updateDevice))
|
||||||
.execute();
|
.execute();
|
||||||
String respBodyStr = response.body();
|
String respBodyStr = response.body();
|
||||||
if(StringUtils.isBlank(respBodyStr)) {
|
if(StringUtils.isBlank(respBodyStr)) {
|
||||||
|
@ -9,7 +9,7 @@ import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
|||||||
* @author kerwincui
|
* @author kerwincui
|
||||||
* @date 2024-11-08
|
* @date 2024-11-08
|
||||||
*/
|
*/
|
||||||
public interface IDeviceRealtimedataMeteorologyService
|
public interface IDeviceRealtimedataMeteorologyService
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 查询气象设备实时数据
|
* 查询气象设备实时数据
|
||||||
|
@ -2,11 +2,12 @@ package com.fastbee.deviceData.service.impl;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.fastbee.common.utils.DateUtils;
|
import com.fastbee.common.utils.DateUtils;
|
||||||
|
import com.fastbee.deviceData.service.IDeviceRealtimedataMeteorologyService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper;
|
import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper;
|
||||||
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
||||||
import com.fastbee.deviceData.service.IDeviceRealtimedataMeteorologyService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 气象设备实时数据Service业务层处理
|
* 气象设备实时数据Service业务层处理
|
||||||
@ -15,7 +16,7 @@ import com.fastbee.deviceData.service.IDeviceRealtimedataMeteorologyService;
|
|||||||
* @date 2024-11-08
|
* @date 2024-11-08
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtimedataMeteorologyService
|
public class DeviceRealtimeDataMeteorologyServiceImpl implements IDeviceRealtimedataMeteorologyService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataMeteorologyMapper deviceRealtimedataMeteorologyMapper;
|
private DeviceRealtimedataMeteorologyMapper deviceRealtimedataMeteorologyMapper;
|
@ -1,11 +1,13 @@
|
|||||||
package com.fastbee.deviceData.service.impl;
|
package com.fastbee.deviceData.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fastbee.deviceData.mapper.DeviceRealtimedataWormsMapper;
|
import com.fastbee.deviceData.mapper.DeviceRealtimedataWormsMapper;
|
||||||
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
||||||
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 虫情设备实时数据Service业务层处理
|
* 虫情设备实时数据Service业务层处理
|
||||||
@ -14,14 +16,14 @@ import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
|||||||
* @date 2024-11-07
|
* @date 2024-11-07
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class DeviceRealtimedataWormsServiceImpl implements IDeviceRealtimedataWormsService
|
public class DeviceRealtimeDataWormsServiceImpl implements IDeviceRealtimedataWormsService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataWormsMapper deviceRealtimedataWormsMapper;
|
private DeviceRealtimedataWormsMapper deviceRealtimedataWormsMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询虫情设备实时数据
|
* 查询虫情设备实时数据
|
||||||
*
|
*
|
||||||
* @param id 虫情设备实时数据主键
|
* @param id 虫情设备实时数据主键
|
||||||
* @return 虫情设备实时数据
|
* @return 虫情设备实时数据
|
||||||
*/
|
*/
|
@ -10,8 +10,8 @@ import cn.hutool.json.JSONUtil;
|
|||||||
import com.fastbee.deviceData.api.renke.constant.RenKeDeviceTypeConstant;
|
import com.fastbee.deviceData.api.renke.constant.RenKeDeviceTypeConstant;
|
||||||
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
||||||
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
||||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataMeteorologyServiceImpl;
|
import com.fastbee.deviceData.service.impl.DeviceRealtimeDataMeteorologyServiceImpl;
|
||||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
|
import com.fastbee.deviceData.service.impl.DeviceRealtimeDataWormsServiceImpl;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -32,9 +32,9 @@ public class DeviceDateTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private StringRedisTemplate stringRedisTemplate;
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
|
private DeviceRealtimeDataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataMeteorologyServiceImpl deviceRealtimedataMeteorologyServiceImpl;
|
private DeviceRealtimeDataMeteorologyServiceImpl deviceRealtimedataMeteorologyServiceImpl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在执行定时任务中出现了异常会终止调度,所以需要捕获异常以便于下一轮
|
* 在执行定时任务中出现了异常会终止调度,所以需要捕获异常以便于下一轮
|
||||||
@ -72,14 +72,13 @@ public class DeviceDateTask {
|
|||||||
deviceRealtimedataMeteorology.setCreateTime(DateTime.now());
|
deviceRealtimedataMeteorology.setCreateTime(DateTime.now());
|
||||||
if(deviceRealtimedataMeteorologyServiceImpl.insertDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology)==1){
|
if(deviceRealtimedataMeteorologyServiceImpl.insertDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology)==1){
|
||||||
System.out.println("插入成功");
|
System.out.println("插入成功");
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getAuth(){
|
private String getAuth(){
|
||||||
//判断token是否过期
|
//判断token是否过期
|
||||||
String cacheToken = stringRedisTemplate.opsForValue().get("rkckth:user:token");
|
String cacheToken = stringRedisTemplate.opsForValue().get("rkckth:user:token");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user