Browse Source

去除base64逻辑

master
wangguangyuan 5 months ago
parent
commit
38a0e71953
1 changed files with 49 additions and 83 deletions
  1. +49
    -83
      src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java

+ 49
- 83
src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java View File

@ -445,97 +445,63 @@ public class PatrolResultServiceImpl implements PatrolResultService {
return item;
}).collect(Collectors.toList());
if ("1".equals(isBase64)) {
Set<String> images = new HashSet<>();
for (MessageData sample : samples) {
String fitlerDefect = sample.getFitlerDefect();
String fitlerDiffBase = sample.getFitlerDiffBase();
String mllmDefect = sample.getMllmDefect();
String sampleRaw = sample.getSampleRaw();
if (StringUtils.isNotBlank(fitlerDefect)) {
images.add(fitlerDefect);
}
if (StringUtils.isNotBlank(fitlerDiffBase)) {
images.add(fitlerDiffBase);
}
if (StringUtils.isNotBlank(mllmDefect)) {
images.add(mllmDefect);
}
if (StringUtils.isNotBlank(sampleRaw)) {
images.add(sampleRaw);
}
}
Map<String, byte[]> streamHashMap = new HashMap<>();
// ExecutorService executorService = Executors.newFixedThreadPool(50); // 创建一个固定大小的线程池
// List<Future<?>> futures = new ArrayList<>();
// for (String algorithmBaseImagePath : images) {
// Future<?> future = executorService.submit(() -> {
// try {
// sftpClient.downLoad(algorithmBaseImagePath, inputStream -> {
// byte[] bytes = getBytesFromInputStream(inputStream);
// synchronized (streamHashMap) {
// streamHashMap.put(algorithmBaseImagePath, bytes);
// }
// });
// } catch (Exception e) {
// e.printStackTrace();
// }
// });
// futures.add(future);
// if ("1".equals(isBase64)) {
// Set<String> images = new HashSet<>();
// for (MessageData sample : samples) {
// String fitlerDefect = sample.getFitlerDefect();
// String fitlerDiffBase = sample.getFitlerDiffBase();
// String mllmDefect = sample.getMllmDefect();
// String sampleRaw = sample.getSampleRaw();
// if (StringUtils.isNotBlank(fitlerDefect)) {
// images.add(fitlerDefect);
// }
// if (StringUtils.isNotBlank(fitlerDiffBase)) {
// images.add(fitlerDiffBase);
// }
// if (StringUtils.isNotBlank(mllmDefect)) {
// images.add(mllmDefect);
// }
// if (StringUtils.isNotBlank(sampleRaw)) {
// images.add(sampleRaw);
// }
//
// }
// Map<String, byte[]> streamHashMap = new HashMap<>();
//
// // 等待所有下载任务完成
// for (Future<?> future : futures) {
// for (String algorithmBaseImagePath : images) {
// try {
// future.get();
// } catch (InterruptedException | ExecutionException e) {
// sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> {
// byte[] bytes = streamHashMap.get(algorithmBaseImagePath);
// byte[] byInputStream = getBytesFromInputStream(inputStream);
// if (bytes == null) {
// streamHashMap.put(algorithmBaseImagePath, byInputStream);
// }
//
// });
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
for (String algorithmBaseImagePath : images) {
try {
sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> {
byte[] bytes = streamHashMap.get(algorithmBaseImagePath);
byte[] byInputStream = getBytesFromInputStream(inputStream);
if (bytes == null) {
streamHashMap.put(algorithmBaseImagePath, byInputStream);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
for (MessageData sample : samples) {
String fitlerDefect = sample.getFitlerDefect();
String fitlerDiffBase = sample.getFitlerDiffBase();
String mllmDefect = sample.getMllmDefect();
String sampleRaw = sample.getSampleRaw();
if (StringUtils.isNotBlank(fitlerDefect)) {
sample.setFitlerDefectBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(fitlerDefect, new byte[0])));
}
if (StringUtils.isNotBlank(fitlerDiffBase)) {
sample.setFitlerDiffBaseBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(fitlerDiffBase, new byte[0])));
}
if (StringUtils.isNotBlank(mllmDefect)) {
sample.setMllmDefectBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(mllmDefect, new byte[0])));
}
if (StringUtils.isNotBlank(sampleRaw)) {
sample.setSampleRawBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(sampleRaw, new byte[0])));
}
}
// executorService.shutdown(); // 关闭线程池
// try {
// if (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {
// executorService.shutdownNow(); // 强制关闭线程池
// for (MessageData sample : samples) {
// String fitlerDefect = sample.getFitlerDefect();
// String fitlerDiffBase = sample.getFitlerDiffBase();
// String mllmDefect = sample.getMllmDefect();
// String sampleRaw = sample.getSampleRaw();
// if (StringUtils.isNotBlank(fitlerDefect)) {
// sample.setFitlerDefectBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(fitlerDefect, new byte[0])));
// }
// if (StringUtils.isNotBlank(fitlerDiffBase)) {
// sample.setFitlerDiffBaseBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(fitlerDiffBase, new byte[0])));
// }
// if (StringUtils.isNotBlank(mllmDefect)) {
// sample.setMllmDefectBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(mllmDefect, new byte[0])));
// }
// if (StringUtils.isNotBlank(sampleRaw)) {
// sample.setSampleRawBase64(Base64.getEncoder().encodeToString(streamHashMap.getOrDefault(sampleRaw, new byte[0])));
// }
// } catch (InterruptedException e) {
// executorService.shutdownNow(); // 强制关闭线程池
// }
}
//
// }
messageBody.setOrignCheckData(samples);
log.info("samples size: {}", samples.size());
return messageBody;


Loading…
Cancel
Save