yangys
2025-08-17 9970b367767e5c73f8e0a296615f29770ff4425f
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -20,6 +20,7 @@
import org.springblade.mdm.flow.service.CureFlowService;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.program.entity.DncBackFile;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
@@ -56,7 +57,7 @@
   private final OssTemplate ossTemplate;
   private final BladeRedis bladeRedis;
   private final FlowCommonService flowCommonService;
   private final DncBackFileService dncBackFileService;
   private String getFileKey(){
      return "dncimpfile-"+ AuthUtil.getUserId();
   }
@@ -210,6 +211,13 @@
   }
   /**
    * 处理回传文件
    * @param ossFileName
    * @param acceptIdList
    * @return
    * @throws IOException
    */
   private Map<Long, List<FlowProgramFile>> dealWithBackFile(String ossFileName, List<Long> acceptIdList) throws IOException{
      Map<Long, List<FlowProgramFile>> pkgIdFileMap = new HashMap<>();
@@ -248,6 +256,12 @@
            if(active){
               throw new ServiceException(programPackageName+"正在审批中,请勿重复入库。");
            }
            //验证都过了,保存dncbackFile
            DncBackFile backFile = new DncBackFile();
            backFile.setNcNodeId(packageNode.getId());
            backFile.setOssName(ossFileName);
            dncBackFileService.save(backFile);
            List<FlowProgramFile> flowFiles = new ArrayList<>();
            //查找包下的文件数据,
@@ -291,6 +305,7 @@
    * @param programPackageSubMap 新的 程序包节点id -> =文件列表 map,用于回传数据
    * @throws IOException 访问文件异常
    */
   /*
   List<NcNode> updateNodeDataByDNCBackData(String pkgFileName, List<Long> programPackageIdList,Map<Long,List<NcNode>> programPackageSubMap) throws IOException {
      InputStream inputStream = this.ossTemplate.statFileStream(pkgFileName);
      Path tempZipFile = createTempFile(inputStream);
@@ -391,7 +406,7 @@
      return newProgramPackageNodeList;
   }
   */
   /**
    * 创建一个临时zip文件
    * @param inputStream 文件的输入流
@@ -428,7 +443,10 @@
               }
               try (InputStream fileIns = zipFile.getInputStream(zipFile.getEntry(entryName))) {
                  ByteArrayInputStream bos = new ByteArrayInputStream(fileIns.readAllBytes());
                  boolean isText = FileContentUtil.isTextFile(bos);
                  boolean isText = StringUtils.endsWithIgnoreCase(entryName,".txt") || StringUtils.endsWithIgnoreCase(entryName,".nc")|| StringUtils.endsWithIgnoreCase(entryName,".xml");
                  if(!isText) {
                     isText = FileContentUtil.isTextFile(bos);
                  }
                  if (isText) {
                     bos.reset();
                     result = FileContentUtil.getContentFromStream(bos);