From d338b50afd6504a9676f0a26b3ecbcc844483e7c Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期四, 21 十一月 2024 08:57:08 +0800
Subject: [PATCH] 并发采集

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
index 3310495..b54f665 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
@@ -61,12 +61,19 @@
     @Resource
     private ChannelSourceService channelSourceService;
 
+    private static Map<String, DaPointDTO> pointIdMap = new ConcurrentHashMap<>();
+
     private static Map<String, DaPointDTO> pointNoMap = new ConcurrentHashMap<>();
 
     @Override
     public PageResult<DaPointDTO> queryPage(DaPointPageReqVO reqVO) {
         IPage<DaPointDTO> page = daPointDao.selectPageList(reqVO);
-        return new PageResult<DaPointDTO>(page.getRecords(), page.getTotal());
+        return new PageResult<>(page.getRecords(), page.getTotal());
+    }
+
+    private void clearCache() {
+        pointIdMap.clear();
+        pointNoMap.clear();
     }
 
     @Override
@@ -89,7 +96,15 @@
 
     @Override
     public DaPointDTO getSimpleInfoById(String id) {
-        return ConvertUtils.sourceToTarget(daPointDao.selectById(id), DaPointDTO.class);
+        if (pointIdMap.containsKey(id)) {
+            return pointIdMap.get(id);
+        }
+        DaPointDTO dto = ConvertUtils.sourceToTarget(daPointDao.selectById(id), DaPointDTO.class);
+        if (dto == null) {
+            return null;
+        }
+        pointIdMap.put(id, dto);
+        return pointIdMap.get(id);
     }
 
     @Override
@@ -150,7 +165,7 @@
         daPointDao.insert(daPointEntity);
 
         // 清空缓存
-        pointNoMap.clear();
+        clearCache();
     }
 
     @Override
@@ -174,7 +189,7 @@
                 break;
         }
         // 清空缓存
-        pointNoMap.clear();
+        clearCache();
     }
 
     @Override
@@ -184,7 +199,7 @@
         daMeasurePointService.deleteByPoint(id);
         daMathPointService.deleteByPoint(id);
         // 清空缓存
-        pointNoMap.clear();
+        clearCache();
     }
 
     @Override

--
Gitblit v1.9.3