Kaynağa Gözat

修改分析结果文件去重

chenhongyan1989 10 ay önce
ebeveyn
işleme
bed70a8e70

+ 3 - 0
energy-manage-service/src/main/java/com/energy/manage/service/constant/analysis/AnalysisConstants.java

@@ -69,5 +69,8 @@ public interface AnalysisConstants {
     String ZIP_SUFFIX = ".zip";
 
 
+    String IMAGE_SUFFIX = ".png";
+
+
 
 }

+ 31 - 5
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -49,6 +49,7 @@ import java.io.OutputStream;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.net.URISyntaxException;
+import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
@@ -508,12 +509,22 @@ public class AnalysisServiceImpl implements AnalysisService {
     private List<AnalysisGeneralFileVo> getNewGeneralFiles(String batchCode,String analysisTypeCode, boolean isIntranet){
         //从数据库获取当前批次、当前分析类型的所有的分析总文件
         List<AnalysisGeneralFileVo> generalFileVos = generalFileMapper.selectByCondition(batchCode,analysisTypeCode);
+        //过滤png图片
+        generalFileVos = generalFileVos.stream().filter(item -> !item.getFileAddr().endsWith(AnalysisConstants.IMAGE_SUFFIX))
+                                                     //根据创建时间排序
+                                                    .sorted(Comparator.comparing(AnalysisGeneralFileVo::getCreateTime,Comparator.reverseOrder()))
+                                                    //删除文件名相同的文件
+                                                    .filter(distinctByKey(item -> replacePath(item.getFileAddr())))
+                                                    .collect(Collectors.toList());
+        //由于算法生成文件破坏唯一性规则 兼容方法
+        filterDiffFileName(generalFileVos);
+        List<AnalysisGeneralFileVo> removeList = new ArrayList<>();
         //为每个文件赋值前缀
-        generalFileVos.forEach(item -> item.setFileAddr(getFilePath(isIntranet,item.getFileAddr())));
-        //根据创建时间排序
-        generalFileVos.sort(Comparator.comparing(AnalysisGeneralFileVo::getCreateTime,Comparator.reverseOrder()));
-        //删除地址相同的文件
-        return generalFileVos.stream().filter(distinctByKey(item -> replacePath(item.getFileAddr()))).collect(Collectors.toList());
+//        generalFileVos.forEach(item -> {
+//            item.setFileAddr(getFilePath(isIntranet,item.getFileAddr())));
+//            removeList.add();
+//        }
+        return generalFileVos;
     }
 
 
@@ -567,6 +578,15 @@ public class AnalysisServiceImpl implements AnalysisService {
         return fileAddr.substring(0, fileAddr.lastIndexOf('.'));
     }
 
+
+    /**
+     * 不同文件名筛选
+     * @param generalFileVos
+     */
+    private void filterDiffFileName(List<AnalysisGeneralFileVo> generalFileVos){
+
+    }
+
     /**
      * 设置分析结果
      * @param analysisTypeVo
@@ -888,6 +908,12 @@ public class AnalysisServiceImpl implements AnalysisService {
 //        List<AnalysisGeneralFileVo> returnList =  generalFileVos.stream().filter(distinctByKey(item -> replacePath(item.getFileAddr()))).collect(Collectors.toList());
 //
 //        returnList.forEach(System.out::println);
+//        List<String> list = new ArrayList<>();
+//        list.add("123.png");
+//        list.add("123.html");
+//        list = list.stream().filter(item -> !item.endsWith(".png")).collect(Collectors.toList());
+//        System.out.println(list);
+
 
     }