yangys
2025-09-15 d4ca3871c18474768c924fcbfd6e8d3178040092
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java
@@ -12,44 +12,8 @@
import java.util.Optional;
public interface AnnotationProcessor {
   static final String DEFAULT_ANNOTATION_SETTING = "(,)";
   default String generateAnnotation(String oriTest, String systemDictVal, List<DictBiz> annotationList) {
      ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
      return progAnnotation.addAnnotation(oriTest);
   }
   default boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
      ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
      line = StringUtils.trim(line);//去首尾空格
      return progAnnotation.isAnnotation(line);
   }
   default ProgramAnnotation getProgramAnnotationFormat(String systemDictVal,List<DictBiz> annoDictList){
      String begin;
      String end;
      Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(systemDictVal);}).findFirst();
      String annotationSetting = DEFAULT_ANNOTATION_SETTING;
      if(dictOpt.isPresent()) {
         annotationSetting = dictOpt.get().getRemark();
      }
      String[] arr = StringUtils.split(annotationSetting,",");
      if(arr.length == 2){
         begin = arr[0];
         end = arr[1];
      }else if(arr.length == 1){
         begin = arr[0];
         end = "";
      }else{
         throw new ServiceException("注释格式配置错误,应该为1到2段,中间用逗号分隔");
      }
      ProgramAnnotation programAnnotation = new ProgramAnnotation();
      programAnnotation.setBegin(begin);
      programAnnotation.setEnd(end);
      return programAnnotation;
   }
   void setControlSystem(String controlSystemDictVal);
   void setAnnotationProperties(AnnotationProperties annotationProperties);
   String getControlSystem();