更新完成:优化微信支付证书读取机制等等

This commit is contained in:
2025-07-27 23:02:59 +08:00
parent e569463c02
commit 803c6344ab
20 changed files with 330 additions and 48 deletions

View File

@@ -0,0 +1,111 @@
# 服务器URL配置重构总结
## 概述
将项目中硬编码的服务器地址 `https://server.gxwebsoft.com/api` 改为从配置文件读取,提高了代码的可维护性和灵活性。
## 修改的文件
### 1. RequestUtil.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java`
**修改内容**:
- 添加了 `ConfigProperties` 依赖注入
- 移除了硬编码的 `host` 常量
- 添加了 `getServerUrl()` 方法
- 将所有 `host.concat(path)` 替换为 `getServerUrl().concat(path)`
**影响的方法**:
- `balancePay()`
- `getUserByPhone()`
- `getByUserId()`
- `saveUserByPhone()`
- `updateUserBalance()`
- `getParent()`
- `updateUser()`
- `getMpOrderQrCode()`
- `getOrderQRCodeUnlimited()`
- `updateUserMerchantId()`
- `getWxConfig()`
### 2. JwtAuthenticationFilter.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/security/JwtAuthenticationFilter.java`
**修改内容**:
- 将硬编码的URL `"https://server.gxwebsoft.com/api/auth/user"`
- 改为 `configProperties.getServerUrl() + "/auth/user"`
### 3. OaAppController.java
**文件路径**: `src/main/java/com/gxwebsoft/oa/controller/OaAppController.java`
**修改内容**:
- 添加了 `ConfigProperties` 依赖注入
- 将硬编码的URL `"https://server.gxwebsoft.com/api/file/page"`
- 改为 `configProperties.getServerUrl() + "/file/page"`
### 4. SwaggerConfig.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/config/SwaggerConfig.java`
**修改内容**:
- 将硬编码的URL `"https://server.gxwebsoft.com/api/system"`
- 改为 `config.getServerUrl() + "/system"`
### 5. WxOfficialUtil.java
**文件路径**: `src/main/java/com/gxwebsoft/common/core/utils/WxOfficialUtil.java`
**修改内容**:
- 将硬编码的URL `"https://server.gxwebsoft.com/api/open/wx-official/accessToken"`
- 改为 `pathConfig.getServerUrl() + "/open/wx-official/accessToken"`
### 6. ShopOrderServiceImpl.java
**文件路径**: `src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java`
**修改内容**:
- 将微信支付回调地址中的硬编码URL
-`"https://server.gxwebsoft.com/api/system/wx-pay/notify/"`
- 改为 `config.getServerUrl() + "/system/wx-pay/notify/"`
## 配置文件设置
### 开发环境 (application-dev.yml)
```yaml
config:
server-url: http://127.0.0.1:9091/api
```
### 生产环境 (application-prod.yml)
```yaml
config:
server-url: https://server.gxwebsoft.com/api
```
### 默认配置 (application.yml)
```yaml
config:
server-url: https://server.gxwebsoft.com/api
```
## 优势
1. **可维护性**: 服务器地址集中管理,修改时只需要更新配置文件
2. **环境适配**: 不同环境可以使用不同的服务器地址
3. **部署灵活**: 部署时可以通过环境变量或外部配置文件覆盖
4. **代码清洁**: 移除了硬编码,提高了代码质量
## 测试验证
创建了测试类 `ServerUrlConfigTest` 来验证配置是否正确读取:
- 验证配置属性不为空
- 验证URL格式正确
- 验证开发环境使用本地地址
## 注意事项
1. 确保所有环境的配置文件都正确设置了 `server-url`
2. 部署时需要根据实际环境调整配置
3. 如果有新的代码需要调用服务器API应该使用 `ConfigProperties.getServerUrl()` 而不是硬编码
## 后续建议
1. 可以考虑将其他硬编码的URL也进行类似的重构
2. 建立代码规范禁止在代码中硬编码URL
3. 在CI/CD流程中添加检查确保没有新的硬编码URL被引入