From fb13447f6cc1c85378bf98ab81dbb3e893be949f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 05 九月 2024 17:47:55 +0800
Subject: [PATCH] 保存到mongo时设置是否新设备

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java          |    5 +++++
 ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java           |    8 ++++++++
 ycl-server/src/main/java/com/ycl/task/UYTask.java                              |    1 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |   18 ++++++++++++++++--
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                   |    9 +++++++++
 ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java          |   10 +++++++++-
 6 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
index 6e9a164..bbc1af6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
@@ -42,4 +42,9 @@
      * 閲嶇偣鎸囨尌鍥惧儚
      */
     private Boolean importantCommandImageTag;
+
+    /**
+     * 鏂拌澶�
+     */
+    private Boolean newDevice;
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
index 0f5bf2e..15f93ef 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -140,4 +140,12 @@
     int batchUpdateDeviceType(@Param("numbers") List<String> list,@Param("deviceType") Integer deviceType);
 
     List<TMonitor> selectByNumbers(@Param("numbers")List<String> numbers);
+
+    /**
+     * 鍥芥爣鐮佹煡鍥芥爣鐮�
+     *
+     * @param gbList
+     * @return
+     */
+    List<String> getGBbyGB(@Param("gbList") List<String> gbList);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index 8a9ca65..b3c786f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -135,10 +135,18 @@
     ReportAuditingRecordVO getReportResult(String serialNumber, String reportType);
 
     /**
-     * 鏍规嵁鍥芥爣鑾峰彇tag
+     * 鏍规嵁鍥芥爣璁剧疆tag
      *
      * @param dataList 鏁版嵁
      * @return
      */
     <T extends BaseResult> void setDeviceTagByGB(List<T> dataList);
+
+    /**
+     * 鏍规嵁鍥芥爣璁剧疆鏄惁鏂扮偣浣�
+     *
+     * @param dataList 鏁版嵁
+     * @return
+     */
+    <T extends BaseResult> void setNew(List<T> dataList);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 35bf6ab..43f2843 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -17,6 +17,7 @@
 import com.ycl.platform.domain.vo.CheckTagVO;
 import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
 import com.ycl.platform.domain.vo.YwPointVO;
+import com.ycl.platform.mapper.TMonitorMapper;
 import com.ycl.platform.mapper.YwPeopleMapper;
 import com.ycl.platform.mapper.YwPointMapper;
 import com.ycl.platform.service.YwPointService;
@@ -34,6 +35,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -53,8 +55,7 @@
 public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService {
 
     private final SysDeptMapper sysDeptMapper;
-    private final YwUnitService unitService;
-    private final YwPeopleMapper ywPeopleMapper;
+    private final TMonitorMapper monitorMapper;
 
     private static final ExecutorService executorService = new ThreadPoolExecutor(8,
             24,
@@ -324,4 +325,17 @@
             }
         }
     }
+
+    @Override
+    public <T extends BaseResult> void setNew(List<T> dataList) {
+        List<String> gbList = dataList.stream().map(BaseResult::getNo).collect(Collectors.toList());
+        Map<String, BaseResult> pointMap = dataList.stream().collect(Collectors.toMap(BaseResult::getNo, item -> item));
+        List<String> dbGBList = monitorMapper.getGBbyGB(gbList);
+        for (String gb : dbGBList) {
+            BaseResult data = pointMap.get(gb);
+            if (Objects.nonNull(data)) {
+                data.setNewDevice(Boolean.TRUE);
+            }
+        }
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 672b4ad..e75cd04 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -122,6 +122,7 @@
                             }
                         });
                         pointService.setDeviceTagByGB(records);
+                        pointService.setNew(records);
                         //瀛樻斁鍦╩ongo涓�
                         mongoTemplate.insertAll(records);
                         // 宸ュ崟鐢熸垚
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 0242e06..7d526d8 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -573,4 +573,13 @@
     <delete id="deleteAll">
         delete from t_monitor
     </delete>
+
+    <select id="getGBbyGB" resultType="string">
+        SELECT
+            DISTINCT serial_number
+        FROM
+             t_monitor
+        WHERE
+              deleted = 0 AND serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
+    </select>
 </mapper>

--
Gitblit v1.8.0