Jelajahi Sumber

新增 一张图智慧物联 获取监控列表接口

zhaiyifei 11 bulan lalu
induk
melakukan
2853e93e14

+ 41 - 6
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotScreenController.java

@@ -5,16 +5,18 @@ import com.nlf.calendar.Lunar;
 import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.controller.BaseController;
 import com.yunfeiyun.agmp.common.core.domain.AjaxResult;
+import com.yunfeiyun.agmp.common.core.page.TableDataInfo;
 import com.yunfeiyun.agmp.common.exception.BizException;
 import com.yunfeiyun.agmp.common.service.WeatherService;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotHomeDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotScreenStatReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotScreenDevStatResVo;
 import com.yunfeiyun.agmp.iotm.web.service.IIotScreenService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/iot/screen")
@@ -44,11 +46,44 @@ public class IotScreenController extends BaseController {
      * 获取设备统计信息
      */
     @PreAuthorize("@ss.hasPermi('iot:screen:dev:stat')")
-    @GetMapping("/dev/stat")
-    public AjaxResult devStat(IotScreenStatReqVo reqVo) {
-        IotScreenDevStatResVo devStatResVo = iIotScreenService.devStat(reqVo);
+    @GetMapping("/device/stat")
+    public AjaxResult deviceStat(IotScreenStatReqVo reqVo) {
+        IotScreenDevStatResVo devStatResVo = iIotScreenService.deviceStat(reqVo);
         return success(devStatResVo);
     }
 
+    /**
+     * 获取设备列表接口
+     */
+    @GetMapping("/device/list")
+    public AjaxResult deviceList(IotHomeDeviceListReqVo reqVo) {
+        return success(iIotScreenService.deviceList(reqVo));
+    }
+
+    /**
+     * 获取设备列表接口
+     */
+    @GetMapping("/device/monitor/list")
+    public TableDataInfo monitorList(IotDeviceListReqVo reqVo) {
+        startPage();
+        return getDataTable(iIotScreenService.monitorList(reqVo));
+    }
+
+    /**
+     * 获取监控地址接口
+     */
+    @PostMapping("/device/monitor/address")
+    public AjaxResult monitorAddress(@RequestBody IotMonitorAddressGetReqVo reqVo) {
+        return success(iIotScreenService.monitorAddress(reqVo));
+    }
+
+
+    /**
+     * 获取对应请求标识指令任务
+     */
+    @GetMapping("/cmdtask/result")
+    public AjaxResult cmdTaskResult(@RequestParam  String taskId) {
+        return success(iIotScreenService.cmdTaskResult(taskId));
+    }
 
 }

+ 17 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotScreenService.java

@@ -1,11 +1,27 @@
 package com.yunfeiyun.agmp.iotm.web.service;
 
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotHomeDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotScreenStatReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotCmdTaskLogResVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotDeviceListResVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceListResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotScreenDevStatResVo;
 
+import java.util.List;
+
 public interface IIotScreenService {
     /**
      * 设备统计
      */
-    public IotScreenDevStatResVo devStat(IotScreenStatReqVo reqVo);
+    public IotScreenDevStatResVo deviceStat(IotScreenStatReqVo reqVo);
+
+    public List<IotHomeDeviceListResVo> deviceList(IotHomeDeviceListReqVo reqVo);
+
+    public List<IotDeviceListResVo> monitorList(IotDeviceListReqVo reqVo);
+
+    public String monitorAddress(IotMonitorAddressGetReqVo reqVo);
+
+    public IotCmdTaskLogResVo cmdTaskResult(String taskId);
 }

+ 71 - 3
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotScreenServiceImpl.java

@@ -1,16 +1,34 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
+import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
+import com.yunfeiyun.agmp.common.utils.StringUtils;
+import com.yunfeiyun.agmp.iot.common.domain.IotCmdlog;
+import com.yunfeiyun.agmp.iot.common.domain.IotCmdtask;
+import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
+import com.yunfeiyun.agmp.iot.common.service.MongoService;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseCtlReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseListReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.service.IotDeviceCommonService;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.service.IotMonitorService;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotHomeDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotScreenStatReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogReqVo;
-import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotHomeDeviceStatResVo;
-import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotScreenDevStatResVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.*;
+import com.yunfeiyun.agmp.iotm.web.service.IIotCmdtaskService;
 import com.yunfeiyun.agmp.iotm.web.service.IIotHomeService;
 import com.yunfeiyun.agmp.iotm.web.service.IIotScreenService;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnlogService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @Service
 public class IotScreenServiceImpl implements IIotScreenService {
 
@@ -19,13 +37,26 @@ public class IotScreenServiceImpl implements IIotScreenService {
 
     @Autowired
     private IIotWarnlogService iIotWarnlogService;
+
+    @Autowired
+    private IotMonitorService iotMonitorService;
+
+    @Autowired
+    private IotDeviceCommonService iotDeviceCommonService;
+
+    @Autowired
+    private IIotCmdtaskService iotCmdtaskService;
+
+    @Autowired
+    private MongoService mongoService;
+
     /**
      * 设备统计
      *
      * @param reqVo
      */
     @Override
-    public IotScreenDevStatResVo devStat(IotScreenStatReqVo reqVo) {
+    public IotScreenDevStatResVo deviceStat(IotScreenStatReqVo reqVo) {
         IotHomeDeviceStatResVo iotHomeDeviceStatResVo = iIotHomeService.getDeviceStatusStat();
 
         IotWarnlogReqVo warnlogReqVo = new IotWarnlogReqVo();
@@ -39,4 +70,41 @@ public class IotScreenServiceImpl implements IIotScreenService {
         iotScreenDevStatResVo.setWarnNum(warnNum);
         return iotScreenDevStatResVo;
     }
+
+    @Override
+    public List<IotHomeDeviceListResVo> deviceList(IotHomeDeviceListReqVo reqVo) {
+        return iIotHomeService.getDeviceList(reqVo);
+    }
+
+    @Override
+    public List<IotDeviceListResVo> monitorList(IotDeviceListReqVo reqVo) {
+        IotDeviceBaseListReqVo iotDeviceBaseListReqVo = new IotDeviceBaseListReqVo();
+        iotDeviceBaseListReqVo.setTid(SecurityUtils.getTid());
+        return iotMonitorService.list(iotDeviceBaseListReqVo);
+    }
+
+    @Override
+    public String monitorAddress(IotMonitorAddressGetReqVo reqVo) {
+        String devBid = reqVo.getDevBid();
+        if(StringUtils.isEmpty(devBid)){
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"参数不能为空");
+        }
+        IotDeviceBaseCtlReqVo iotDeviceBaseCtlReqVo = new IotDeviceBaseCtlReqVo();
+        iotDeviceBaseCtlReqVo.setDevBid(reqVo.getDevBid());
+        iotDeviceBaseCtlReqVo.setCtlType("address");
+        iotDeviceBaseCtlReqVo.setParams(reqVo);
+        return iotDeviceCommonService.ctl(iotDeviceBaseCtlReqVo);
+    }
+
+    @Override
+    public IotCmdTaskLogResVo cmdTaskResult(String taskId) {
+        IotCmdtask iotCmdtask = iotCmdtaskService.selectIotCmdtaskByCtBid(taskId);
+        IotCmdTaskLogResVo iotCmdTaskLogResVo = new IotCmdTaskLogResVo();
+        BeanUtils.copyProperties(iotCmdtask, iotCmdTaskLogResVo);
+        Map<String, Object> map = new HashMap<>();
+        map.put("ctBid", taskId);
+        List<IotCmdlog> iotCmdlogList = mongoService.findAll(IotCmdlog.class, map);
+        iotCmdTaskLogResVo.setIotCmdlogList(iotCmdlogList);
+        return iotCmdTaskLogResVo;
+    }
 }