From 3afaf1a21f47b6f9b46dd8e089e15e1e325c810a Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 10 Jul 2024 15:44:51 +0800
Subject: [PATCH] 更新喇叭,图斑解析更新

---
 src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java b/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
index 432a432..5e67223 100644
--- a/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
+++ b/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
@@ -18,7 +18,9 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -93,24 +95,36 @@
 
     @Override
     public PaginationData getPhoto(PatchesParam param, String dkbh) {
-        LotInfo lotInfo=getLotinfoToDb(dkbh);
-        int statue=lotInfo.getIsPush();
-        if (statue==1){
-            Page<MediaFileMarkEntity> page = markMapper.selectPage(new Page<MediaFileMarkEntity>(param.getPage(), param.getPageSize()),
+        LotInfo lotInfo = getLotinfoToDb(dkbh);
+        int statue = lotInfo.getIsPush();
+
+        if (statue == 1) {
+            Page<MediaFileMarkEntity> page = markMapper.selectPage(
+                    new Page<MediaFileMarkEntity>(param.getPage(), param.getPageSize()),
                     new LambdaQueryWrapper<MediaFileMarkEntity>().like(MediaFileMarkEntity::getFileName, "%" + dkbh + "~" + "%"));
+
+            Map<String, MediaFileMarkEntity> uniqueFileMap = new LinkedHashMap<>();
             List<MediaFileMarkEntity> records = page.getRecords()
                     .stream()
+                    .filter(mediaFile -> uniqueFileMap.putIfAbsent(mediaFile.getFileName(), mediaFile) == null)
                     .collect(Collectors.toList());
-            return new PaginationData<MediaFileMarkEntity>(records, new Pagination(page));}
-        else {
-            Page<MediaFileEntity> page = fileMapper.selectPage(new Page<MediaFileEntity>(param.getPage(), param.getPageSize()),
+
+            return new PaginationData<MediaFileMarkEntity>(records, new Pagination(page));
+        } else {
+            Page<MediaFileEntity> page = fileMapper.selectPage(
+                    new Page<MediaFileEntity>(param.getPage(), param.getPageSize()),
                     new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "~" + "%"));
+
+            Map<String, MediaFileEntity> uniqueFileMap = new LinkedHashMap<>();
             List<MediaFileEntity> records = page.getRecords()
                     .stream()
+                    .filter(mediaFile -> uniqueFileMap.putIfAbsent(mediaFile.getFileName(), mediaFile) == null)
                     .collect(Collectors.toList());
-            return new PaginationData<MediaFileEntity>(records, new Pagination(page));}
 
+            return new PaginationData<MediaFileEntity>(records, new Pagination(page));
+        }
     }
+
 
     public List<MediaFileEntity> listPohto(String dkbh, String workspaceId) {
         return fileMapper.selectList(new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "%")
@@ -131,7 +145,11 @@
     public LotInfo getLotinfoToDb(String dkbh) {
         return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh));
     }
-
+    public List<LotInfo> getLotInfosByIds(List<Integer> ids) {
+        LambdaQueryWrapper<LotInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(LotInfo::getId, ids);
+        return mapper.selectList(queryWrapper);
+    }
     public List<LotInfo> listLotinfo() {
         return mapper.selectList(null);
     }

--
Gitblit v1.9.3