From 653eee4e76adf6e58ceff808213e35648a673454 Mon Sep 17 00:00:00 2001 From: kerwincui <164770707@qq.com> Date: Mon, 6 Jun 2022 17:45:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=9F=E8=AE=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/controller/DeviceController.java | 11 +++ .../com/ruoyi/iot/mapper/DeviceLogMapper.java | 8 ++ .../com/ruoyi/iot/mapper/DeviceMapper.java | 12 ++- .../com/ruoyi/iot/model/DeviceStatistic.java | 90 +++++++++++++++++++ .../com/ruoyi/iot/service/IDeviceService.java | 7 ++ .../service/impl/DeviceLogServiceImpl.java | 3 - .../iot/service/impl/DeviceServiceImpl.java | 19 ++++ .../iot/tdengine/service/ILogService.java | 6 ++ .../service/impl/MySqlLogServiceImpl.java | 8 ++ .../service/impl/TdengineLogServiceImpl.java | 8 ++ .../resources/mapper/iot/DeviceLogMapper.xml | 10 +++ .../resources/mapper/iot/DeviceMapper.xml | 7 ++ 12 files changed, 182 insertions(+), 7 deletions(-) create mode 100644 springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceStatistic.java diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/DeviceController.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/DeviceController.java index fd3b0df5..70b7fb03 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/DeviceController.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/DeviceController.java @@ -107,6 +107,17 @@ public class DeviceController extends BaseController return AjaxResult.success(deviceService.selectDeviceByDeviceId(deviceId)); } + /** + * 获取设备统计信息 + */ + @PreAuthorize("@ss.hasPermi('iot:device:query')") + @GetMapping(value = "/statistic") + @ApiOperation("获取设备统计信息") + public AjaxResult getDeviceStatistic() + { + return AjaxResult.success(deviceService.selectDeviceStatistic()); + } + /** * 获取设备详细信息 */ diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceLogMapper.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceLogMapper.java index 73b66fc9..3bd8dad5 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceLogMapper.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceLogMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.iot.mapper; import com.ruoyi.iot.domain.DeviceLog; +import com.ruoyi.iot.model.DeviceStatistic; import com.ruoyi.iot.model.MonitorModel; import org.springframework.stereotype.Repository; @@ -24,6 +25,13 @@ public interface DeviceLogMapper */ public DeviceLog selectDeviceLogByLogId(Long logId); + /** + * 查询日志分类总数 + * + * @return 设备日志 + */ + public DeviceStatistic selectCategoryLogCount(); + /** * 查询设备日志列表 * diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java index ecab53be..36f80cbc 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java @@ -1,10 +1,7 @@ package com.ruoyi.iot.mapper; import com.ruoyi.iot.domain.Device; -import com.ruoyi.iot.model.AuthenticateInputModel; -import com.ruoyi.iot.model.DeviceAllShortOutput; -import com.ruoyi.iot.model.ProductAuthenticateModel; -import com.ruoyi.iot.model.DeviceShortOutput; +import com.ruoyi.iot.model.*; import com.ruoyi.iot.model.ThingsModels.ThingsModelValuesInput; import com.ruoyi.iot.model.ThingsModels.ThingsModelValuesOutput; import org.springframework.stereotype.Repository; @@ -28,6 +25,13 @@ public interface DeviceMapper */ public Device selectDeviceByDeviceId(Long deviceId); + /** + * 查询设备和产品总数 + * + * @return 设备 + */ + public DeviceStatistic selectDeviceProductAlertCount(); + /** * 根据设备编号查询设备 * diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceStatistic.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceStatistic.java new file mode 100644 index 00000000..418b3e96 --- /dev/null +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceStatistic.java @@ -0,0 +1,90 @@ +package com.ruoyi.iot.model; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * id和name + * + * @author kerwincui + * @date 2021-12-16 + */ +public class DeviceStatistic +{ + /** 设备数量 **/ + private Long deviceCount; + + /** 产品数量 **/ + private Long productCount; + + /** 告警 **/ + private Long alertCount; + + /** 属性上报 **/ + private Long propertyCount; + + /** 功能上报 **/ + private Long functionCount; + + /** 事件上报 **/ + private Long eventCount; + + /** 监测数据上报 **/ + private Long monitorCount; + + public Long getMonitorCount() { + return monitorCount; + } + + public void setMonitorCount(Long monitorCount) { + this.monitorCount = monitorCount; + } + + public Long getDeviceCount() { + return deviceCount; + } + + public void setDeviceCount(Long deviceCount) { + this.deviceCount = deviceCount; + } + + public Long getProductCount() { + return productCount; + } + + public void setProductCount(Long productCount) { + this.productCount = productCount; + } + + public Long getAlertCount() { + return alertCount; + } + + public void setAlertCount(Long alertCount) { + this.alertCount = alertCount; + } + + public Long getPropertyCount() { + return propertyCount; + } + + public void setPropertyCount(Long propertyCount) { + this.propertyCount = propertyCount; + } + + public Long getFunctionCount() { + return functionCount; + } + + public void setFunctionCount(Long functionCount) { + this.functionCount = functionCount; + } + + public Long getEventCount() { + return eventCount; + } + + public void setEventCount(Long eventCount) { + this.eventCount = eventCount; + } +} diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IDeviceService.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IDeviceService.java index 00942dde..e2191c23 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IDeviceService.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IDeviceService.java @@ -24,6 +24,13 @@ public interface IDeviceService */ public Device selectDeviceByDeviceId(Long deviceId); + /** + * 查询设备统计信息 + * + * @return 设备 + */ + public DeviceStatistic selectDeviceStatistic(); + /** * 根据设备编号查询设备 * diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceLogServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceLogServiceImpl.java index 54a9ef64..a86287a6 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceLogServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceLogServiceImpl.java @@ -47,7 +47,6 @@ public class DeviceLogServiceImpl implements IDeviceLogService @Override public List selectDeviceLogList(DeviceLog deviceLog) { -// deviceLogMapper.selectDeviceLogList(deviceLog); return logService.selectDeviceLogList(deviceLog); } @@ -60,7 +59,6 @@ public class DeviceLogServiceImpl implements IDeviceLogService @Override public List selectMonitorList(DeviceLog deviceLog) { -// return deviceLogMapper.selectMonitorList(deviceLog); return logService.selectMonitorList(deviceLog); } @@ -74,7 +72,6 @@ public class DeviceLogServiceImpl implements IDeviceLogService public int insertDeviceLog(DeviceLog deviceLog) { deviceLog.setCreateTime(DateUtils.getNowDate()); -// return deviceLogMapper.insertDeviceLog(deviceLog); return logService.saveDeviceLog(deviceLog); } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java index 176e2726..04be8778 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java @@ -89,6 +89,25 @@ public class DeviceServiceImpl implements IDeviceService { return deviceMapper.selectDeviceByDeviceId(deviceId); } + /** + * 查询设备统计信息 + * + * @return 设备 + */ + @Override + public DeviceStatistic selectDeviceStatistic() { + // 获取设备、产品和告警数量 + DeviceStatistic statistic=deviceMapper.selectDeviceProductAlertCount(); + // 获取属性、功能和事件 + DeviceStatistic thingsCount=logService.selectCategoryLogCount(); + // 组合属性、功能、事件和监测数据 + statistic.setPropertyCount(thingsCount.getPropertyCount()); + statistic.setFunctionCount(thingsCount.getFunctionCount()); + statistic.setEventCount(thingsCount.getEventCount()); + statistic.setMonitorCount(thingsCount.getMonitorCount()); + return statistic; + } + /** * 根据设备编号查询设备 * diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/ILogService.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/ILogService.java index f775ade5..da807e23 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/ILogService.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/ILogService.java @@ -2,6 +2,7 @@ package com.ruoyi.iot.tdengine.service; import com.ruoyi.iot.domain.DeviceLog; +import com.ruoyi.iot.model.DeviceStatistic; import com.ruoyi.iot.model.MonitorModel; import org.springframework.stereotype.Service; @@ -19,7 +20,12 @@ public interface ILogService { int saveDeviceLog(DeviceLog deviceLog); + /** 设备属性、功能、事件总数 **/ + DeviceStatistic selectCategoryLogCount(); + + /** 查询物模型日志列表 **/ List selectDeviceLogList(DeviceLog deviceLog); + /** 查询监测数据列表 **/ List selectMonitorList(DeviceLog deviceLog); } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/MySqlLogServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/MySqlLogServiceImpl.java index ecd4719b..483aa0ce 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/MySqlLogServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/MySqlLogServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.iot.tdengine.service.impl; import com.ruoyi.iot.domain.DeviceLog; +import com.ruoyi.iot.model.DeviceStatistic; import com.ruoyi.iot.tdengine.service.ILogService; import com.ruoyi.iot.mapper.DeviceLogMapper; import com.ruoyi.iot.model.MonitorModel; @@ -20,11 +21,18 @@ public class MySqlLogServiceImpl implements ILogService { public MySqlLogServiceImpl(DeviceLogMapper _deviceLogMapper){ this.deviceLogMapper=_deviceLogMapper; } + @Override public int saveDeviceLog(DeviceLog deviceLog) { return deviceLogMapper.insertDeviceLog(deviceLog); } + /** 设备属性、功能、事件和监测数据总数 **/ + @Override + public DeviceStatistic selectCategoryLogCount(){ + return deviceLogMapper.selectCategoryLogCount(); + } + @Override public List selectDeviceLogList(DeviceLog deviceLog) { return deviceLogMapper.selectDeviceLogList(deviceLog); diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/TdengineLogServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/TdengineLogServiceImpl.java index 9632d61d..fab8e8e3 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/TdengineLogServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/tdengine/service/impl/TdengineLogServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.iot.tdengine.service.impl; import com.ruoyi.iot.domain.DeviceLog; +import com.ruoyi.iot.model.DeviceStatistic; import com.ruoyi.iot.tdengine.service.ILogService; import com.ruoyi.iot.model.MonitorModel; import com.ruoyi.iot.tdengine.config.TDengineConfig; @@ -42,6 +43,13 @@ public class TdengineLogServiceImpl implements ILogService { return tdDeviceLogDAO.save(dbName,deviceLog); } + /** 设备属性、功能、事件和监测数据总数 **/ + @Override + public DeviceStatistic selectCategoryLogCount(){ +// return tdDeviceLogDAO.save(dbName,new DeviceLog()); + return null; + } + @Override public List selectDeviceLogList(DeviceLog deviceLog) { return tdDeviceLogDAO.selectDeviceLogList(dbName,deviceLog); diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceLogMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceLogMapper.xml index 433af2ee..baa43354 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceLogMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceLogMapper.xml @@ -53,6 +53,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where log_id = #{logId} + + insert into iot_device_log diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml index e1b38d9e..78fc5bbf 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml @@ -192,6 +192,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where device_id = #{deviceId} + +