From d37ea253722849fbd23a5f617d9204af9246d38d Mon Sep 17 00:00:00 2001
From: wuyw <373811525@qq.com>
Date: Sun, 18 Aug 2024 00:06:26 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=89=E9=98=B2=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=AE=89=E9=98=B2=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/UploadedPhotosController.java | 6 +++--
.../impl/UploadedPhotosServiceImpl.java | 23 ++++++++++++++++---
.../iot/model/anfang/UploadedPhotos.java | 4 +++-
.../mapper/iot/UploadedPhotosMapper.xml | 6 +++++
4 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
index 7ca3ca7..c8ab1c0 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
@@ -87,6 +87,7 @@ public class UploadedPhotosController extends BaseController {
@RequestParam("cpuTemp") Double cpuTemp,
@RequestParam("eventType") String eventType,
@RequestParam("doorState") String doorState,
+ @RequestParam("anFangStatus") String anFangStatus,
@RequestParam("time") String time) {
if (photo.isEmpty()) {
@@ -111,7 +112,7 @@ public class UploadedPhotosController extends BaseController {
//推送告警短信通知
uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType);
UploadedPhotos uploadedPhotos = new UploadedPhotos(
- null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType, date
+ null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date
);
return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos));
} catch (IOException e) {
@@ -142,6 +143,7 @@ public class UploadedPhotosController extends BaseController {
@RequestParam("doorState") String doorState,
@RequestParam("cpuTemp") Double cpuTemp,
@RequestParam("eventType") String eventType,
+ @RequestParam("anFangStatus") String anFangStatus,
@RequestParam("time") String time) {
// 处理可能为空的字段
Double latitude = isEmpty(lat) ? 0.0 : Double.valueOf(lat);
@@ -156,7 +158,7 @@ public class UploadedPhotosController extends BaseController {
//推送告警短信通知
uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType);
UploadedPhotos uploadedPhotos = new UploadedPhotos(
- null, "", monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType, date
+ null, "", monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date
);
return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos));
}
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java
index 13ec8b8..ccf7dac 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java
@@ -244,6 +244,12 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService {
} else if (Integer.parseInt(eventType) == 3) {
temp.put("warnInfo", "箱门持续打开");
notify = true;
+ }else if(Integer.parseInt(eventType) == 4){
+ temp.put("warnInfo", "开启布放");
+ notify = true;
+ }else if(Integer.parseInt(eventType) == 5){
+ temp.put("warnInfo", "撤防");
+ notify = true;
}
if (notify) {
DeviceAlertUser deviceAlertUser = new DeviceAlertUser();
@@ -278,14 +284,25 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService {
}
int doorState = 0;
int shakeState = 0;
+ int anFangStatus = 0;
int eventType = doorAlertBto.getEventType();
if (doorAlertBto.getEventType() > 0) {
- if (doorAlertBto.getEventType() == 1) {
+ if (eventType == 1) {
shakeState = doorAlertBto.getEventType();
doorState = 0;
- } else if (doorAlertBto.getEventType() >= 2) {
+ anFangStatus = 1;
+ } else if (eventType == 2 || eventType == 3) {
doorState = 1;
shakeState = 0;
+ anFangStatus = 1;
+ }else if(eventType == 4 ){
+ anFangStatus = 1;
+ doorState = 0;
+ shakeState = 0;
+ }else if(eventType == 5){
+ anFangStatus = 0;
+ doorState = 0;
+ shakeState = 0;
}
sendAlarmMessage(device.getSerialNumber(), doorState + "", shakeState + "", eventType + "");
}
@@ -295,7 +312,7 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService {
null, "", monitorPath, "", device.getSerialNumber(),
device.getLatitude() != null ? device.getLatitude().doubleValue() : 0d,
device.getLongitude() != null ? device.getLatitude().doubleValue() : 0d,
- 18.23d, doorState + "", shakeState + "", 32.3, doorAlertBto.getEventType().toString(), new Date()
+ 18.23d, doorState + "", shakeState + "", 32.3, doorAlertBto.getEventType().toString(),anFangStatus + "", new Date()
);
int count = insertUploadedPhotos(uploadedPhotos);
if (count > 0) {
diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java
index 8e4e42c..54e497e 100644
--- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java
+++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java
@@ -61,9 +61,11 @@ public class UploadedPhotos extends BaseEntity
/** CPU温度 */
@Excel(name = "CPU温度")
private Double cpuTemp;
- /** 事件类型:1=振动,2=箱门打开,3=人员入侵 */
+ /** 事件类型:1=振动,2=箱门打开,3=箱门持续打开 */
@Excel(name = "事件类型")
private String eventType;
+ @Excel(name = "安防状态:1=布防, 0=撤防")
+ private String anFangStatus;
/** 上传时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml
index 0a02eb2..01b2120 100644
--- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml
+++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml
@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -38,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and event_type = #{eventType}
and cpu_temp = #{cpuTemp}
and shake_state = #{shakeState}
+ and an_fang_status = #{anFangStatus}
and upload_time between #{params.beginUploadTime} and #{params.endUploadTime}
order by id desc
@@ -63,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
upload_time,
event_type,
cpu_temp,
+ an_fang_status,
#{photoPath},
@@ -77,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{uploadTime},
#{eventType},
#{cpuTemp},
+ #{anFangStatus},
@@ -95,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
upload_time = #{uploadTime},
event_type = #{eventType},
cpu_temp = #{cpuTemp},
+ an_fang_status = #{anFangStatus},
where id = #{id}
@@ -114,6 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
upload_time = #{uploadTime},
event_type = #{eventType},
cpu_temp = #{cpuTemp},
+ an_fang_status = #{anFangStatus},
where sn = #{sn} and upload_time = #{uploadTime}
From 0386d7d270ec0236dd81f02279947617bf74ac96 Mon Sep 17 00:00:00 2001
From: wuyw <373811525@qq.com>
Date: Sun, 18 Aug 2024 23:30:15 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=9F=BA=E7=A1=80?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=AD=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87?=
=?UTF-8?q?=E8=AF=A6=E7=BB=86=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/model/vo/iot/DeviceDetailVo.java | 30 +++++++
.../data/controller/DeviceController.java | 5 +-
.../controller/UploadedPhotosController.java | 3 +-
.../devicedetail/IDeviceDetailService.java | 3 +-
.../impl/DeviceDetailServiceImpl.java | 88 +++++++++++++++++++
.../java/com/fastbee/iot/domain/Device.java | 5 +-
.../fastbee/iot/service/IDeviceService.java | 3 +
.../iot/service/impl/DeviceServiceImpl.java | 10 ++-
.../java/com/fastbee/iot/timer/QxtrTask.java | 8 +-
9 files changed, 145 insertions(+), 10 deletions(-)
create mode 100644 fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java
diff --git a/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java b/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java
new file mode 100644
index 0000000..2a4050d
--- /dev/null
+++ b/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java
@@ -0,0 +1,30 @@
+package com.fastbee.common.model.vo.iot;
+
+import lombok.Data;
+
+/**
+ * 设备详细信息
+ */
+@Data
+public class DeviceDetailVo {
+ //运行状态
+ private String runState;
+ //最后更新时间
+ private String lastDataTime;
+ //总累计用电量(kwh)
+ private String sumEle;
+ //总累计用水量(m³)
+ private String sumFlow;
+ //供电类型
+ private String gongDianType;
+ //环境温度
+ private String temp;
+ //电池电量
+ private String powerDianliang;
+ //电池电压
+ private String powerVolt;
+ //电池电流
+ private String powerCur;
+
+}
+
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java
index 65f9eba..343d0f7 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java
@@ -13,6 +13,7 @@ import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
+import com.fastbee.data.service.devicedetail.IDeviceDetailService;
import com.fastbee.iot.domain.Device;
import com.fastbee.iot.domain.JiankongDeviceParam;
import com.fastbee.iot.model.DeviceAssignmentVO;
@@ -52,7 +53,8 @@ import java.util.stream.Collectors;
public class DeviceController extends BaseController {
@Autowired
private IDeviceService deviceService;
-
+ @Autowired
+ private IDeviceDetailService deviceDetailService;
// @Lazy
@Autowired
private IMqttMessagePublish messagePublish;
@@ -165,6 +167,7 @@ public class DeviceController extends BaseController {
@ApiOperation("获取设备详情")
public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) {
Device device = deviceService.selectDeviceByDeviceId(deviceId);
+ device.setDeviceDetailVo(deviceDetailService.getDetailInfo(device));
// 判断当前用户是否有设备分享权限 (设备所属机构管理员和设备所属用户有权限)
// LoginUser loginUser = getLoginUser();
// List roles = loginUser.getUser().getRoles();
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
index c8ab1c0..f26da0c 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java
@@ -112,7 +112,8 @@ public class UploadedPhotosController extends BaseController {
//推送告警短信通知
uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType);
UploadedPhotos uploadedPhotos = new UploadedPhotos(
- null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date
+ null, fileName, monitorPath, imei, sn, latitude, longitude,
+ temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date
);
return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos));
} catch (IOException e) {
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java
index 3417db0..cd73228 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java
@@ -1,6 +1,7 @@
package com.fastbee.data.service.devicedetail;
import com.fastbee.common.core.domain.CommonResult;
+import com.fastbee.common.model.vo.iot.DeviceDetailVo;
import com.fastbee.common.model.vo.iot.QueryLogVo;
import com.fastbee.data.domain.vo.AnfangInfoVo;
import com.fastbee.iot.domain.Device;
@@ -43,5 +44,5 @@ public interface IDeviceDetailService {
*/
List> gongdianRealData(QueryLogVo queryLogVo);
List> yongshuiRealData(QueryLogVo queryLogVo);
-
+ DeviceDetailVo getDetailInfo(Device device);
}
diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java
index d55885e..51d300a 100644
--- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java
+++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java
@@ -5,7 +5,10 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fastbee.common.core.domain.CommonResult;
+import com.fastbee.common.core.page.TableDataInfo;
+import com.fastbee.common.model.vo.iot.DeviceDetailVo;
import com.fastbee.common.model.vo.iot.QueryLogVo;
+import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.DevParamsUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.data.domain.vo.AnfangInfoVo;
@@ -27,6 +30,7 @@ import com.fastbee.iot.service.IThingsModelService;
import com.fastbee.waterele.domain.MaWatereleRecord;
import com.fastbee.waterele.domain.dto.MaGuangaiRecordDto;
import com.fastbee.waterele.domain.dto.MaWatereleRecordDto;
+import com.fastbee.waterele.service.IMaWatereleRecordService;
import com.fastbee.xunjian.domain.XjInspectionRecords;
import com.fastbee.xunjian.domain.XjInspectionRoutes;
import com.fastbee.xunjian.mapper.XjInspectionRecordsMapper;
@@ -34,6 +38,7 @@ import com.fastbee.xunjian.mapper.XjInspectionRoutesMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -58,6 +63,8 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService {
@Autowired
private IDeviceLogService logService;
+ @Resource
+ private IMaWatereleRecordService watereleRecordService;
public DeviceDetailServiceImpl(DeviceMapper deviceMapper) {
this.deviceMapper = deviceMapper;
@@ -403,5 +410,86 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService {
return haiWeiService.cmdDevices(cmdHaiWeiDto);
}
+ /**
+ * 获取设备详细信息
+ * @param device
+ */
+ @Override
+ public DeviceDetailVo getDetailInfo(Device device) {
+ DeviceDetailVo deviceDetailVo = new DeviceDetailVo();
+ //运行状态,最后一次更新时间
+ MaWatereleRecord watereleRecord = new MaWatereleRecord();
+ watereleRecord.setDevSn(device.getSerialNumber());
+ TableDataInfo tableDataInfo = watereleRecordService.selectMaWatereleRecordList(watereleRecord);
+ List rows = (List) tableDataInfo.getRows();
+ //运行状态
+ deviceDetailVo.setRunState("未运行");
+ //累计用电量
+ deviceDetailVo.setSumEle("--kwh");
+ //最近一次上传时间
+ deviceDetailVo.setLastDataTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,
+ new Date()));
+ if(rows.size()> 0){
+ MaWatereleRecord item = rows.get(0);
+ deviceDetailVo.setLastDataTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,
+ item.getCreateTime()));
+ if(item.getWorkstate() == 0){
+ deviceDetailVo.setRunState("未运行");
+ }else {
+ deviceDetailVo.setRunState("运行中");
+ }
+ deviceDetailVo.setSumEle(item.getSumele()+"kwh");
+ }
+ Map devParams = DevParamsUtils.getDevParams(device.getDevParams());
+ //累计水量
+ deviceDetailVo.setSumFlow("--m³");
+ if(devParams.containsKey("liuliangIds")){
+ String liuliangIds = devParams.get("liuliangIds").toString();
+ //获取
+ CommonResult cache = haiWeiService.getCache(Long.valueOf(liuliangIds));
+ HaiWeiDeviceInfoVo checkedData = cache.getCheckedData();
+ List propertyList = checkedData.getPropertyList();
+ for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) {
+ if (haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_sumFlow")) {
+ deviceDetailVo.setSumFlow(haiWeiPropertyVo.getValue()+"m³");
+ }
+ }
+ }
+ //供电信息
+ //环境温度
+ deviceDetailVo.setTemp("--℃");
+ //供电方式
+ deviceDetailVo.setGongDianType("市电");
+ //电池电量
+ deviceDetailVo.setPowerDianliang("--%");
+ //电池电压
+ deviceDetailVo.setPowerVolt("--V");
+ //电池电流
+ deviceDetailVo.setPowerCur("--A");
+ if(devParams.containsKey("taiyangnIds")){
+ String taiyangIds = devParams.get("taiyangnIds").toString();
+ //获取
+ CommonResult cache = haiWeiService.getCache(Long.valueOf(taiyangIds));
+ HaiWeiDeviceInfoVo checkedData = cache.getCheckedData();
+ List propertyList = checkedData.getPropertyList();
+ for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) {
+ if (haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_市电状态")) {
+ if(Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 0){
+ deviceDetailVo.setGongDianType("太阳能");
+ }
+ }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_bat")){
+ deviceDetailVo.setPowerDianliang(haiWeiPropertyVo.getValueAndUnit());
+ }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_batVolt")){
+ deviceDetailVo.setPowerVolt(haiWeiPropertyVo.getValueAndUnit());
+ }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_batCur")){
+ deviceDetailVo.setPowerCur(haiWeiPropertyVo.getValueAndUnit());
+ }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_airTemp")){
+ deviceDetailVo.setTemp(haiWeiPropertyVo.getValueAndUnit());
+ }
+ }
+ }
+ return deviceDetailVo;
+ }
+
}
diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java
index 66cc962..200e497 100644
--- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java
+++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java
@@ -1,5 +1,6 @@
package com.fastbee.iot.domain;
+import com.fastbee.common.model.vo.iot.DeviceDetailVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;
@@ -165,7 +166,9 @@ public class Device extends BaseEntity
@Transient
@ApiModelProperty("机构id")
private Long deptId;
-
+ //设备详情
+ @ApiModelProperty("详情")
+ private DeviceDetailVo deviceDetailVo;
@Transient
@ApiModelProperty("是否显示下级")
private Boolean showChild;
diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java
index 13efba3..00e4f4d 100644
--- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java
+++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java
@@ -4,6 +4,7 @@ import com.fastbee.common.core.device.DeviceAndProtocol;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.thingsModel.ThingsModelSimpleItem;
import com.fastbee.common.enums.DeviceStatus;
+import com.fastbee.common.model.vo.iot.DeviceDetailVo;
import com.fastbee.iot.domain.Device;
import com.fastbee.iot.domain.DeviceGroup;
import com.fastbee.iot.domain.JiankongDeviceParam;
@@ -336,4 +337,6 @@ public interface IDeviceService
ArrayList