Quellcode durchsuchen

修改最新图片展示 按机型分析

chenhongyan1989 vor 10 Monaten
Ursprung
Commit
bdf6983aa1

+ 14 - 8
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -3,10 +3,12 @@ package com.energy.manage.service.service.analysis.impl;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.energy.manage.common.enums.IdPrefixEnum;
 import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
 import com.energy.manage.common.reponse.ConstVar;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.common.util.HttpUtils;
+import com.energy.manage.common.util.IdGeneratorUtil;
 import com.energy.manage.service.config.AnalysisTypeConfig;
 import com.energy.manage.service.constant.analysis.AnalysisConstants;
 import com.energy.manage.service.domain.dto.analysis.AnalysisDto;
@@ -57,6 +59,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 import java.util.function.Predicate;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -518,12 +521,8 @@ public class AnalysisServiceImpl implements AnalysisService {
                                                     .collect(Collectors.toList());
         //由于算法生成文件破坏唯一性规则 兼容方法
         filterDiffFileName(generalFileVos);
-        List<AnalysisGeneralFileVo> removeList = new ArrayList<>();
         //为每个文件赋值前缀
-//        generalFileVos.forEach(item -> {
-//            item.setFileAddr(getFilePath(isIntranet,item.getFileAddr())));
-//            removeList.add();
-//        }
+        generalFileVos.forEach(item -> item.setFileAddr(getFilePath(isIntranet,item.getFileAddr())));
         return generalFileVos;
     }
 
@@ -580,11 +579,20 @@ public class AnalysisServiceImpl implements AnalysisService {
 
 
     /**
-     * 不同文件名筛选
+     * 如果列表中含有超过一个的地址链接 删除文件名称中没有机型编码的文件
      * @param generalFileVos
      */
     private void filterDiffFileName(List<AnalysisGeneralFileVo> generalFileVos){
+        if(generalFileVos.size() > 1){
+            generalFileVos.stream().filter(item -> retainEngineCodeFile(item.getFileAddr())).collect(Collectors.toList());
+        }
+    }
 
+    private static boolean retainEngineCodeFile(String fileAddr){
+        String patternRule = IdPrefixEnum.WIND_EILL_NUMBER.getCode() + "\\d{3," + IdGeneratorUtil.DEC_INIT_LENGTH + "}";
+        Pattern pattern = Pattern.compile(patternRule);
+        String fileName = fileAddr.substring(fileAddr.lastIndexOf(AnalysisConstants.PATH_SEPARATOR) + 1);
+        return pattern.matcher(fileName).find();
     }
 
     /**
@@ -913,8 +921,6 @@ public class AnalysisServiceImpl implements AnalysisService {
 //        list.add("123.html");
 //        list = list.stream().filter(item -> !item.endsWith(".png")).collect(Collectors.toList());
 //        System.out.println(list);
-
-
     }
 
 }