From 87895ab581b2f44e3492e4395dce5fc7e8341363 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 16 八月 2025 17:00:48 +0800
Subject: [PATCH] 替换注化

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
index 6bf350d..0bab27e 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
@@ -2,13 +2,20 @@
 package org.springblade.mdm.program.service;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tool.api.R;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
+import org.springblade.mdm.utils.FileContentUtil;
 import org.springblade.system.feign.IDictClient;
 import org.springblade.system.pojo.entity.Dict;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -125,5 +132,38 @@
 		String temp = StringUtils.removeEnd(StringUtils.removeStart(text,begin),end);
 		return temp;
 	}
+
+	/**
+	 * 涓虹▼搴忔枃浠跺鍔犳敞閲�
+	 * @param oriText 鍘熷鏂囨湰
+	 * @param lineIndex 琛岀储寮� 0 based
+	 * @param inputStream 鏂囦欢鐨勮緭鍏ユ祦
+	 * @param machineGroup 鏈哄簥缁� 鐢熸垚娉ㄩ噴鐢�
+	 * @return 鍔犳敞閲婂悗鐨勬祦
+	 * @throws IOException
+	 */
+	public InputStream setAnnotation(String oriText,int lineIndex,InputStream inputStream, String machineGroup) throws IOException {
+		List<Dict> annoDicts = getAnnotionList();
+		//
+		InputStream finishedStream;
+		try(inputStream){
+			ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
+
+			String annoTxt = generateAnnotation(oriText,machineGroup,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+
+			String lineText = FileContentUtil.readLineAt(byteInputStream,lineIndex);//绗笁琛屽簲璇ユ槸鐘舵�佹敞閲�
+			byteInputStream.reset();
+
+			if(isAnnotation(lineText,machineGroup,annoDicts)){
+				finishedStream = FileContentUtil.replaceAtLine(byteInputStream,lineIndex,annoTxt);
+			}else{
+				finishedStream = FileContentUtil.insertLine(byteInputStream,lineIndex,annoTxt);
+			}
+			finishedStream.reset();
+
+		}
+
+		return finishedStream;
+	}
 }
 

--
Gitblit v1.9.3