初始化设备id物模型code映射缓存

This commit is contained in:
huguanghan 2024-11-01 10:14:08 +08:00
parent 3b92f27e20
commit fd7d8bd2c8

View File

@ -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