From f77951077aa87daae6460c0161868bd5661efb2f Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 16 八月 2025 14:16:52 +0800
Subject: [PATCH] bug修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java | 80 ++++++++++++++++++++++++++++-----------
1 files changed, 57 insertions(+), 23 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
index 43455e4..5fbf450 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -24,6 +24,7 @@
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springblade.mdm.program.vo.DncSendBackFile;
import org.springblade.mdm.utils.EntityUtil;
import org.springblade.mdm.utils.FileContentUtil;
import org.springframework.beans.BeanUtils;
@@ -57,7 +58,7 @@
private final FlowCommonService flowCommonService;
private String getFileKey(){
- return "dncexpfile-"+ AuthUtil.getUserId();
+ return "dncimpfile-"+ AuthUtil.getUserId();
}
/**
* dnc鍥炰紶鏂囦欢涓婁紶
@@ -78,10 +79,10 @@
//璁剧疆涓�涓紦瀛橈紝2灏忔椂杩囨湡
bladeRedis.setEx(getFileKey(),bfile.getName(), Duration.ofHours(2));
- InputStream zipFileInputStream = file.getInputStream();//test
-
- list = parseProgramListFromZip(zipFileInputStream);
-
+ try(InputStream zipFileInputStream = ossTemplate.statFileStream(bfile.getName());) {
+ //InputStream zipFileInputStream = file.getInputStream();//test
+ list = parseProgramListFromZip(zipFileInputStream);
+ }
} catch (IOException e) {
log.error("涓婁紶dnc鍥炰紶鏂囦欢澶辫触",e);
throw new ServiceException("瑙f瀽DNC鍥炰紶鏁版嵁澶辫触");
@@ -145,6 +146,17 @@
if(programPackageNode != null) {
progData.setId(programPackageNode.getId());
progData.setProgramNo(programPackageNode.getProgramNo());
+
+ List<String> fileEtriyNames = fileEntryNameList.stream().filter(n -> n.startsWith(packageName)).toList();
+ List<DncSendBackFile> programFiles = new ArrayList<>();
+ fileEtriyNames.forEach( filePath ->{
+ DncSendBackFile backFile = new DncSendBackFile();
+ backFile.setEntryName(filePath);
+ backFile.setName(StringUtils.removeStart(filePath,entryName));
+ programFiles.add(backFile);
+ });
+
+ progData.setFiles(programFiles);
list.add(progData);
}else{
throw new ServiceException("鎵句笉鍒扮▼搴忓寘鍚�:"+packageName+statusLine);
@@ -189,9 +201,9 @@
this.save(exchange);
}*/
- bladeRedis.del(filekey);
- this.ossTemplate.removeFile(zipFileName);
- log.info("鍒犻櫎oss鏂囦欢:{}",zipFileName);
+ //bladeRedis.del(filekey);
+ //this.ossTemplate.removeFile(zipFileName);
+ //log.info("鍒犻櫎oss鏂囦欢:{}",zipFileName);
//cureFlowService.startCure(newProgramPackageList,programPackageSubMap);
cureFlowService.startCureNew(pkgIdFileMap);
@@ -394,20 +406,42 @@
return tempFile;
}
- void setBaseProperties(BizEntity entity, JSONObject jsonObject){
- entity.setCreateTime(jsonObject.getDate("createTime"));
- entity.setUpdateTime(jsonObject.getDate("updateTime"));
- entity.setStatus(jsonObject.getInteger("status"));
- entity.setCreateUser(jsonObject.getLong("createUser"));
- entity.setUpdateUser(jsonObject.getLong("updateUser"));
+
+ /**
+ * 鑾峰彇鍥炰紶鏂囦欢鐨勫唴瀹�
+ * @param entryName 鏂囦欢鍦ㄥ帇缂╁寘鍐呯殑璺緞
+ * @return 鏂囦欢鍐呭鏂囨湰
+ */
+ public String getEntryFileContent(String entryName) throws IOException {
+ String result = "";
+ String zipFileName = bladeRedis.get(getFileKey());
+ try(InputStream inputStream = this.ossTemplate.statFileStream(zipFileName);){
+ Path tempZipFile = createTempFile(inputStream);
+
+ ZipEntry entry;
+ try (java.util.zip.ZipFile zipFile = new java.util.zip.ZipFile(tempZipFile.toFile())) {
+ Enumeration<? extends ZipEntry> entries = zipFile.entries();
+ while (entries.hasMoreElements()) {
+ entry = entries.nextElement();
+ if (!entryName.equals(entry.getName())) {
+ continue;
+ }
+ try (InputStream fileIns = zipFile.getInputStream(zipFile.getEntry(entryName))) {
+ ByteArrayInputStream bos = new ByteArrayInputStream(fileIns.readAllBytes());
+ boolean isText = FileContentUtil.isTextFile(bos);
+ if (isText) {
+ bos.reset();
+ result = FileContentUtil.getContentFromStream(bos);
+ } else {
+ result = "<闈炴枃鏈枃浠�>";
+ }
+ }
+
+ }
+ }
+ }
+
+ return result;
}
- /*
- void clearBaseProperties(BizEntity entity){
- entity.setId(null);
- entity.setCreateTime(null);
- entity.setUpdateTime(null);
- entity.setStatus(null);
- entity.setCreateUser(null);
- entity.setUpdateUser(null);
- }*/
+
}
--
Gitblit v1.9.3