Quellcode durchsuchen

新增 一张图智慧物联 气象墒情最新数据接口

zhaiyifei vor 8 Monaten
Ursprung
Commit
3d09c6f402

+ 22 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotScreenController.java

@@ -18,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+
 @RestController
 @RequestMapping("/iot/screen")
 public class IotScreenController extends BaseController {
@@ -61,7 +63,7 @@ public class IotScreenController extends BaseController {
     }
 
     /**
-     * 获取设备列表接口
+     * 获取监控设备列表接口
      */
     @GetMapping("/device/monitor/list")
     public TableDataInfo monitorList(IotDeviceListReqVo reqVo) {
@@ -86,4 +88,23 @@ public class IotScreenController extends BaseController {
         return success(iIotScreenService.cmdTaskResult(taskId));
     }
 
+    /**
+     * 获取气象墒情设备列表接口
+     */
+    @GetMapping({"/device/qxz/list", "/device/sqz/list"})
+    public TableDataInfo qxsqList(HttpServletRequest request, IotDeviceListReqVo reqVo) {
+        startPage();
+        return getDataTable(iIotScreenService.qxsqList(request, reqVo));
+    }
+
+    /**
+     * 获取气象墒情最近数据列表接口
+     * @param
+     * @return
+     */
+    @GetMapping({"/device/qxz/dataLatest/{devBid}", "/device/sqz/dataLatest/{devBid}"})
+    public AjaxResult qxszDataLatest(@PathVariable("devBid") String devBid) {
+        return success(iIotScreenService.qxszDataLatest(devBid));
+    }
+
 }

+ 6 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotScreenService.java

@@ -1,5 +1,6 @@
 package com.yunfeiyun.agmp.iotm.web.service;
 
+import com.yunfeiyun.agmp.iot.common.domain.IotDevicelasteddata;
 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;
@@ -9,6 +10,7 @@ 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 javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 public interface IIotScreenService {
@@ -24,4 +26,8 @@ public interface IIotScreenService {
     public String monitorAddress(IotMonitorAddressGetReqVo reqVo);
 
     public IotCmdTaskLogResVo cmdTaskResult(String taskId);
+
+    public List<IotDeviceListResVo> qxsqList(HttpServletRequest request, IotDeviceListReqVo reqVo);
+
+    public IotDevicelasteddata qxszDataLatest(String devBid);
 }

+ 43 - 4
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotScreenServiceImpl.java

@@ -5,10 +5,14 @@ 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.domain.IotDevicelasteddata;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
+import com.yunfeiyun.agmp.iot.common.util.dev.DevTypeUtil;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseCtlReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseListReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
 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;
@@ -17,14 +21,13 @@ 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.*;
-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 com.yunfeiyun.agmp.iotm.web.service.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -50,6 +53,9 @@ public class IotScreenServiceImpl implements IIotScreenService {
     @Autowired
     private MongoService mongoService;
 
+    @Autowired
+    private IIotDeviceService iIotDeviceService;
+
     /**
      * 设备统计
      *
@@ -107,4 +113,37 @@ public class IotScreenServiceImpl implements IIotScreenService {
         iotCmdTaskLogResVo.setIotCmdlogList(iotCmdlogList);
         return iotCmdTaskLogResVo;
     }
+
+    @Override
+    public List<IotDeviceListResVo> qxsqList(HttpServletRequest request, IotDeviceListReqVo reqVo) {
+        String reqUri = request.getRequestURI();
+        String[] devTypeList = null;
+
+        if(reqUri.endsWith("/qxz/list")){
+            devTypeList = DevTypeUtil.getAllQxzTypes();
+        } else if (reqUri.endsWith("/sqz/list")) {
+            devTypeList = DevTypeUtil.getAllSqzTypes();
+        }
+        if(devTypeList != null){
+            reqVo.setDevtypeBidList(Arrays.asList(devTypeList));
+        }
+        return iIotDeviceService.selectIotDeviceListByType(reqVo);
+    }
+
+    @Override
+    public IotDevicelasteddata qxszDataLatest(String devBid) {
+        if(StringUtils.isEmpty(devBid)){
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"参数不能为空");
+        }
+
+        IotDeviceDataListReqVo reqVo = new IotDeviceDataListReqVo();
+        reqVo.setDevBid(devBid);
+
+        IotDeviceBaseFunReqVo iotDeviceBaseFunReqVo = new IotDeviceBaseFunReqVo();
+        iotDeviceBaseFunReqVo.setDevBid(reqVo.getDevBid());
+        iotDeviceBaseFunReqVo.setMethodName("dataLatest");
+        iotDeviceBaseFunReqVo.setParam(reqVo);
+        return iotDeviceCommonService.func(iotDeviceBaseFunReqVo);
+    }
+
 }