From d4ca3871c18474768c924fcbfd6e8d3178040092 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 15 九月 2025 01:19:56 +0800
Subject: [PATCH] 性能优化
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
index 1234ca2..eb2908a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
@@ -1,8 +1,17 @@
package org.springblade.mdm.program.service.programannotation;
+import com.qiniu.util.IOUtils;
+import org.apache.commons.io.FilenameUtils;
import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.utils.FileContentUtil;
+import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
@Component("defaultProcessor")
@@ -11,17 +20,32 @@
@Autowired
private ProgramAnnotationService programAnnotationService;
private String controlSystem;
- private AnnotationProperties annotationPropreties;
+
+ @Override
+ public InputStream setAnnotation(AnnotationData annoData, InputStream inputStream) throws IOException {
+ List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
+ ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
+
+ String line = FileContentUtil.readLineAt(bais, annotationProperties.getProgramNameLineIndex());
+ bais.reset();
+ boolean isAnnotation = AnnotationUtil.isAnnotation(line,controlSystem,annoDicts);
+ InputStream insAfter;
+ //鍔犲叆绋嬪簭鍚嶆敞閲婅
+ String proNameLine = AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
+ if(isAnnotation){
+ insAfter = FileContentUtil.replaceAtLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
+ }else{
+ insAfter = FileContentUtil.insertLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
+ }
+
+ return super.setAnnotation(annoData, insAfter);
+
+ }
@Override
public void setControlSystem(String controlSystemDictVal) {
this.controlSystem = controlSystemDictVal;
- }
-
- @Override
- public void setAnnotationProperties(AnnotationProperties annotationProperties) {
- this.annotationPropreties= annotationProperties;
}
@Override
--
Gitblit v1.9.3