Bläddra i källkod

compatible to java 1.8

dengjia 2 månader sedan
förälder
incheckning
893c683da1

+ 182 - 119
pom.xml

@@ -5,7 +5,9 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.2.4</version>
+        <!-- 重要:更改 Spring Boot 版本为与 Java 1.8 兼容的版本 -->
+        <!-- 使用 2.6.x 系列较新的补丁版本以获得安全/错误修复 -->
+        <version>2.6.14</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
 
@@ -14,160 +16,180 @@
     <version>0.0.1-SNAPSHOT</version>
     <name>gulop-member-auth</name>
     <description>gulop-member-auth</description>
-    <url/>
-    <licenses>
-        <license/>
-    </licenses>
-    <developers>
-        <developer/>
-    </developers>
-    <scm>
-        <connection/>
-        <developerConnection/>
-        <tag/>
-        <url/>
-    </scm>
+    <!-- 除非确实需要,否则移除默认的 url/license/dev/scm 块 -->
+
     <properties>
-        <java.version>17</java.version>
+        <!-- 明确设置 Java 版本 -->
+        <java.version>1.8</java.version>
+        <!-- 移除 spring-boot.version 属性,因为它现在从 parent 继承 -->
+        <!-- 确保 Spring Cloud 版本与 Spring Boot 2.6.x 兼容 -->
+        <!-- 为 SB 2.6.14 推荐使用的版本 -->
+        <spring-cloud.version>2021.0.8</spring-cloud.version>
+        <!-- 检查与 Spring Cloud 2021.0.x 的兼容性 -->
+        <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
+
+        <mybatis-plus.version>3.5.3.2</mybatis-plus.version>
+        <mysql.connector.version>8.0.33</mysql.connector.version> <!-- 定义 mysql 版本 -->
+        <minio.version>8.4.3</minio.version>
 
-        <!-- 新增统一版本控制 -->
-        <fastjson.version>1.2.83</fastjson.version> <!-- 升级到安全版本 -->
-        <httpclient.version>4.5.14</httpclient.version> <!-- 兼容Spring Boot 3.x -->
-        <commons-lang3.version>3.14.0</commons-lang3.version>
-        <itextpdf.version>8.0.3</itextpdf.version> <!-- 统一版本 -->
+        <!-- 只保留一个 fastjson 版本定义 -->
+        <fastjson.version>1.2.83</fastjson.version>
+        <!-- 只保留一个 httpclient 版本定义 -->
+        <httpclient.version>4.5.14</httpclient.version>
+        <!-- commons-lang3 3.14 需要 Java 11+ -->
+        <commons-lang3.version>3.12.0</commons-lang3.version>
+        <!-- 移除 itextpdf 8.x 属性,因为它需要 Java 11+ -->
+        <!-- 使用与 Java 1.8 兼容的版本 -->
+        <itextpdf5.version>5.5.13.3</itextpdf5.version>
+
+        <!-- 配置编译器插件的属性 -->
+        <maven.compiler.source>${java.version}</maven.compiler.source>
+        <maven.compiler.target>${java.version}</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     </properties>
+
+    <!-- 添加依赖管理 (BOM - Bill of Materials) -->
+    <dependencyManagement>
+        <dependencies>
+            <!-- 添加 Spring Cloud BOM -->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <!-- 添加 Spring Cloud Alibaba BOM -->
+            <dependency>
+                <groupId>com.alibaba.cloud</groupId>
+                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+                <version>${spring-cloud-alibaba.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
+        <!-- Web Starter -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
 
+        <!-- Test Starter -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
+
+        <!-- JPA -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+
+        <!-- MySQL -->
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-<!--            <version>${mysql.connector.version}</version>-->
-            <version>8.0.33</version>
+            <version>${mysql.connector.version}</version>
+            <!-- 通常是 runtime 范围 -->
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- MyBatis Plus -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis-plus.version}</version>
         </dependency>
+        <!-- 移除了显式的 mybatis-spring 依赖,通常由 mybatis-plus-boot-starter 处理 -->
 
+        <!-- MinIO -->
         <dependency>
             <groupId>io.minio</groupId>
             <artifactId>minio</artifactId>
-            <version>8.4.3</version>
+            <version>${minio.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>4.9.3</version>
+        </dependency>
 
 
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>logging-interceptor</artifactId>
+            <version>4.9.3</version>
+        </dependency>
+        <!-- Apache HTTPComponents -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <!-- 版本通常由 Spring Boot 父 POM 管理,但显式指定也可以 -->
+            <!-- <version>${httpclient.version}</version> -->
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpmime</artifactId>
             <version>${httpclient.version}</version>
         </dependency>
 
-        <!-- Commons Lang3 -->
+        <!-- Commons Lang3 (使用与 Java 8 兼容的版本) -->
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
             <version>${commons-lang3.version}</version>
         </dependency>
 
-        <!-- iTextPDF(统一版本) -->
+        <!-- iTextPDF (使用 5.x 版本以兼容 Java 8) -->
         <dependency>
             <groupId>com.itextpdf</groupId>
             <artifactId>itextpdf</artifactId>
-            <version>5.5.13.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>kernel</artifactId>
-            <version>${itextpdf.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>io</artifactId>
-            <version>${itextpdf.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>layout</artifactId>
-            <version>${itextpdf.version}</version>
+            <version>${itextpdf5.version}</version>
         </dependency>
+        <!-- 移除了 iText 8.x 的依赖 (kernel, io, layout) -->
+
+        <!-- Lombok -->
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
+            <optional>true</optional>
         </dependency>
-        <dependency>
+
+        <!-- Logging (Logback 默认由 spring-boot-starter 包含) -->
+        <!-- <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-        </dependency>
+        </dependency> -->
 
-        <dependency>
+        <!-- Spring Transactions (由 data-jpa/web 等 starter 包含) -->
+        <!-- <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-tx</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.validation</groupId>
-            <artifactId>jakarta.validation-api</artifactId>
-        </dependency>
+        </dependency> -->
 
+        <!-- Validation API (Spring Boot 2.x 使用 javax) -->
+        <!-- 移除了 jakarta.validation,starter-web 会引入 javax.validation -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
+            <artifactId>spring-boot-starter-validation</artifactId>
         </dependency>
 
 
-
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis-spring</artifactId>
-            <version>3.0.3</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.5.7</version>
-        </dependency>
-
+        <!-- FastJSON -->
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
             <version>${fastjson.version}</version>
-            <scope>compile</scope>
         </dependency>
-        <!-- <dependency>
-            <groupId>net.yaoyi</groupId>
-            <artifactId>gulop-common-core</artifactId>
-            <version>4.3.0</version>
-            <scope>compile</scope>
-        </dependency> -->
-
-
-        <!-- <dependency>
-            <groupId>net.yaoyi</groupId>
-            <artifactId>gulop-common-data</artifactId>
-            <version>4.3.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>net.yaoyi</groupId>
-            <artifactId>gulop-joomla-api</artifactId>
-            <version>4.3.0</version>
-            <scope>compile</scope>
-        </dependency> -->
-
-
-        <!-- <dependency>
-            <groupId>com.ancun.netsign</groupId>
-            <artifactId>netsign-sdk</artifactId>
-            <version>2.5</version>
-            <scope>system</scope>
-            <systemPath>${project.basedir}/src/lib/netsign-sdk-2.5.105.mix.jar</systemPath>
-        </dependency> -->
 
+        <!-- 系统范围依赖 (System Scope Dependency) -->
         <dependency>
             <groupId>com.ancun.netsign</groupId>
             <artifactId>netsign-sdk</artifactId>
@@ -175,32 +197,55 @@
             <scope>system</scope>
             <systemPath>${project.basedir}/src/lib/netsign-sdk-3.0.6.mix.jar</systemPath>
         </dependency>
+
+        <!-- 除非特别需要,否则移除 plexus-interpolation -->
         <!-- <dependency>
-            <groupId>net.yaoyi</groupId>
-            <artifactId>gulop-common-tea</artifactId>
-            <version>4.3.0</version>
-            <scope>compile</scope>
-        </dependency> -->
-        <dependency>
             <groupId>org.codehaus.plexus</groupId>
             <artifactId>plexus-interpolation</artifactId>
             <version>1.27</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
+        </dependency> -->
+
+        <!-- Spring Web (由 spring-boot-starter-web 包含) -->
+        <!-- <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
-        </dependency>
-        <dependency>
+        </dependency> -->
+
+        <!-- Netty (通常被传递性引入,例如被 WebFlux 或 Redis 驱动) -->
+        <!-- 如果你需要特定的 Netty 版本,请显式管理它 -->
+        <!-- <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty-common</artifactId>
-        </dependency>
+        </dependency> -->
 
-        <!-- 添加Redis依赖 -->
+        <!-- Redis -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
+
+        <!-- 如果需要,添加你的其他内部依赖,确保它们是用 Java 1.8 构建的 -->
+        <!-- <dependency>
+            <groupId>net.yaoyi</groupId>
+            <artifactId>gulop-common-core</artifactId>
+            <version>...</version>
+        </dependency> -->
+        <!-- <dependency>
+            <groupId>net.yaoyi</groupId>
+            <artifactId>gulop-common-data</artifactId>
+            <version>...</version>
+        </dependency> -->
+        <!-- <dependency>
+            <groupId>net.yaoyi</groupId>
+            <artifactId>gulop-joomla-api</artifactId>
+            <version>...</version>
+        </dependency> -->
+        <!-- <dependency>
+            <groupId>net.yaoyi</groupId>
+            <artifactId>gulop-common-tea</artifactId>
+            <version>...</version>
+        </dependency> -->
+
     </dependencies>
 
     <build>
@@ -208,29 +253,47 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-
                 <configuration>
+                    <!-- 如果依赖于系统范围的依赖被打包,保留此项 -->
                     <includeSystemScope>true</includeSystemScope>
                 </configuration>
-
             </plugin>
-            
-            <!-- 添加Maven编译器插件配置 -->
+
+            <!-- 明确配置 maven-compiler-plugin -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.11.0</version>
+                <!-- 版本通常从父 POM 继承,但也可以显式指定 -->
                 <configuration>
-                    <source>17</source>
-                    <target>17</target>
-                    <encoding>UTF-8</encoding>
-                    <compilerArgs>
-                        <arg>-Xlint:deprecation</arg>
-                        <arg>-Xlint:unchecked</arg>
-                    </compilerArgs>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
                 </configuration>
             </plugin>
+
+            <!-- 如果 maven-compiler-plugin 设置正确,通常不需要 maven-toolchains-plugin -->
+            <!-- 除非你有特定的多 JDK 环境要求,否则移除它 -->
+            <!-- <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-toolchains-plugin</artifactId>
+                <version>3.1.0</version>
+                <configuration>
+                    <toolchains>
+                        <jdk>
+                            <version>1.8</version>
+                            <vendor>oracle</vendor> <根据实际供应商调整>
+                        </jdk>
+                    </toolchains>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>toolchain</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin> -->
         </plugins>
     </build>
 
-</project>
+</project>

+ 2 - 1
src/main/java/net/yaoyi/gulop/member/auth/controller/MemberAuthController.java

@@ -1,6 +1,6 @@
 package net.yaoyi.gulop.member.auth.controller;
 
-import jakarta.validation.Valid;
+// import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import net.yaoyi.gulop.member.auth.dto.FourElementAuthDto;
@@ -14,6 +14,7 @@ import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.validation.Valid;
 import java.util.Map;
 
 

+ 3 - 3
src/main/java/net/yaoyi/gulop/member/auth/dto/FourElementAuthDto.java

@@ -1,13 +1,13 @@
 package net.yaoyi.gulop.member.auth.dto;
 
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Pattern;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 @Data
 @NoArgsConstructor
 @AllArgsConstructor

+ 4 - 3
src/main/java/net/yaoyi/gulop/member/auth/dto/ThreeElementAuthDTO.java

@@ -1,10 +1,11 @@
 package net.yaoyi.gulop.member.auth.dto;
 
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Pattern;
+
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 @Data
 public class ThreeElementAuthDTO {
     @NotBlank(message = "姓名不能为空")

+ 1 - 1
src/main/java/net/yaoyi/gulop/member/auth/entity/SmartContract.java

@@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import jakarta.persistence.*;
 import lombok.Data;
 import net.yaoyi.gulop.member.auth.constant.enums.ContractStatus;
 import net.yaoyi.gulop.member.auth.handler.ContractStatusTypeHandler;
 
+import javax.persistence.PreUpdate;
 import java.time.LocalDateTime;
 
 @Data

+ 2 - 2
src/main/java/net/yaoyi/gulop/member/auth/entity/UmsExtConfig.java

@@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
 import lombok.Data;
 
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
 import java.util.Date;
 
 @Data

+ 0 - 1
src/main/java/net/yaoyi/gulop/member/auth/service/impl/GigConfigServiceImpl.java

@@ -15,7 +15,6 @@ import net.yaoyi.gulop.member.auth.service.UmsExtApiHisService;
 import net.yaoyi.gulop.member.auth.util.CommonResult;
 import net.yaoyi.gulop.member.auth.util.ContractNumberGenerator;
 import net.yaoyi.gulop.member.auth.util.RemoteFileUtils;
-import org.junit.platform.commons.function.Try;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;