From b15fed198fa1fc64c82dd4d4dfceed8439ded204 Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期三, 18 六月 2025 08:57:24 +0800
Subject: [PATCH] 枚举类上层接口IntArrayValuable修改为通用ArrayValuable

---
 iailab-module-system/iailab-module-system-biz/pom.xml |  134 +++++++++++++++++++++++++-------------------
 1 files changed, 76 insertions(+), 58 deletions(-)

diff --git a/iailab-module-system/iailab-module-system-biz/pom.xml b/iailab-module-system/iailab-module-system-biz/pom.xml
index 1ac2d1a..f8487d8 100644
--- a/iailab-module-system/iailab-module-system-biz/pom.xml
+++ b/iailab-module-system/iailab-module-system-biz/pom.xml
@@ -132,25 +132,6 @@
             <artifactId>iailab-common-monitor</artifactId>
         </dependency>
 
-<!--        &lt;!&ndash; 三方云服务相关 &ndash;&gt;-->
-<!--        <dependency>-->
-<!--            <groupId>com.xingyuv</groupId>-->
-<!--            <artifactId>spring-boot-starter-justauth</artifactId> &lt;!&ndash; 社交登陆(例如说,个人微信、企业微信等等) &ndash;&gt;-->
-<!--        </dependency>-->
-
-<!--        <dependency>-->
-<!--            <groupId>com.aliyun</groupId>-->
-<!--            <artifactId>aliyun-java-sdk-core</artifactId> &lt;!&ndash; 短信(阿里云) &ndash;&gt;-->
-<!--        </dependency>-->
-<!--        <dependency>-->
-<!--            <groupId>com.aliyun</groupId>-->
-<!--            <artifactId>aliyun-java-sdk-dysmsapi</artifactId> &lt;!&ndash; 短信(阿里云) &ndash;&gt;-->
-<!--        </dependency>-->
-<!--        <dependency>-->
-<!--            <groupId>com.tencentcloudapi</groupId>-->
-<!--            <artifactId>tencentcloud-sdk-java-sms</artifactId> &lt;!&ndash; 短信(腾讯云) &ndash;&gt;-->
-<!--        </dependency>-->
-
         <dependency>
             <groupId>com.xingyuv</groupId>
             <artifactId>spring-boot-starter-captcha-plus</artifactId> <!-- 验证码,一般用于登录使用 -->
@@ -168,45 +149,73 @@
         <!-- 设置构建的 jar 包名 -->
         <finalName>${project.artifactId}</finalName>
         <plugins>
-<!--            <plugin>-->
-<!--                <groupId>com.github.wvengen</groupId>-->
-<!--                <artifactId>proguard-maven-plugin</artifactId>-->
-<!--                <version>2.7.0</version>-->
-<!--                <executions>-->
-<!--                    &lt;!&ndash; 以下配置说明执行mvn的package命令时候,会执行proguard&ndash;&gt;-->
-<!--                    <execution>-->
-<!--                        <phase>package</phase>-->
-<!--                        <goals>-->
-<!--                            <goal>proguard</goal>-->
-<!--                        </goals>-->
-<!--                    </execution>-->
-<!--                </executions>-->
-<!--                <configuration>-->
-<!--                    &lt;!&ndash; 就是输入Jar的名称,我们要知道,代码混淆其实是将一个原始的jar,生成一个混淆后的jar,那么就会有输入输出。 &ndash;&gt;-->
-<!--                    <injar>${project.build.finalName}.jar</injar>-->
-<!--                    &lt;!&ndash; 输出jar名称,输入输出jar同名的时候就是覆盖,也是比较常用的配置。 &ndash;&gt;-->
-<!--                    <outjar>${project.build.finalName}.jar</outjar>-->
-<!--                    &lt;!&ndash; 是否混淆 默认是true &ndash;&gt;-->
-<!--                    <obfuscate>true</obfuscate>-->
-<!--                    <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>-->
-<!--                    &lt;!&ndash; 配置一个文件,通常叫做proguard.cfg,该文件主要是配置options选项,也就是说使用proguard.cfg那么options下的所有内容都可以移到proguard.cfg中 &ndash;&gt;-->
-<!--                    <proguardInclude>${project.basedir}/proguard.cfg</proguardInclude>-->
-<!--                    &lt;!&ndash; 额外的jar包,通常是项目编译所需要的jar &ndash;&gt;-->
-<!--                    <libs>-->
-<!--                        <lib>${java.home}/lib/rt.jar</lib>-->
-<!--                        <lib>${java.home}/lib/jce.jar</lib>-->
-<!--                        <lib>${java.home}/lib/jsse.jar</lib>-->
-<!--                    </libs>-->
-<!--                    &lt;!&ndash; 对输入jar进行过滤比如,如下配置就是对META-INFO文件不处理。 &ndash;&gt;-->
-<!--                    <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class</inLibsFilter>-->
-<!--                    &lt;!&ndash; 这是输出路径配置,但是要注意这个路径必须要包括injar标签填写的jar &ndash;&gt;-->
-<!--                    <outputDirectory>${project.basedir}/target</outputDirectory>-->
-<!--                    &lt;!&ndash;这里特别重要,此处主要是配置混淆的一些细节选项,比如哪些类不需要混淆,哪些需要混淆&ndash;&gt;-->
-<!--                    <options>-->
-<!--                        &lt;!&ndash; 可以在此处写option标签配置,不过我上面使用了proguardInclude,故而我更喜欢在proguard.cfg中配置 &ndash;&gt;-->
-<!--                    </options>-->
-<!--                </configuration>-->
-<!--            </plugin>-->
+            <!-- 步骤1:在prepare-package阶段加密YAML文件 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>3.0.0</version>
+                <executions>
+                    <execution>
+                        <id>encrypt-yaml-files</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <target>
+                                <!-- 对target/classes下的所有YAML文件进行Base64编码(实际使用应替换为加密算法) -->
+                                <echo message="Encrypting YAML files..." />
+                                <apply executable="base64" dest="${project.build.outputDirectory}" verbose="true">
+                                    <fileset dir="${project.build.outputDirectory}" includes="**/*.yml, **/*.yaml"/>
+                                    <mapper type="glob" from="*" to="*" />
+                                    <srcfile/>
+                                </apply>
+                                <!-- 实际项目中应使用Java/Groovy脚本实现加密 -->
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- 步骤2:使用ProGuard混淆代码 -->
+            <plugin>
+                <groupId>com.github.wvengen</groupId>
+                <artifactId>proguard-maven-plugin</artifactId>
+                <version>2.7.0</version>
+                <executions>
+                    <!-- 以下配置说明执行mvn的package命令时候,会执行proguard-->
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>proguard</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <!-- 就是输入Jar的名称,我们要知道,代码混淆其实是将一个原始的jar,生成一个混淆后的jar,那么就会有输入输出。 -->
+                    <injar>${project.build.finalName}.jar</injar>
+                    <!-- 输出jar名称,输入输出jar同名的时候就是覆盖,也是比较常用的配置。 -->
+                    <outjar>${project.build.finalName}.jar</outjar>
+                    <!-- 是否混淆 默认是true -->
+                    <obfuscate>true</obfuscate>
+                    <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
+                    <!-- 配置一个文件,通常叫做proguard.cfg,该文件主要是配置options选项,也就是说使用proguard.cfg那么options下的所有内容都可以移到proguard.cfg中 -->
+                    <proguardInclude>${project.basedir}/proguard.cfg</proguardInclude>
+                    <!-- 额外的jar包,通常是项目编译所需要的jar -->
+                    <libs>
+                        <lib>${java.home}/lib/rt.jar</lib>
+                        <lib>${java.home}/lib/jce.jar</lib>
+                        <lib>${java.home}/lib/jsse.jar</lib>
+                    </libs>
+                    <!-- 对输入jar进行过滤比如,如下配置就是对META-INFO文件不处理。 -->
+                    <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class</inLibsFilter>
+                    <!-- 这是输出路径配置,但是要注意这个路径必须要包括injar标签填写的jar -->
+                    <outputDirectory>${project.basedir}/target</outputDirectory>
+                    <!--这里特别重要,此处主要是配置混淆的一些细节选项,比如哪些类不需要混淆,哪些需要混淆-->
+                    <options>
+                        <!-- 可以在此处写option标签配置,不过我上面使用了proguardInclude,故而我更喜欢在proguard.cfg中配置 -->
+                    </options>
+                </configuration>
+            </plugin>
             <!-- 打包 -->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -220,6 +229,15 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 

--
Gitblit v1.9.3