diff --git a/src/main/java/com/xydl/cac/entity/NSensor.java b/src/main/java/com/xydl/cac/entity/NSensor.java index 8cde16b..4098936 100644 --- a/src/main/java/com/xydl/cac/entity/NSensor.java +++ b/src/main/java/com/xydl/cac/entity/NSensor.java @@ -88,6 +88,8 @@ public class NSensor { @Transient HashMap lastData; + @Transient + List typePoints; public String addPoint(NPoint point) { if (points == null) { diff --git a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java index 51bfa47..b767ded 100644 --- a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java @@ -9,6 +9,8 @@ import com.xydl.cac.service.ModevTypePointService; import com.xydl.cac.service.UnitService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -29,6 +31,7 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { WarnRuleRepository ruleRepository; @Override + @Cacheable(value = "typePoint", key = "#modevtypeId") public List listAll(Integer modevtypeId) { List list = repository.findByModevtypeId(modevtypeId); for (ModevTypePoint point : list) { @@ -40,6 +43,7 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { } @Override + @CacheEvict(cacheNames = {"typePoint"}, allEntries = true) public ModevTypePoint add(ModevTypePoint item) throws Exception { item.setId(null); List list = repository.findByModevtypeIdAndField(item.getModevtypeId(), item.getField()); @@ -50,6 +54,7 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { } @Override + @CacheEvict(cacheNames = {"typePoint"}, allEntries = true) public void delete(Integer id) throws Exception { List list = ruleRepository.findByModevtypePointId(id); if (!CollectionUtils.isEmpty(list)) { diff --git a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java index a57d692..b08a630 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -78,6 +78,8 @@ public class NSensorServiceImpl implements NSensorService { if (type.getId().equals(sensor.getTypeId())) { sensor.setTypeName(type.getMc()); sensor.setTableName(type.getTablename()); + List points = modevTypePointService.listAll(sensor.getTypeId()); + sensor.setTypePoints(points); } } HashMap map = StaticVariable.sensorLastDataMap.get(sensor.getDevId()); diff --git a/src/main/java/com/xydl/cac/service/impl/UnitServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/UnitServiceImpl.java index 593909b..9258653 100644 --- a/src/main/java/com/xydl/cac/service/impl/UnitServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/UnitServiceImpl.java @@ -6,6 +6,7 @@ import com.xydl.cac.model.StaticVariable; import com.xydl.cac.repository.UnitRepository; import com.xydl.cac.service.UnitService; import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -27,6 +28,7 @@ public class UnitServiceImpl implements UnitService { } @Override + @CacheEvict(cacheNames = {"typePoint"}, allEntries = true) public Unit add(Unit item) throws Exception { item.setId(null); List list = repository.findByField(item.getField()); @@ -38,12 +40,14 @@ public class UnitServiceImpl implements UnitService { } @Override + @CacheEvict(cacheNames = {"typePoint"}, allEntries = true) public void update(Unit item) throws Exception { repository.save(item); StaticVariable.unit_Cache.clear(); } @Override + @CacheEvict(cacheNames = {"typePoint"}, allEntries = true) public void delete(Integer id) { repository.deleteById(id); StaticVariable.unit_Cache.clear();