diff --git a/fastbee-open-api/pom.xml b/fastbee-open-api/pom.xml
index e566a15..520a788 100644
--- a/fastbee-open-api/pom.xml
+++ b/fastbee-open-api/pom.xml
@@ -54,6 +54,12 @@
3.8.5
compile
+
+ com.fastbee
+ fastbee-device-service
+ 3.8.5
+ compile
+
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/media/YingshiyunVideoController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/media/YingshiyunVideoController.java
new file mode 100644
index 0000000..ecbabe8
--- /dev/null
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/media/YingshiyunVideoController.java
@@ -0,0 +1,28 @@
+package com.fastbee.data.controller.media;
+
+import com.fastbee.common.core.controller.BaseController;
+import com.fastbee.common.core.domain.AjaxResult;
+import com.fastbee.device.api.yingshiyun.service.YingshiyunService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/media/yingshiyun")
+public class YingshiyunVideoController extends BaseController {
+
+ @Autowired
+ private YingshiyunService yingshiyunService;
+
+
+ /**
+ * 获取视频播放地址
+ * @param deviceSerial 设备的序列号/编号
+ * @return 视频播放地址
+ */
+ @GetMapping("/video-playUrl/get")
+ public AjaxResult getVideoUrl(String deviceSerial){
+ return success(yingshiyunService.getVideoPlayUrl(deviceSerial));
+ }
+}
diff --git a/fastbee-service/fastbee-deviceData-service/pom.xml b/fastbee-service/fastbee-device-service/pom.xml
similarity index 95%
rename from fastbee-service/fastbee-deviceData-service/pom.xml
rename to fastbee-service/fastbee-device-service/pom.xml
index 74a313e..ec0c389 100644
--- a/fastbee-service/fastbee-deviceData-service/pom.xml
+++ b/fastbee-service/fastbee-device-service/pom.xml
@@ -9,7 +9,7 @@
3.8.5
- fastbee-deviceData-service
+ fastbee-device-service
8
diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/constant/RenKeDeviceTypeConstant.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/constant/RenKeDeviceTypeConstant.java
new file mode 100644
index 0000000..c0ada73
--- /dev/null
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/constant/RenKeDeviceTypeConstant.java
@@ -0,0 +1,10 @@
+package com.fastbee.device.api.renke.constant;
+
+/**
+ * 建大仁科设备类型常量
+ */
+public class RenKeDeviceTypeConstant {
+ public static final String MET = "met";//气象设备
+ public static final String WORM = "wormFlagship";//虫情设备
+
+}
diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeDeviceDataService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeDeviceDataService.java
new file mode 100644
index 0000000..1065c9c
--- /dev/null
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeDeviceDataService.java
@@ -0,0 +1,101 @@
+package com.fastbee.device.api.renke.service;
+
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONArray;
+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.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+
+@Service
+public class RenkeDeviceDataService {
+ @Autowired
+ private StringRedisTemplate stringRedisTemplate;
+
+
+ /**
+ * 获取设备实时数据
+ * @param deviceAddrs 设备地址,支持多个用英文逗号分隔
+ */
+ public void getDeviceRealtimeData(String deviceAddrs) {
+ //处理鉴权
+ String token = getAuth();
+ //获取设备实时数据
+ HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
+ .header("token", token)
+ .form("deviceAddrs", deviceAddrs)
+ .execute();
+ String respBodyStr = response.body();
+ if(StringUtils.isBlank(respBodyStr)) {
+ throw new RuntimeException("获取设备实时数据失败!");
+ }
+ JSONObject respBody = JSONUtil.parseObj(respBodyStr);
+ JSONArray realtimeDataList = JSONUtil.parseArray(respBody.get("data"));
+ System.err.println("设备实时数据:"+realtimeDataList);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ //获取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 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();
+ }
+}
diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeMetDeviceService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeMetDeviceService.java
new file mode 100644
index 0000000..441ac87
--- /dev/null
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeMetDeviceService.java
@@ -0,0 +1,10 @@
+package com.fastbee.device.api.renke.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * 建大仁科气象设备服务
+ */
+@Service
+public class RenkeMetDeviceService {
+}
diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeWormSituationDeviceService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeWormSituationDeviceService.java
new file mode 100644
index 0000000..f0edf7a
--- /dev/null
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/renke/service/RenkeWormSituationDeviceService.java
@@ -0,0 +1,12 @@
+package com.fastbee.device.api.renke.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * 建大仁科虫情设备服务
+ */
+@Service
+public class RenkeWormSituationDeviceService {
+
+
+}
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/api/yingshiyun/service/YingshiyunService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/yingshiyun/service/YingshiyunService.java
similarity index 90%
rename from fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/api/yingshiyun/service/YingshiyunService.java
rename to fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/yingshiyun/service/YingshiyunService.java
index cf4d905..f412472 100644
--- a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/api/yingshiyun/service/YingshiyunService.java
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/api/yingshiyun/service/YingshiyunService.java
@@ -1,4 +1,4 @@
-package com.fastbee.deviceData.api.yingshiyun.service;
+package com.fastbee.device.api.yingshiyun.service;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
@@ -12,6 +12,8 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
@Service
@@ -49,6 +51,10 @@ public class YingshiyunService {
JSONObject jsonObject = JSONUtil.parseObj(response.body());
String videoPlayUrl = JSONUtil.parseObj(jsonObject.get("data")).get("url").toString();
String expireTime = JSONUtil.parseObj(jsonObject.get("data")).get("expireTime").toString();
+ Map resp= new HashMap<>();
+ resp.put("videoPlayUrl",videoPlayUrl);
+ resp.put("expireTime",expireTime);
+ resp.put("deviceSerial",deviceSerial);
return videoPlayUrl;
}
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataWorms.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/domain/DeviceRealtimedataWorms.java
similarity index 96%
rename from fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataWorms.java
rename to fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/domain/DeviceRealtimedataWorms.java
index 8c60629..3530f08 100644
--- a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataWorms.java
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/domain/DeviceRealtimedataWorms.java
@@ -1,11 +1,9 @@
-package com.fastbee.deviceData.domain;
+package com.fastbee.device.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/mapper/DeviceRealtimedataWormsMapper.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/mapper/DeviceRealtimedataWormsMapper.java
similarity index 93%
rename from fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/mapper/DeviceRealtimedataWormsMapper.java
rename to fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/mapper/DeviceRealtimedataWormsMapper.java
index becb070..7fb1d99 100644
--- a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/mapper/DeviceRealtimedataWormsMapper.java
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/mapper/DeviceRealtimedataWormsMapper.java
@@ -1,7 +1,7 @@
-package com.fastbee.deviceData.mapper;
+package com.fastbee.device.mapper;
import java.util.List;
-import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
+import com.fastbee.device.domain.DeviceRealtimedataWorms;
/**
* 虫情设备实时数据Mapper接口
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataWormsService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/IDeviceRealtimedataWormsService.java
similarity index 94%
rename from fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataWormsService.java
rename to fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/IDeviceRealtimedataWormsService.java
index 2a9c253..1fe0e1f 100644
--- a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataWormsService.java
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/IDeviceRealtimedataWormsService.java
@@ -1,7 +1,7 @@
-package com.fastbee.deviceData.service;
+package com.fastbee.device.service;
import java.util.List;
-import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
+import com.fastbee.device.domain.DeviceRealtimedataWorms;
/**
* 虫情设备实时数据Service接口
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataWormsServiceImpl.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/impl/DeviceRealtimedataWormsServiceImpl.java
similarity index 91%
rename from fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataWormsServiceImpl.java
rename to fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/impl/DeviceRealtimedataWormsServiceImpl.java
index c1726d8..7790999 100644
--- a/fastbee-service/fastbee-deviceData-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataWormsServiceImpl.java
+++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/device/service/impl/DeviceRealtimedataWormsServiceImpl.java
@@ -1,11 +1,11 @@
-package com.fastbee.deviceData.service.impl;
+package com.fastbee.device.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.fastbee.deviceData.mapper.DeviceRealtimedataWormsMapper;
-import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
-import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
+import com.fastbee.device.mapper.DeviceRealtimedataWormsMapper;
+import com.fastbee.device.domain.DeviceRealtimedataWorms;
+import com.fastbee.device.service.IDeviceRealtimedataWormsService;
/**
* 虫情设备实时数据Service业务层处理
diff --git a/fastbee-service/fastbee-deviceData-service/src/main/resources/mapper.deviceData/DeviceRealtimedataWormsMapper.xml b/fastbee-service/fastbee-device-service/src/main/resources/mapper.deviceData/DeviceRealtimedataWormsMapper.xml
similarity index 100%
rename from fastbee-service/fastbee-deviceData-service/src/main/resources/mapper.deviceData/DeviceRealtimedataWormsMapper.xml
rename to fastbee-service/fastbee-device-service/src/main/resources/mapper.deviceData/DeviceRealtimedataWormsMapper.xml
diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/DeviceShortOutput.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/DeviceShortOutput.java
index 35ebe8e..f9d36ad 100644
--- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/DeviceShortOutput.java
+++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/DeviceShortOutput.java
@@ -6,6 +6,7 @@ import com.fastbee.common.annotation.Excel;
import com.fastbee.iot.model.ThingsModelItem.*;
import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@@ -17,8 +18,7 @@ import java.util.List;
* @author kerwincui
* @date 2021-12-16
*/
-public class DeviceShortOutput
-{
+public class DeviceShortOutput implements Serializable {
public DeviceShortOutput(){
this.stringList=new ArrayList<>();
this.integerList=new ArrayList<>();
diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/DeviceDateTask.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/DeviceDateTask.java
new file mode 100644
index 0000000..8507ae7
--- /dev/null
+++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/DeviceDateTask.java
@@ -0,0 +1,87 @@
+package com.fastbee.iot.timer;
+
+import cn.hutool.http.HttpConfig;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.fastbee.common.core.redis.RedisCache;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author mijiupro
+ */
+@Component("renkeDeviceDateTask")
+public class DeviceDateTask {
+
+
+ @Autowired
+ private StringRedisTemplate stringRedisTemplate;
+ /**
+ * 在执行定时任务中出现了异常会终止调度,所以需要捕获异常以便于下一轮
+ * 执行,不会影响下一次执行
+ */
+ public void getRenkeDeviceRealtimeData() throws Exception{
+ //处理鉴权
+ String token = getAuth();
+ //获取设备实时数据
+ //请求参数
+ HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
+ .header("token", token)
+ .execute();
+ String respBodyStr = response.body();
+ if(StringUtils.isBlank(respBodyStr)) {
+ throw new RuntimeException("获取设备实时数据失败!");
+ }
+ JSONObject respBody = JSONUtil.parseObj(respBodyStr);
+ JSONArray realtimeList = JSONUtil.parseArray(respBody.get("data"));
+ System.err.println("设备实时数据:"+realtimeList);
+ //TODO 解析实时数据保存到数据库
+
+ }
+
+
+ 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 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();
+ }
+}
+
diff --git a/fastbee-service/pom.xml b/fastbee-service/pom.xml
index 969125e..59ce820 100644
--- a/fastbee-service/pom.xml
+++ b/fastbee-service/pom.xml
@@ -19,7 +19,7 @@
fastbee-waterele-service
fastbee-project-service
fastbee-ggroup-service
- fastbee-deviceData-service
+ fastbee-device-service