test
This commit is contained in:
94
HARD_CODED_PATHS_ANALYSIS.md
Normal file
94
HARD_CODED_PATHS_ANALYSIS.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# 🚨 项目硬编码路径分析报告
|
||||
|
||||
## ✅ **已正确配置化的路径**
|
||||
|
||||
以下路径已正确使用配置文件,不再硬编码:
|
||||
|
||||
### 1. **基础文件路径** ✅
|
||||
- `@Value("${img.upload}")` - 图片上传路径
|
||||
- `@Value("${temp.path}")` - 临时文件路径
|
||||
- `@Value("${upload.path}")` - 上传根路径
|
||||
- `@Value("${report.path}")` - 报表路径
|
||||
- `@Value("${unzip.path}")` - 解压路径
|
||||
|
||||
### 2. **使用配置的主要文件** ✅
|
||||
- `ImportService.java` - tempPath已配置
|
||||
- `CompactShelvingController.java` - tempPath已配置
|
||||
- `ReportTemplateService.java` - reportPath已配置
|
||||
- `OADockingIml.java` - unzipPath已配置
|
||||
|
||||
## ❌ **发现的问题路径**
|
||||
|
||||
### 1. **UReport文件下载路径硬编码** 🚨
|
||||
|
||||
#### **文件**: `src/main/java/com/point/strategy/docSimpleArrange/controller/DocSimpleController.java`
|
||||
```java
|
||||
String fileName = "创建文书简化pdf文件.pdf";
|
||||
String downLoadPath = "D:\\\\ureportfiles\\\\"+fileName; // ❌ 硬编码
|
||||
```
|
||||
|
||||
#### **文件**: `src/main/java/com/point/strategy/oaDocking/controller/DocTraditionVolumeOaController.java`
|
||||
```java
|
||||
String downLoadPath = "C:\\\\ureportfiles\\\\"+fileName; // ❌ 硬编码
|
||||
outputStream = new FileOutputStream(new File("C:\\ureportfiles\\"+fileName)); // ❌ 硬编码
|
||||
```
|
||||
|
||||
### 2. **测试代码中的硬编码** ⚠️
|
||||
|
||||
#### **文件**: `src/main/java/com/point/strategy/oaDocking/service/YcjSystemIntegration.java`
|
||||
```java
|
||||
// main方法中的测试代码
|
||||
new FileInputStream(new File("D:\\2\\222.pdf")); // ⚠️ 测试代码硬编码
|
||||
new File("D:\\2\\222.pdf").length(); // ⚠️ 测试代码硬编码
|
||||
```
|
||||
|
||||
### 3. **注释中的示例路径** 💡
|
||||
```java
|
||||
// 这些是注释和示例,通常不影响运行
|
||||
// DbOperate.dbBackUp("root", "123456", "zaizhi", "d:/3", backName);
|
||||
// if (exportDatabaseTool("192.168.1.112", "3306","root", "123456", "d:/3", "zaizhi.sql", "zaizhi")) {
|
||||
```
|
||||
|
||||
## 🔧 **修复建议**
|
||||
|
||||
### 1. **立即修复: UReport下载路径**
|
||||
|
||||
#### **方案A: 添加配置项**
|
||||
```yaml
|
||||
# application-prod.yml 中添加
|
||||
ureport:
|
||||
download:
|
||||
path: ${UREPORT_DOWNLOAD_PATH:/app/data/ureport}
|
||||
```
|
||||
|
||||
#### **方案B: 使用report.path**
|
||||
```java
|
||||
// 建议修改为
|
||||
@Value("${report.path}")
|
||||
private String reportPath;
|
||||
|
||||
String downLoadPath = reportPath + File.separator + fileName;
|
||||
```
|
||||
|
||||
### 2. **清理测试代码**
|
||||
```java
|
||||
// 移除main方法中的硬编码路径,或改为配置化
|
||||
```
|
||||
|
||||
## 📊 **风险评估**
|
||||
|
||||
| 问题类型 | 影响程度 | 修复难度 | 优先级 |
|
||||
|----------|----------|----------|--------|
|
||||
| UReport下载路径 | 🔴 高 | 🟢 低 | **P0** |
|
||||
| 测试代码硬编码 | 🟡 中 | 🟢 低 | P2 |
|
||||
| 注释示例路径 | 🟢 低 | 🟢 低 | P3 |
|
||||
|
||||
## 🎯 **推荐修复顺序**
|
||||
|
||||
1. **第一步**: 修复UReport下载路径硬编码 (P0)
|
||||
2. **第二步**: 清理YcjSystemIntegration测试代码 (P2)
|
||||
3. **第三步**: 统一路径处理工具类 (P1)
|
||||
|
||||
---
|
||||
|
||||
**总结**: 主要问题是UReport文件下载使用了Windows硬编码路径,需要立即修复以支持Linux/Mac环境部署。
|
||||
Reference in New Issue
Block a user