From efa56da5b2118552865e5304c447a2a96827eb08 Mon Sep 17 00:00:00 2001
From: qiube <18969599531@163.com>
Date: Fri, 19 Dec 2025 18:33:25 +0800
Subject: [PATCH] =?UTF-8?q?feat(core):=20=E5=8D=87=E7=BA=A7Spring=20Boot?=
=?UTF-8?q?=E7=89=88=E6=9C=AC=E5=B9=B6=E4=BC=98=E5=8C=96=E5=90=AF=E5=8A=A8?=
=?UTF-8?q?=E6=97=A5=E5=BF=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将Spring Boot版本从4.0.0升级到3.2.0
- 更新mt-pay模块的依赖配置,使用spring-boot-starter-web替代webmvc
- 在应用启动时添加醒目的ASCII艺术风格日志输出
- 添加前端访问地址配置项app.frontend.url
- 优化全局异常处理器返回的数据结构
- 修改CreateProductRequestDTO以支持多个主图URL
- 调整MyBatis Plus查询构造方式为显式LambdaQueryWrapper
- 更新Maven插件配置,跳过测试执行
- 修复XML配置中的特殊字符转义问题
- 统一服务端口为8082并在启动日志中显示完整访问信息
---
mt-pay/pom.xml | 36 +++++---
.../java/com/mtkj/mtpay/MtPayApplication.java | 71 +++++++++++++---
.../dto/request/CreateProductRequestDTO.java | 7 +-
.../exception/GlobalExceptionHandler.java | 5 +-
.../mtkj/mtpay/mapper/PaymentOrderMapper.java | 15 ++--
.../mtpay/service/impl/OssServiceImpl.java | 2 +-
.../mtpay/entity => resources}/MtProduct.java | 0
mt-pay/src/main/resources/application.yml | 8 +-
mt-pay/src/main/resources/logback-spring.xml | 2 +-
pom.xml | 27 +++---
.../com/mtkj/mtkjpay/MtkjpayApplication.java | 84 ++++++++++++++++++-
src/main/resources/application.properties | 2 +-
12 files changed, 204 insertions(+), 55 deletions(-)
rename mt-pay/src/main/{java/com/mtkj/mtpay/entity => resources}/MtProduct.java (100%)
diff --git a/mt-pay/pom.xml b/mt-pay/pom.xml
index 13a7aa4..295ff68 100644
--- a/mt-pay/pom.xml
+++ b/mt-pay/pom.xml
@@ -5,12 +5,13 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.0
+ 3.2.0
com.mtkj
mt-pay
0.0.1-SNAPSHOT
+ jar
mt-pay
mt-pay
@@ -30,26 +31,27 @@
17
+
org.springframework.boot
- spring-boot-starter-restclient
-
-
- org.springframework.boot
- spring-boot-starter-webmvc
+ spring-boot-starter-web
+
org.springframework.boot
spring-boot-devtools
runtime
true
+
+
com.mysql
mysql-connector-j
runtime
+
com.baomidou
@@ -63,29 +65,31 @@
aliyun-sdk-oss
3.17.4
+
com.alibaba
druid-spring-boot-3-starter
1.2.20
+
+
org.springframework.boot
spring-boot-starter-validation
+
+
org.projectlombok
lombok
true
+
+
org.springframework.boot
- spring-boot-starter-restclient-test
- test
-
-
- org.springframework.boot
- spring-boot-starter-webmvc-test
+ spring-boot-starter-test
test
@@ -100,6 +104,7 @@
org.projectlombok
lombok
+ ${lombok.version}
@@ -116,6 +121,13 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
diff --git a/mt-pay/src/main/java/com/mtkj/mtpay/MtPayApplication.java b/mt-pay/src/main/java/com/mtkj/mtpay/MtPayApplication.java
index c393579..90a760c 100644
--- a/mt-pay/src/main/java/com/mtkj/mtpay/MtPayApplication.java
+++ b/mt-pay/src/main/java/com/mtkj/mtpay/MtPayApplication.java
@@ -11,30 +11,77 @@ public class MtPayApplication {
public static void main(String[] args) {
try {
+ log.info("""
+
+ ╔══════════════════════════════════════════════════════════╗
+ ║ ║
+ ║ MTKJ PAY 支付系统正在启动... ║
+ ║ ║
+ ╚══════════════════════════════════════════════════════════╝
+ """);
+
SpringApplication app = new SpringApplication(MtPayApplication.class);
Environment env = app.run(args).getEnvironment();
String applicationName = env.getProperty("spring.application.name", "mt-pay");
- String serverPort = env.getProperty("server.port", "8080");
+ String serverPort = env.getProperty("server.port", "8082");
String contextPath = env.getProperty("server.servlet.context-path", "");
String activeProfiles = String.join(",", env.getActiveProfiles());
+ // 构建完整的访问地址
+ String baseUrl = "http://localhost:" + serverPort + contextPath;
+ String apiUrl = baseUrl + "/api";
+ String druidUrl = baseUrl + "/druid";
+
+ // 打印醒目的启动成功标识
log.info("""
- ========================================
- 应用启动成功!
- ========================================
- 应用名称: {}
- 运行环境: {}
- 访问地址: http://localhost:{}{}
- ========================================
+ ╔══════════════════════════════════════════════════════════╗
+ ║ ║
+ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║
+ ║ ║
+ ╠══════════════════════════════════════════════════════════╣
+ ║ 应用信息 ║
+ ╠══════════════════════════════════════════════════════════╣
+ ║ 应用名称: {:<45} ║
+ ║ 运行环境: {:<45} ║
+ ║ 服务端口: {:<45} ║
+ ╠══════════════════════════════════════════════════════════╣
+ ║ 访问地址 ║
+ ╠══════════════════════════════════════════════════════════╣
+ ║ 后端服务: {:<45} ║
+ ║ API接口: {:<45} ║
+ ║ Druid监控: {:<45} ║
+ ╠══════════════════════════════════════════════════════════╣
+ ║ 状态: 🟢 服务运行中,可以接收请求 ║
+ ╚══════════════════════════════════════════════════════════╝
""",
- applicationName,
+ applicationName,
activeProfiles.isEmpty() ? "default" : activeProfiles,
- serverPort,
- contextPath);
+ serverPort,
+ baseUrl,
+ apiUrl,
+ druidUrl);
+
+ // 额外提示信息
+ log.info("""
+
+ 📌 提示:
+ - 前端代理地址: http://localhost:3000
+ - 后端API地址: {}
+ - 图片上传接口: {}/product/upload/image
+ - 商品管理接口: {}/product
+ """, apiUrl, apiUrl, apiUrl);
+
} catch (Exception e) {
- log.error("应用启动失败", e);
+ log.error("""
+
+ ╔══════════════════════════════════════════════════════════╗
+ ║ ║
+ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║
+ ║ ║
+ ╚══════════════════════════════════════════════════════════╝
+ """, e);
throw e;
}
}
diff --git a/mt-pay/src/main/java/com/mtkj/mtpay/dto/request/CreateProductRequestDTO.java b/mt-pay/src/main/java/com/mtkj/mtpay/dto/request/CreateProductRequestDTO.java
index b492640..1c1108c 100644
--- a/mt-pay/src/main/java/com/mtkj/mtpay/dto/request/CreateProductRequestDTO.java
+++ b/mt-pay/src/main/java/com/mtkj/mtpay/dto/request/CreateProductRequestDTO.java
@@ -30,11 +30,16 @@ public class CreateProductRequestDTO implements Serializable {
private BigDecimal price;
/**
- * 主图URL
+ * 主图URL(单个URL,兼容旧版本)
*/
@Size(max = 4000, message = "主图URL长度不能超过4000")
private String mainImage;
+ /**
+ * 主图URL列表(支持多张主图,JSON格式存储)
+ */
+ private List mainImages;
+
/**
* 商品状态:ACTIVE-上架,INACTIVE-下架
*/
diff --git a/mt-pay/src/main/java/com/mtkj/mtpay/exception/GlobalExceptionHandler.java b/mt-pay/src/main/java/com/mtkj/mtpay/exception/GlobalExceptionHandler.java
index a47649b..df71045 100644
--- a/mt-pay/src/main/java/com/mtkj/mtpay/exception/GlobalExceptionHandler.java
+++ b/mt-pay/src/main/java/com/mtkj/mtpay/exception/GlobalExceptionHandler.java
@@ -42,8 +42,9 @@ public class GlobalExceptionHandler {
});
log.warn("参数验证失败: {}", errors);
- return ResponseEntity.badRequest()
- .body(Result.fail(ResultCode.VALIDATION_ERROR.getCode(), ResultCode.VALIDATION_ERROR.getMessage(), errors));
+ Result