docs(config): 添加配置文件管理说明并调整开发环境配置
- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范 - 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件 - 将前端访问地址从生产域名改为开发环境本地地址 - 更新 PayPal Webhook 配置为开发环境内网穿透地址 - 调整应用启动时的访问地址提示信息 - 优化数据库连接和服务器配置的环境变量支持
This commit is contained in:
232
CONFIG_MANAGEMENT.md
Normal file
232
CONFIG_MANAGEMENT.md
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
# 配置文件管理说明
|
||||||
|
|
||||||
|
## 📁 配置文件结构
|
||||||
|
|
||||||
|
### mt-pay 模块
|
||||||
|
```
|
||||||
|
mt-pay/src/main/resources/
|
||||||
|
├── application.yml # 基础配置,只设置active profile
|
||||||
|
├── application-dev.yml # 开发环境配置(本地开发)
|
||||||
|
├── application-prod.yml # 生产环境配置(服务器部署)
|
||||||
|
└── application-test.yml # 测试环境配置(可选)
|
||||||
|
```
|
||||||
|
|
||||||
|
### mt-startup 模块
|
||||||
|
```
|
||||||
|
mt-startup/src/main/resources/
|
||||||
|
├── application.yml # 基础配置,只设置active profile
|
||||||
|
├── application-dev.yml # 开发环境配置(本地开发)
|
||||||
|
└── application-prod.yml # 生产环境配置(服务器部署)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔧 环境配置说明
|
||||||
|
|
||||||
|
### 开发环境(dev)
|
||||||
|
|
||||||
|
**配置文件**: `application-dev.yml`
|
||||||
|
|
||||||
|
**配置内容**:
|
||||||
|
- 前端URL: `http://localhost:3000`(本地开发)
|
||||||
|
- PayPal Webhook: 使用内网穿透(如 `https://xxx.cpolar.top/api/paypal/webhook`)
|
||||||
|
- 数据库: 开发环境数据库连接
|
||||||
|
|
||||||
|
**使用场景**:
|
||||||
|
- 本地开发调试
|
||||||
|
- IDE中直接运行
|
||||||
|
- 使用 `--spring.profiles.active=dev` 启动
|
||||||
|
|
||||||
|
**启动方式**:
|
||||||
|
```bash
|
||||||
|
# IDE中运行
|
||||||
|
# 或命令行
|
||||||
|
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 生产环境(prod)
|
||||||
|
|
||||||
|
**配置文件**: `application-prod.yml`
|
||||||
|
|
||||||
|
**配置内容**:
|
||||||
|
- 前端URL: `https://shopd.mtkj2025.com`(生产域名)
|
||||||
|
- PayPal Webhook: `https://shopd.mtkj2025.com/api/paypal/webhook`
|
||||||
|
- 数据库: 生产环境数据库连接(通过环境变量配置)
|
||||||
|
|
||||||
|
**使用场景**:
|
||||||
|
- 服务器部署
|
||||||
|
- 生产环境运行
|
||||||
|
- 使用 `--spring.profiles.active=prod` 启动
|
||||||
|
|
||||||
|
**启动方式**:
|
||||||
|
```bash
|
||||||
|
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📝 配置项说明
|
||||||
|
|
||||||
|
### 前端URL配置
|
||||||
|
|
||||||
|
**开发环境** (`application-dev.yml`):
|
||||||
|
```yaml
|
||||||
|
app:
|
||||||
|
frontend:
|
||||||
|
url: http://localhost:3000
|
||||||
|
```
|
||||||
|
|
||||||
|
**生产环境** (`application-prod.yml`):
|
||||||
|
```yaml
|
||||||
|
app:
|
||||||
|
frontend:
|
||||||
|
url: ${app.frontend.url:https://shopd.mtkj2025.com}
|
||||||
|
```
|
||||||
|
|
||||||
|
**说明**:
|
||||||
|
- 开发环境固定使用 `localhost:3000`
|
||||||
|
- 生产环境支持通过环境变量覆盖:`-Dapp.frontend.url=https://your-domain.com`
|
||||||
|
|
||||||
|
### PayPal Webhook配置
|
||||||
|
|
||||||
|
**开发环境** (`application-dev.yml`):
|
||||||
|
```yaml
|
||||||
|
paypal:
|
||||||
|
webhook-url: https://2646b437.r33.cpolar.top/api/paypal/webhook
|
||||||
|
```
|
||||||
|
|
||||||
|
**生产环境** (`application-prod.yml`):
|
||||||
|
```yaml
|
||||||
|
paypal:
|
||||||
|
webhook-url: ${paypal.webhook-url:https://shopd.mtkj2025.com/api/paypal/webhook}
|
||||||
|
```
|
||||||
|
|
||||||
|
**说明**:
|
||||||
|
- 开发环境使用内网穿透服务(cpolar/ngrok)
|
||||||
|
- 生产环境使用域名,支持通过环境变量覆盖
|
||||||
|
|
||||||
|
## 🚀 部署流程
|
||||||
|
|
||||||
|
### 本地开发
|
||||||
|
|
||||||
|
1. **确保使用dev配置**
|
||||||
|
- `application.yml` 中 `spring.profiles.active: dev`
|
||||||
|
- 或启动时指定:`--spring.profiles.active=dev`
|
||||||
|
|
||||||
|
2. **启动后端**
|
||||||
|
```bash
|
||||||
|
# IDE中直接运行
|
||||||
|
# 或
|
||||||
|
mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **启动前端**
|
||||||
|
```bash
|
||||||
|
cd E:\MTKJPAY-FRONT
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **访问地址**
|
||||||
|
- 前端: `http://localhost:3000`
|
||||||
|
- 后端API: `http://localhost:8082/api`
|
||||||
|
|
||||||
|
### 生产部署
|
||||||
|
|
||||||
|
1. **打包应用**
|
||||||
|
```bash
|
||||||
|
cd E:\MTKJPAY
|
||||||
|
mvn clean package -DskipTests
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **上传到服务器**
|
||||||
|
- 上传 `mt-startup/target/mt-startup-0.0.1-SNAPSHOT.jar`
|
||||||
|
|
||||||
|
3. **启动应用(使用prod配置)**
|
||||||
|
```bash
|
||||||
|
java -jar mt-startup-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **访问地址**
|
||||||
|
- 前端: `https://shopd.mtkj2025.com`
|
||||||
|
- 后端API: `https://shopd.mtkj2025.com/api`(通过Nginx代理)
|
||||||
|
|
||||||
|
## ⚠️ 重要提示
|
||||||
|
|
||||||
|
### 1. 配置文件隔离
|
||||||
|
|
||||||
|
- ✅ **开发环境配置不会影响生产环境**
|
||||||
|
- ✅ **生产环境配置不会影响本地开发**
|
||||||
|
- ✅ **打包时不会覆盖服务器配置**
|
||||||
|
|
||||||
|
### 2. 环境变量覆盖
|
||||||
|
|
||||||
|
生产环境支持通过环境变量或启动参数覆盖配置:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 覆盖前端URL
|
||||||
|
java -jar app.jar --spring.profiles.active=prod \
|
||||||
|
-Dapp.frontend.url=https://your-domain.com
|
||||||
|
|
||||||
|
# 覆盖PayPal Webhook
|
||||||
|
java -jar app.jar --spring.profiles.active=prod \
|
||||||
|
-Dpaypal.webhook-url=https://your-domain.com/api/paypal/webhook
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 默认值设置
|
||||||
|
|
||||||
|
Java代码中的默认值设置为开发环境值:
|
||||||
|
|
||||||
|
```java
|
||||||
|
@Value("${app.frontend.url:http://localhost:3000}")
|
||||||
|
private String frontendUrl;
|
||||||
|
```
|
||||||
|
|
||||||
|
- 如果配置文件中没有设置,使用默认值(开发环境)
|
||||||
|
- 如果配置文件中设置了,使用配置文件的值
|
||||||
|
|
||||||
|
### 4. 配置文件优先级
|
||||||
|
|
||||||
|
Spring Boot配置优先级(从高到低):
|
||||||
|
1. 命令行参数(`--spring.profiles.active=prod`)
|
||||||
|
2. 环境变量
|
||||||
|
3. `application-{profile}.yml`
|
||||||
|
4. `application.yml`
|
||||||
|
5. Java代码中的默认值
|
||||||
|
|
||||||
|
## 📋 配置检查清单
|
||||||
|
|
||||||
|
### 开发环境
|
||||||
|
- [x] `application.yml` 中 `spring.profiles.active: dev`
|
||||||
|
- [x] `application-dev.yml` 中前端URL为 `http://localhost:3000`
|
||||||
|
- [x] `application-dev.yml` 中PayPal Webhook使用内网穿透
|
||||||
|
- [x] Java代码默认值为 `http://localhost:3000`
|
||||||
|
|
||||||
|
### 生产环境
|
||||||
|
- [x] `application-prod.yml` 中前端URL为 `https://shopd.mtkj2025.com`
|
||||||
|
- [x] `application-prod.yml` 中PayPal Webhook为 `https://shopd.mtkj2025.com/api/paypal/webhook`
|
||||||
|
- [x] 支持通过环境变量覆盖配置
|
||||||
|
- [x] 打包时使用 `--spring.profiles.active=prod` 启动
|
||||||
|
|
||||||
|
## 🔍 验证方法
|
||||||
|
|
||||||
|
### 验证开发环境配置
|
||||||
|
```bash
|
||||||
|
# 启动应用
|
||||||
|
java -jar app.jar --spring.profiles.active=dev
|
||||||
|
|
||||||
|
# 检查日志,应该看到:
|
||||||
|
# - 前端代理地址: http://localhost:3000
|
||||||
|
```
|
||||||
|
|
||||||
|
### 验证生产环境配置
|
||||||
|
```bash
|
||||||
|
# 启动应用
|
||||||
|
java -jar app.jar --spring.profiles.active=prod
|
||||||
|
|
||||||
|
# 检查日志,应该看到:
|
||||||
|
# - 前端地址: https://shopd.mtkj2025.com
|
||||||
|
# - Webhook URL: https://shopd.mtkj2025.com/api/paypal/webhook
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📚 相关文档
|
||||||
|
|
||||||
|
- `DEPLOYMENT_README.md` - 部署说明
|
||||||
|
- `DOMAIN_CONFIG_SUMMARY.md` - 域名配置总结
|
||||||
|
- `NGINX_SSL_CONFIG.md` - Nginx SSL配置
|
||||||
|
|
||||||
@@ -32,9 +32,9 @@ public class MtPayApplication {
|
|||||||
String contextPath = env.getProperty("server.servlet.context-path", "");
|
String contextPath = env.getProperty("server.servlet.context-path", "");
|
||||||
String activeProfiles = String.join(",", env.getActiveProfiles());
|
String activeProfiles = String.join(",", env.getActiveProfiles());
|
||||||
|
|
||||||
// 构建完整的访问地址(使用域名)
|
// 构建完整的访问地址(开发环境使用localhost,生产环境使用配置的域名)
|
||||||
String serverHost = env.getProperty("app.server.host", "shopd.mtkj2025.com");
|
String serverHost = env.getProperty("app.server.host", "localhost");
|
||||||
String protocol = env.getProperty("app.server.protocol", "https");
|
String protocol = env.getProperty("app.server.protocol", "http");
|
||||||
String baseUrl = protocol + "://" + serverHost + ":" + serverPort + contextPath;
|
String baseUrl = protocol + "://" + serverHost + ":" + serverPort + contextPath;
|
||||||
String apiUrl = baseUrl + "/api";
|
String apiUrl = baseUrl + "/api";
|
||||||
String druidUrl = baseUrl + "/druid";
|
String druidUrl = baseUrl + "/druid";
|
||||||
@@ -73,7 +73,7 @@ public class MtPayApplication {
|
|||||||
log.info("""
|
log.info("""
|
||||||
|
|
||||||
📌 提示:
|
📌 提示:
|
||||||
- 前端地址: https://shopd.mtkj2025.com
|
- 前端代理地址: http://localhost:3000
|
||||||
- 后端API地址: {}
|
- 后端API地址: {}
|
||||||
- 图片上传接口: {}/product/upload/image
|
- 图片上传接口: {}/product/upload/image
|
||||||
- 商品管理接口: {}/product
|
- 商品管理接口: {}/product
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class ProductLinkServiceImpl implements ProductLinkService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MtProductLinkMapper productLinkMapper;
|
private MtProductLinkMapper productLinkMapper;
|
||||||
|
|
||||||
@Value("${app.frontend.url:https://shopd.mtkj2025.com}")
|
@Value("${app.frontend.url:http://localhost:3000}")
|
||||||
private String frontendUrl;
|
private String frontendUrl;
|
||||||
|
|
||||||
private static final int DEFAULT_EXPIRE_DAYS = 90;
|
private static final int DEFAULT_EXPIRE_DAYS = 90;
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class ProductServiceImpl implements ProductService {
|
|||||||
/**
|
/**
|
||||||
* 前端访问地址(用于生成商品详情页URL)
|
* 前端访问地址(用于生成商品详情页URL)
|
||||||
*/
|
*/
|
||||||
@Value("${app.frontend.url:https://shopd.mtkj2025.com}")
|
@Value("${app.frontend.url:http://localhost:3000}")
|
||||||
private String frontendUrl;
|
private String frontendUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -858,7 +858,8 @@ public class ProductServiceImpl implements ProductService {
|
|||||||
/**
|
/**
|
||||||
* 从完整URL中提取链接码
|
* 从完整URL中提取链接码
|
||||||
* 支持两种输入:
|
* 支持两种输入:
|
||||||
* 1. 完整URL:https://shopd.mtkj2025.com/product/2563c74bd94c4a4b95abccf697a6c756
|
* 1. 完整URL:http://localhost:3000/product/2563c74bd94c4a4b95abccf697a6c756(开发环境)
|
||||||
|
* 或 https://shopd.mtkj2025.com/product/2563c74bd94c4a4b95abccf697a6c756(生产环境)
|
||||||
* 2. 链接码:2563c74bd94c4a4b95abccf697a6c756
|
* 2. 链接码:2563c74bd94c4a4b95abccf697a6c756
|
||||||
*
|
*
|
||||||
* @param input 用户输入的URL或链接码
|
* @param input 用户输入的URL或链接码
|
||||||
|
|||||||
@@ -75,12 +75,11 @@ server:
|
|||||||
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
|
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
|
||||||
file-size-threshold: 2MB
|
file-size-threshold: 2MB
|
||||||
|
|
||||||
# 应用配置(所有环境通用)
|
# 应用配置(开发环境)
|
||||||
app:
|
app:
|
||||||
# 前端访问地址(用于生成商品详情页URL等)
|
# 前端访问地址(开发环境使用localhost)
|
||||||
# 注意:已配置SSL证书,使用HTTPS和域名
|
|
||||||
frontend:
|
frontend:
|
||||||
url: https://shopd.mtkj2025.com
|
url: http://localhost:3000
|
||||||
|
|
||||||
# 阿里云OSS相关配置(所有环境通用)
|
# 阿里云OSS相关配置(所有环境通用)
|
||||||
aliyun:
|
aliyun:
|
||||||
@@ -112,10 +111,11 @@ paypal:
|
|||||||
mode: sandbox
|
mode: sandbox
|
||||||
# 是否启用PayPal支付
|
# 是否启用PayPal支付
|
||||||
enabled: true
|
enabled: true
|
||||||
# Webhook URL(服务器公网地址,必须使用HTTPS,端口443)
|
# Webhook URL(开发环境使用内网穿透或测试地址)
|
||||||
# 注意:PayPal只接受HTTPS(端口443)的Webhook URL
|
# 注意:PayPal只接受HTTPS(端口443)的Webhook URL
|
||||||
# 已配置SSL证书,使用域名访问
|
# 开发环境可以使用内网穿透服务(如ngrok、cpolar)或留空
|
||||||
webhook-url: https://shopd.mtkj2025.com/api/paypal/webhook
|
# 生产环境需要在application-prod.yml中配置
|
||||||
|
webhook-url: https://2646b437.r33.cpolar.top/api/paypal/webhook
|
||||||
# Webhook ID(从PayPal控制台获取,用于验证Webhook签名)
|
# Webhook ID(从PayPal控制台获取,用于验证Webhook签名)
|
||||||
webhook-id: 0SX6117212808615P
|
webhook-id: 0SX6117212808615P
|
||||||
|
|
||||||
|
|||||||
@@ -46,9 +46,9 @@ public class MtkjpayApplication {
|
|||||||
String contextPath = env.getProperty("server.servlet.context-path", "");
|
String contextPath = env.getProperty("server.servlet.context-path", "");
|
||||||
String activeProfiles = String.join(",", env.getActiveProfiles());
|
String activeProfiles = String.join(",", env.getActiveProfiles());
|
||||||
|
|
||||||
// 构建完整的访问地址(使用域名)
|
// 构建完整的访问地址(开发环境使用localhost,生产环境使用配置的域名)
|
||||||
String serverHost = env.getProperty("app.server.host", "shopd.mtkj2025.com");
|
String serverHost = env.getProperty("app.server.host", "localhost");
|
||||||
String protocol = env.getProperty("app.server.protocol", "https");
|
String protocol = env.getProperty("app.server.protocol", "http");
|
||||||
String baseUrl = protocol + "://" + serverHost + ":" + serverPort + contextPath;
|
String baseUrl = protocol + "://" + serverHost + ":" + serverPort + contextPath;
|
||||||
String apiUrl = baseUrl + "/api";
|
String apiUrl = baseUrl + "/api";
|
||||||
String druidUrl = baseUrl + "/druid";
|
String druidUrl = baseUrl + "/druid";
|
||||||
@@ -87,7 +87,7 @@ public class MtkjpayApplication {
|
|||||||
log.info("""
|
log.info("""
|
||||||
|
|
||||||
📌 提示:
|
📌 提示:
|
||||||
- 前端地址: https://shopd.mtkj2025.com
|
- 前端代理地址: http://localhost:3000
|
||||||
- 后端API地址: {}
|
- 后端API地址: {}
|
||||||
- 图片上传接口: {}/product/upload/image
|
- 图片上传接口: {}/product/upload/image
|
||||||
- 商品管理接口: {}/product
|
- 商品管理接口: {}/product
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ server:
|
|||||||
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
|
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
|
||||||
file-size-threshold: 2MB
|
file-size-threshold: 2MB
|
||||||
|
|
||||||
# 应用配置(所有环境通用)
|
# 应用配置(开发环境)
|
||||||
app:
|
app:
|
||||||
# 前端访问地址(已配置SSL证书,使用HTTPS和域名)
|
# 前端访问地址(开发环境使用localhost)
|
||||||
frontend:
|
frontend:
|
||||||
url: https://shopd.mtkj2025.com
|
url: http://localhost:3000
|
||||||
|
|
||||||
# 阿里云OSS相关配置(所有环境通用)
|
# 阿里云OSS相关配置(所有环境通用)
|
||||||
aliyun:
|
aliyun:
|
||||||
|
|||||||
108
mt-startup/src/main/resources/application-prod.yml
Normal file
108
mt-startup/src/main/resources/application-prod.yml
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
druid:
|
||||||
|
# 主库数据源(生产环境)
|
||||||
|
master:
|
||||||
|
url: ${prod.db.url}
|
||||||
|
username: ${prod.db.username}
|
||||||
|
password: ${prod.db.password}
|
||||||
|
# 初始连接数
|
||||||
|
initial-size: 5
|
||||||
|
# 最小连接池数量
|
||||||
|
min-idle: 10
|
||||||
|
# 最大连接池数量
|
||||||
|
max-active: 200
|
||||||
|
# 配置获取连接等待超时的时间
|
||||||
|
max-wait: 60000
|
||||||
|
# 配置连接超时时间
|
||||||
|
connect-timeout: 30000
|
||||||
|
# 配置网络超时时间
|
||||||
|
socket-timeout: 60000
|
||||||
|
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||||
|
time-between-eviction-runs-millis: 60000
|
||||||
|
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||||
|
min-evictable-idle-time-millis: 300000
|
||||||
|
# 配置一个连接在池中最大生存的时间,单位是毫秒
|
||||||
|
max-evictable-idle-time-millis: 900000
|
||||||
|
# 配置检测连接是否有效
|
||||||
|
validation-query: SELECT 1 FROM DUAL
|
||||||
|
test-while-idle: true
|
||||||
|
test-on-borrow: false
|
||||||
|
test-on-return: false
|
||||||
|
# 从库数据源
|
||||||
|
slave:
|
||||||
|
# 从数据源开关/默认关闭
|
||||||
|
enabled: false
|
||||||
|
url:
|
||||||
|
username:
|
||||||
|
password:
|
||||||
|
# Druid监控配置
|
||||||
|
web-stat-filter:
|
||||||
|
enabled: true
|
||||||
|
stat-view-servlet:
|
||||||
|
enabled: true
|
||||||
|
# 设置白名单,不填则允许所有访问
|
||||||
|
allow:
|
||||||
|
url-pattern: /druid/*
|
||||||
|
# 控制台管理用户名和密码
|
||||||
|
login-username: ruoyi
|
||||||
|
login-password: 123456
|
||||||
|
filter:
|
||||||
|
stat:
|
||||||
|
enabled: true
|
||||||
|
# 慢SQL记录
|
||||||
|
log-slow-sql: false
|
||||||
|
slow-sql-millis: 1000
|
||||||
|
merge-sql: true
|
||||||
|
wall:
|
||||||
|
config:
|
||||||
|
multi-statement-allow: true
|
||||||
|
|
||||||
|
# 服务器配置
|
||||||
|
server:
|
||||||
|
port: ${server.port:8082}
|
||||||
|
servlet:
|
||||||
|
context-path: /
|
||||||
|
multipart:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-request-size: 50MB
|
||||||
|
file-size-threshold: 2MB
|
||||||
|
|
||||||
|
# 应用配置(生产环境)
|
||||||
|
app:
|
||||||
|
# 前端访问地址(已配置SSL证书,使用HTTPS和域名)
|
||||||
|
# 支持通过环境变量覆盖:-Dapp.frontend.url=https://your-domain.com
|
||||||
|
frontend:
|
||||||
|
url: ${app.frontend.url:https://shopd.mtkj2025.com}
|
||||||
|
|
||||||
|
# PingPong支付配置(生产环境)
|
||||||
|
pingpong:
|
||||||
|
client-id: ${pingpong.client-id}
|
||||||
|
acc-id: ${pingpong.acc-id}
|
||||||
|
secret: ${pingpong.secret}
|
||||||
|
sign-type: MD5
|
||||||
|
gateway: https://acquirer-payment.pingpongx.com
|
||||||
|
mode: build
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# PayPal支付配置(生产环境)
|
||||||
|
# 注意:当前为测试环境,使用沙箱凭证
|
||||||
|
# 正式环境需要替换为生产环境的Client ID和Secret
|
||||||
|
paypal:
|
||||||
|
# PayPal Client ID(API密钥)- 从环境变量或配置中心获取
|
||||||
|
client-id: ${paypal.client-id:AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb}
|
||||||
|
# PayPal Client Secret(密钥)- 从环境变量或配置中心获取
|
||||||
|
client-secret: ${paypal.client-secret:ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1}
|
||||||
|
# 环境模式:sandbox(沙箱)或 production(生产)
|
||||||
|
# 当前为测试环境,使用sandbox
|
||||||
|
mode: ${paypal.mode:sandbox}
|
||||||
|
# 是否启用PayPal支付
|
||||||
|
enabled: ${paypal.enabled:true}
|
||||||
|
# Webhook URL(已配置SSL证书,使用HTTPS和域名)
|
||||||
|
# 支持通过环境变量覆盖:-Dpaypal.webhook-url=https://your-domain.com/api/paypal/webhook
|
||||||
|
webhook-url: ${paypal.webhook-url:https://shopd.mtkj2025.com/api/paypal/webhook}
|
||||||
|
# Webhook ID(从PayPal控制台获取)
|
||||||
|
webhook-id: ${paypal.webhook-id:}
|
||||||
|
|
||||||
@@ -1,91 +1,3 @@
|
|||||||
spring:
|
spring:
|
||||||
application:
|
|
||||||
name: MTKJPAY
|
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: dev
|
||||||
datasource:
|
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
||||||
druid:
|
|
||||||
# 从库数据源
|
|
||||||
slave:
|
|
||||||
# 从数据源开关/默认关闭
|
|
||||||
enabled: false
|
|
||||||
url:
|
|
||||||
username:
|
|
||||||
password:
|
|
||||||
# Druid监控配置
|
|
||||||
web-stat-filter:
|
|
||||||
enabled: true
|
|
||||||
stat-view-servlet:
|
|
||||||
enabled: true
|
|
||||||
# 设置白名单,不填则允许所有访问
|
|
||||||
allow:
|
|
||||||
url-pattern: /druid/*
|
|
||||||
# 控制台管理用户名和密码
|
|
||||||
login-username: ruoyi
|
|
||||||
login-password: 123456
|
|
||||||
filter:
|
|
||||||
stat:
|
|
||||||
enabled: true
|
|
||||||
# 慢SQL记录
|
|
||||||
log-slow-sql: false
|
|
||||||
slow-sql-millis: 1000
|
|
||||||
merge-sql: true
|
|
||||||
wall:
|
|
||||||
config:
|
|
||||||
multi-statement-allow: true
|
|
||||||
# MyBatis-Plus配置
|
|
||||||
mybatis-plus:
|
|
||||||
# 配置扫描mapper.xml文件路径
|
|
||||||
mapper-locations: classpath*:/mapper/**/*.xml
|
|
||||||
# 配置实体类包路径
|
|
||||||
type-aliases-package: com.mtkj.mtpay.entity
|
|
||||||
# 配置MyBatis-Plus全局配置
|
|
||||||
configuration:
|
|
||||||
# 开启驼峰命名转换
|
|
||||||
map-underscore-to-camel-case: true
|
|
||||||
# 开启二级缓存
|
|
||||||
cache-enabled: false
|
|
||||||
# 日志实现
|
|
||||||
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
|
|
||||||
# 全局配置
|
|
||||||
global-config:
|
|
||||||
db-config:
|
|
||||||
# 主键类型:AUTO-数据库自增
|
|
||||||
id-type: auto
|
|
||||||
# 逻辑删除字段
|
|
||||||
logic-delete-field: deleted
|
|
||||||
# 逻辑删除值
|
|
||||||
logic-delete-value: 1
|
|
||||||
# 逻辑未删除值
|
|
||||||
logic-not-delete-value: 0
|
|
||||||
|
|
||||||
# 服务器配置(所有环境通用)
|
|
||||||
server:
|
|
||||||
port: 8082
|
|
||||||
servlet:
|
|
||||||
context-path: /
|
|
||||||
# 文件上传配置
|
|
||||||
multipart:
|
|
||||||
# 单个文件最大大小(10MB)
|
|
||||||
max-file-size: 10MB
|
|
||||||
# 请求最大大小(50MB,支持多文件上传)
|
|
||||||
max-request-size: 50MB
|
|
||||||
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
|
|
||||||
file-size-threshold: 2MB
|
|
||||||
|
|
||||||
# 应用配置(所有环境通用)
|
|
||||||
app:
|
|
||||||
# 前端访问地址(已配置SSL证书,使用HTTPS和域名)
|
|
||||||
frontend:
|
|
||||||
url: https://shopd.mtkj2025.com
|
|
||||||
|
|
||||||
# 阿里云OSS相关配置(所有环境通用)
|
|
||||||
aliyun:
|
|
||||||
oss:
|
|
||||||
accessId: LTAI5tHbwvzWfANvNxju2yN1
|
|
||||||
accessKey: sAQR2swByBgmMOofH97hSJT638aVcJ
|
|
||||||
endpoint: https://oss-cn-hangzhou.aliyuncs.com
|
|
||||||
bucketName: mtkj2025
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user