Explorar o código

新增 首页获取设备状态统计接口

zhaiyifei hai 10 meses
pai
achega
b6e698cc5d

+ 3 - 4
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotHomeController.java

@@ -36,9 +36,8 @@ public class IotHomeController extends BaseController
     /**
      * 查询设备统计
      */
-    @GetMapping("/device/stat")
-    public AjaxResult deviceStat() {
-        List<IotHomeTypeStatResVo> dataList = iotHomeService.getDeviceTypeStat();
-        return success(dataList);
+    @GetMapping("/device/status/stat")
+    public AjaxResult deviceStatusStat() {
+        return success(iotHomeService.getDeviceStatusStat());
     }
 }

+ 4 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/mapper/IotDeviceMapper.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.iotm.web.mapper;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotDeviceListResVo;
@@ -62,5 +63,7 @@ public interface IotDeviceMapper
 
     public int updateIotDeviceExtInfo(IotDevice iotDevice);
 
-    public List<IotHomeTypeStatResVo> selectDeviceTypeStat(IotDevice iotDevice);
+    public List<IotHomeTypeStatResVo> selectHomeDeviceTypeStat(IotDevice iotDevice);
+
+    public IotHomeDeviceStatResVo selectHomeDeviceStatusStat(IotDevice iotDevice);
 }

+ 5 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotDeviceService.java

@@ -2,12 +2,13 @@ package com.yunfeiyun.agmp.iotm.web.service;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotDeviceconn;
-import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceAddReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceEditReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceModifyReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotDeviceListResVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 
 import java.util.List;
 
@@ -76,6 +77,8 @@ public interface IIotDeviceService {
 
     public int updateIotDeviceExtInfo(IotDevice iotDevice);
 
-    public List<IotHomeTypeStatResVo> selectDeviceTypeStat(IotDevice iotDevice);
+    public List<IotHomeTypeStatResVo> selectHomeDeviceTypeStat(IotDevice iotDevice);
+
+    public IotHomeDeviceStatResVo selectHomeDeviceStatusStat(IotDevice iotDevice);
 
 }

+ 3 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotHomeService.java

@@ -1,9 +1,12 @@
 package com.yunfeiyun.agmp.iotm.web.service;
 
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 
 import java.util.List;
 
 public interface IIotHomeService {
     public List<IotHomeTypeStatResVo> getDeviceTypeStat();
+
+    public IotHomeDeviceStatResVo getDeviceStatusStat();
 }

+ 9 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotDeviceServiceImpl.java

@@ -7,6 +7,7 @@ import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iot.common.constant.mqtt.IotMqttConstant;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotDeviceconn;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 import com.yunfeiyun.agmp.iot.common.enums.IotDeviceDelStatusEnum;
 import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
@@ -420,8 +421,14 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
     }
 
     @Override
-    public List<IotHomeTypeStatResVo> selectDeviceTypeStat(IotDevice iotDevice) {
+    public List<IotHomeTypeStatResVo> selectHomeDeviceTypeStat(IotDevice iotDevice) {
         iotDevice.setTid(SecurityUtils.getTid());
-        return iotDeviceMapper.selectDeviceTypeStat(iotDevice);
+        return iotDeviceMapper.selectHomeDeviceTypeStat(iotDevice);
+    }
+
+    @Override
+    public IotHomeDeviceStatResVo selectHomeDeviceStatusStat(IotDevice iotDevice) {
+        iotDevice.setTid(SecurityUtils.getTid());
+        return iotDeviceMapper.selectHomeDeviceStatusStat(iotDevice);
     }
 }

+ 8 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotHomeServiceImpl.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo;
 import com.yunfeiyun.agmp.iotm.web.service.IIotDeviceService;
 import com.yunfeiyun.agmp.iotm.web.service.IIotHomeService;
@@ -18,6 +19,12 @@ public class IotHomeServiceImpl implements IIotHomeService {
     @Override
     public List<IotHomeTypeStatResVo> getDeviceTypeStat() {
         IotDevice iotDevice = new IotDevice();
-        return iIotDeviceService.selectDeviceTypeStat(iotDevice);
+        return iIotDeviceService.selectHomeDeviceTypeStat(iotDevice);
+    }
+
+    @Override
+    public IotHomeDeviceStatResVo getDeviceStatusStat() {
+        IotDevice iotDevice = new IotDevice();
+        return iIotDeviceService.selectHomeDeviceStatusStat(iotDevice);
     }
 }

+ 14 - 2
src/main/resources/mapper/IotDeviceMapper.xml

@@ -274,12 +274,12 @@
         where devBid = #{devBid} and devDelstatus = '0'
     </delete>
 
-    <select id="selectDeviceTypeStat" parameterType="IotDevice"
+    <select id="selectHomeDeviceTypeStat" parameterType="IotDevice"
             resultType="com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeTypeStatResVo">
         SELECT d.devtypeBid, COUNT(d.devtypeBid) AS count, dt.devtypeName, dt.devtypePreview
         FROM IotDevice AS d
             LEFT JOIN TosDevicetype AS dt ON dt.devtypeBid = d.devtypeBid
-        WHERE d.tid = "a34f7574-c675-45de-95d8-65fa9283170f"
+        WHERE d.tid = #{tid}
             AND d.devDelstatus = "0"
             AND (
                 (d.devLng IS NOT NULL and d.devLat IS NOT NULL)
@@ -288,5 +288,17 @@
         GROUP BY d.devtypeBid
     </select>
 
+    <select id="selectHomeDeviceStatusStat" parameterType="IotDevice"
+            resultType="com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo">
+        SELECT COUNT(*) AS devNum, SUM(IF(d.devStatus = "1", "1", "0")) AS onlineNum, SUM(IF(d.devStatus != "1", "1", "0")) AS offlineNum
+        FROM IotDevice AS d
+        WHERE d.tid = #{tid}
+            AND d.devDelstatus = "0"
+            AND (
+                (d.devLng IS NOT NULL and d.devLat IS NOT NULL)
+                OR (d.devLngalign IS NOT NULL AND d.devLatalign IS NOT NULL)
+            )
+    </select>
+
 
 </mapper>