Browse Source

新增 设备配置下发设备状态检测功能

zhaiyifei 9 months atrás
parent
commit
3a94c26aec

+ 2 - 15
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/controller/IotDeviceCbdController.java

@@ -8,15 +8,14 @@ import com.yunfeiyun.agmp.common.core.domain.AjaxResult;
 import com.yunfeiyun.agmp.common.core.page.TableDataInfo;
 import com.yunfeiyun.agmp.common.enums.BusinessType;
 import com.yunfeiyun.agmp.common.log.LogCore;
-import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.domain.IotCbdimg;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotCbdConfigEditReqVo;
-import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
+import com.yunfeiyun.agmp.iot.common.util.dev.DevOperateUtil;
 import com.yunfeiyun.agmp.iotm.common.controller.BaseController;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
@@ -195,20 +194,8 @@ public class IotDeviceCbdController extends BaseController {
         log.info("【{}】【测报灯】【下发指令配置】客户id {}", LogCore.getSeq(), getCustomerId());
         String devBid = reqVo.getDevBid();
         IotDevice iotDevice = iIotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(iotDevice == null){
-            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备不存在");
-        }
 
-        String devStatus = iotDevice.getDevStatus();
-        String devCreateddate = iotDevice.getDevCreateddate();
-        Date createdDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, devCreateddate);
-        Date nowDate = DateUtils.getNowDate();
-        long diffTime = nowDate.getTime() - createdDate.getTime();
-        if(diffTime > 10 * 1000){
-            if (!Objects.equals(devStatus, IotDeviceStatusTypeEnum.ONLINE.getCode()) && !Objects.equals(devStatus, IotDeviceStatusTypeEnum.WAIT_ACTIVATE.getCode())) {
-                throw new IotBizException(IotErrorCode.FAILURE.getCode(), "设备离线无法操作");
-            }
-        }
+        DevOperateUtil.sendConfigCmdCheck(iotDevice);
 
         reqVo.setIotDevice(iotDevice);
 

+ 6 - 16
src/main/java/com/yunfeiyun/agmp/iotm/device/qxsqz/controller/IotDeviceQxzController.java

@@ -5,14 +5,13 @@ import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.domain.AjaxResult;
 import com.yunfeiyun.agmp.common.core.page.TableDataInfo;
 import com.yunfeiyun.agmp.common.log.LogCore;
-import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.common.utils.poi.SensdataExcelUtil;
 import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotQxzDataListRseVo;
-import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
+import com.yunfeiyun.agmp.iot.common.util.dev.DevOperateUtil;
 import com.yunfeiyun.agmp.iot.common.util.dev.QxzTypeUtil;
 import com.yunfeiyun.agmp.iotm.common.controller.BaseController;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
@@ -33,7 +32,9 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * 气象站,墒情站 设备控制器
@@ -269,19 +270,8 @@ public class IotDeviceQxzController extends BaseController {
             throw new IotBizException(IotErrorCode.PARAM_INVALID.getCode(),"参数不能为空");
         }
         IotDevice iotDevice = iIotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(iotDevice == null){
-            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备不存在");
-        }
-        String devStatus = iotDevice.getDevStatus();
-        String devCreateddate = iotDevice.getDevCreateddate();
-        Date createdDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, devCreateddate);
-        Date nowDate = DateUtils.getNowDate();
-        long diffTime = nowDate.getTime() - createdDate.getTime();
-        if(diffTime > 10 * 1000){
-            if (!Objects.equals(devStatus, IotDeviceStatusTypeEnum.ONLINE.getCode()) && !Objects.equals(devStatus, IotDeviceStatusTypeEnum.WAIT_ACTIVATE.getCode())) {
-                throw new IotBizException(IotErrorCode.FAILURE.getCode(), "设备离线无法操作");
-            }
-        }
+
+        DevOperateUtil.sendConfigCmdCheck(iotDevice);
 
         reqVo.setIotDevice(iotDevice);
 

+ 3 - 13
src/main/java/com/yunfeiyun/agmp/iotm/device/scd/controller/IotDeviceScdController.java

@@ -13,6 +13,7 @@ import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotDeviceconfig;
 import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
+import com.yunfeiyun.agmp.iot.common.util.dev.DevOperateUtil;
 import com.yunfeiyun.agmp.iotm.common.controller.BaseController;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
@@ -241,19 +242,8 @@ public class IotDeviceScdController extends BaseController {
         }
 
         IotDevice iotDevice = iIotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(iotDevice == null){
-            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备不存在");
-        }
-        String devStatus = iotDevice.getDevStatus();
-        String devCreateddate = iotDevice.getDevCreateddate();
-        Date createdDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, devCreateddate);
-        Date nowDate = DateUtils.getNowDate();
-        long diffTime = nowDate.getTime() - createdDate.getTime();
-        if(diffTime > 10 * 1000){
-            if (!Objects.equals(devStatus, IotDeviceStatusTypeEnum.ONLINE.getCode()) && !Objects.equals(devStatus, IotDeviceStatusTypeEnum.WAIT_ACTIVATE.getCode())) {
-                throw new IotBizException(IotErrorCode.FAILURE.getCode(), "设备离线无法操作");
-            }
-        }
+
+        DevOperateUtil.sendConfigCmdCheck(iotDevice);
 
         reqVo.setIotDevice(iotDevice);
 

+ 3 - 14
src/main/java/com/yunfeiyun/agmp/iotm/device/xycb/controller/IotXycbController.java

@@ -12,9 +12,9 @@ import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotPest;
 import com.yunfeiyun.agmp.iot.common.domain.IotXycbimg;
-import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
+import com.yunfeiyun.agmp.iot.common.util.dev.DevOperateUtil;
 import com.yunfeiyun.agmp.iotm.common.controller.BaseController;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
@@ -353,19 +353,8 @@ public class IotXycbController extends BaseController
             throw new IotBizException(IotErrorCode.PARAM_INVALID.getCode(),"参数不能为空");
         }
         IotDevice iotDevice = iIotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(iotDevice == null){
-            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备不存在");
-        }
-        String devStatus = iotDevice.getDevStatus();
-        String devCreateddate = iotDevice.getDevCreateddate();
-        Date createdDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, devCreateddate);
-        Date nowDate = DateUtils.getNowDate();
-        long diffTime = nowDate.getTime() - createdDate.getTime();
-        if(diffTime > 10 * 1000){
-            if (!Objects.equals(devStatus, IotDeviceStatusTypeEnum.ONLINE.getCode()) && !Objects.equals(devStatus, IotDeviceStatusTypeEnum.WAIT_ACTIVATE.getCode())) {
-                throw new IotBizException(IotErrorCode.FAILURE.getCode(), "设备离线无法操作");
-            }
-        }
+
+        DevOperateUtil.sendConfigCmdCheck(iotDevice);
 
         reqVo.setIotDevice(iotDevice);