docs(config): 添加配置文件管理说明并调整开发环境配置

- 创建 CONFIG_MANAGEMENT.md 详细说明配置文件结构和管理规范
- 为 mt-pay 和 mt-startup 模块分别创建生产环境配置文件
- 将前端访问地址从生产域名改为开发环境本地地址
- 更新 PayPal Webhook 配置为开发环境内网穿透地址
- 调整应用启动时的访问地址提示信息
- 优化数据库连接和服务器配置的环境变量支持
This commit is contained in:
2025-12-26 16:05:53 +08:00
parent 07dcd9408c
commit 504ccabba1
9 changed files with 362 additions and 109 deletions

View File

@@ -46,9 +46,9 @@ public class MtkjpayApplication {
String contextPath = env.getProperty("server.servlet.context-path", "");
String activeProfiles = String.join(",", env.getActiveProfiles());
// 构建完整的访问地址(使用域名)
String serverHost = env.getProperty("app.server.host", "shopd.mtkj2025.com");
String protocol = env.getProperty("app.server.protocol", "https");
// 构建完整的访问地址(开发环境使用localhost生产环境使用配置的域名)
String serverHost = env.getProperty("app.server.host", "localhost");
String protocol = env.getProperty("app.server.protocol", "http");
String baseUrl = protocol + "://" + serverHost + ":" + serverPort + contextPath;
String apiUrl = baseUrl + "/api";
String druidUrl = baseUrl + "/druid";
@@ -87,7 +87,7 @@ public class MtkjpayApplication {
log.info("""
📌 提示:
- 前端地址: https://shopd.mtkj2025.com
- 前端代理地址: http://localhost:3000
- 后端API地址: {}
- 图片上传接口: {}/product/upload/image
- 商品管理接口: {}/product

View File

@@ -74,11 +74,11 @@ server:
# 文件写入磁盘的阈值(超过此大小会写入临时文件)
file-size-threshold: 2MB
# 应用配置(所有环境通用
# 应用配置(开发环境
app:
# 前端访问地址(已配置SSL证书使用HTTPS和域名
# 前端访问地址(开发环境使用localhost
frontend:
url: https://shopd.mtkj2025.com
url: http://localhost:3000
# 阿里云OSS相关配置所有环境通用
aliyun:

View 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 IDAPI密钥- 从环境变量或配置中心获取
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:}

View File

@@ -1,91 +1,3 @@
spring:
application:
name: MTKJPAY
profiles:
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