Procházet zdrojové kódy

新增 获取测报灯实时状态接口

zhaiyifei před 8 měsíci
rodič
revize
bdcfefb90f

+ 14 - 0
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/service/IIotCbdCommService.java

@@ -119,6 +119,20 @@ public class IIotCbdCommService extends IotDeviceBaseServiceImpl implements IotD
         return rspData;
     }
 
+    public JSONObject dataLatest(String devBid){
+        IotDevice findDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
+        if (findDevice == null) {
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(), "设备不存在");
+        }
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("devBid", devBid);
+
+        Class tableClass = getTableClass(findDevice.getDevtypeBid());
+        Object lastData = mongoService.findOne(tableClass, map, "cbddataCreatedDate", "desc");
+        return JSONObject.from(lastData);
+    }
+
 
     public String takePhoto(String devBid) {
         log.info("【{}】【测报灯】【拍照】客户id {}", LogCore.getSeq());

+ 10 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotScreenController.java

@@ -232,4 +232,14 @@ public class IotScreenController extends BaseController {
         return success(iIotScreenService.scdChartList(reqVo));
     }
 
+    /**
+     * 获取测报灯最近数据列表接口
+     * @param
+     * @return
+     */
+    @GetMapping("/device/cbd/dataLatest/{devBid}")
+    public AjaxResult cbdDataLatest(@PathVariable("devBid") String devBid) {
+        return success(iIotScreenService.cbdDataLatest(devBid));
+    }
+
 }

+ 8 - 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.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevicelasteddata;
 import com.yunfeiyun.agmp.iot.common.domain.IotMonitorCapture;
@@ -82,4 +83,11 @@ public interface IIotScreenService {
      * @return
      */
     public List<IotDeviceListResVo> qxszChartList(IotDeviceDataListReqVo reqVo);
+
+    /**
+     * 获取测报灯最近数据列表接口
+     * @param
+     * @return
+     */
+    public JSONObject cbdDataLatest(String devBid);
 }

+ 16 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotScreenServiceImpl.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.page.PageDomain;
@@ -464,5 +465,20 @@ public class IotScreenServiceImpl implements IIotScreenService {
         return iotDeviceCommonService.func(iotDeviceBaseFunReqVo);
     }
 
+    /**
+     * 获取测报灯最近数据列表接口
+     *
+     * @param devBid@return
+     */
+    @Override
+    public JSONObject cbdDataLatest(String devBid) {
+        ValidateUtil.validateDevBid(devBid);
+        IotDeviceBaseFunReqVo iotDeviceBaseFunReqVo = new IotDeviceBaseFunReqVo();
+        iotDeviceBaseFunReqVo.setDevBid(devBid);
+        iotDeviceBaseFunReqVo.setMethodName("dataLatest");
+        iotDeviceBaseFunReqVo.setParam(devBid);
+        return iotDeviceCommonService.func(iotDeviceBaseFunReqVo);
+    }
+
 
 }