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 439368bf9..f05ea1bb1 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 @@ -281,10 +281,7 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { String equipmentName = equipmentCode;//暂时不存设备名称 下面从其他接口获取并存入了 equipmentCode = deviceByNameDto.getId().getId(); - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq( EqEquipment::getEquipmentCode,equipmentCode); - EqEquipmentVo eqEquipmentVo = baseMapper.selectVoOne(lqw); - if (eqEquipmentVo!=null) throw new RuntimeException(MessageUtils.message("message.fault.device.isbind")); + DeviceServerMsgDto deviceServerMsgDto = iotService.httpServerGetSend(equipmentCode); if (!deviceServerMsgDto.getLineStatus()) throw new RuntimeException(MessageUtils.message("message.fault.device.offline")); @@ -316,7 +313,18 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService { //判断是否获取到信息 无信息会抛异常 无需判断 EqEquipment add = MapstructUtils.convert(eqEquipmentBo, EqEquipment.class); - baseMapper.insert(add); + + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq( EqEquipment::getEquipmentCode,equipmentCode); + EqEquipmentVo eqEquipmentVo = baseMapper.selectVoOne(lqw); +// if (eqEquipmentVo!=null) throw new RuntimeException(MessageUtils.message("message.fault.device.isbind")); + if (eqEquipmentVo!=null){ + assert add != null; + add.setEquipmentId(eqEquipmentVo.getEquipmentId()); + baseMapper.updateById(add); + }else{ + baseMapper.insert(add); + } return true; }