diff --git a/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java b/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java index 83aec758..4368905d 100644 --- a/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java +++ b/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java @@ -15,6 +15,7 @@ import com.das.common.utils.PageQuery; import com.das.common.utils.SequenceUtils; import com.das.modules.auth.domain.vo.SysUserVo; import com.das.modules.auth.mapper.SysOrgMapper; +import com.das.modules.data.service.impl.DataServiceImpl; import com.das.modules.equipment.domain.dto.SysEquipmentDto; import com.das.modules.equipment.domain.excel.SysEquipmentExcel; import com.das.modules.equipment.domain.vo.SysEquipmentVo; @@ -58,6 +59,9 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { @Autowired private SysIotModelMapper sysIotModelMapper; + @Autowired + private DataServiceImpl dataService; + @Override public SysEquipmentVo creatSysEquipment(SysEquipmentDto sysEquipmentDto) { //去除空格 @@ -76,6 +80,10 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { sysEquipment.setUpdatedBy(sysUserVo.getAccount()); sysEquipment.setRevision(1); sysEquipmentMapper.insert(sysEquipment); + //物模型不为空 增加设备物模型mapping缓存 + if (sysEquipment.getIotModelId() != null){ + dataService.deviceModelMap.put(sysEquipment.getId().toString(),dataService.iotModelMap.get(sysEquipment.getIotModelId().toString())); + } SysEquipmentVo sysEquipmentVo = new SysEquipmentVo(); BeanCopyUtils.copy(sysEquipment, sysEquipmentVo); return sysEquipmentVo; @@ -98,6 +106,9 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { sysEquipment.setUpdatedTime(new Date()); sysEquipment.setUpdatedBy(sysUserVo.getAccount()); sysEquipmentMapper.updateById(sysEquipment); + if (oldSysEquipment.getIotModelId() == null && sysEquipment.getIotModelId() != null){ + dataService.deviceModelMap.put(sysEquipment.getId().toString(),dataService.iotModelMap.get(sysEquipment.getIotModelId().toString())); + } SysEquipmentVo sysEquipmentVo = new SysEquipmentVo(); BeanCopyUtils.copy(sysEquipment, sysEquipmentVo); return sysEquipmentVo; @@ -110,6 +121,8 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { throw new RuntimeException("该设备下有子设备,不能删除"); } sysEquipmentMapper.deleteById(sysEquipmentDto.getId()); + //删除缓存 + dataService.deviceModelMap.remove(sysEquipmentDto.getId().toString()); } @Override