diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java index f511e21e1..d5e733be6 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqEquipmentServiceImpl.java @@ -202,6 +202,7 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { @Override public String operate(EqDeviceCmdBo bo) { String cmd = ""; + if (checkOnline(bo.getEquipmentCode())) throw new RuntimeException("设备不在线"); int operateType = bo.getOperateType(); switch (operateType){ case 1: cmd = DeviceCtlCmd.OPT_OPEN_GARAGE; break;//开门 @@ -230,6 +231,7 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { @Override public String setting(EqDeviceSetBo bo) { String cmd = ""; + if (checkOnline(bo.getEquipmentCode())) throw new RuntimeException("设备不在线"); int operateType = bo.getOperateType(); switch (operateType){ case 1: cmd = DeviceSetCmd.AutomaticDoorClosingSwitch_false; break;//自动关门功能开关 关 @@ -257,6 +259,11 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { return iotService.httpCtlPostSend(bo.getEquipmentCode(),cmd); } + public boolean checkOnline(String equipmentCode){ + DeviceServerMsgDto serverMsg = iotService.httpServerGetSend(equipmentCode); + return serverMsg.getLineStatus(); + } + @Override public EqEquipmentDetailVo getDeviceMsg(EqAppHomeBo bo) { log.info("OpenStatusText开合状态:{},{}",MessageUtils.message("openStatus.name0"),MessageUtils.message("openStatus.name1"));