上传源代码版本
This commit is contained in:
18
.trae/specs/order-import-ftp-integration/checklist.md
Normal file
18
.trae/specs/order-import-ftp-integration/checklist.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# 订单导入功能模块 - FTP 集成功能 - 验证清单
|
||||
|
||||
- [ ] 前端订单导入表单是否添加了面单文件选择功能
|
||||
- [ ] 面单文件选择控件是否允许选择多个文件
|
||||
- [ ] 界面是否保持简洁,没有添加额外的目录输入字段
|
||||
- [ ] 订单导入后是否自动上传面单文件
|
||||
- [ ] 上传过程是否显示进度反馈
|
||||
- [ ] 是否使用预设的上传目录路径,无需用户输入
|
||||
- [ ] 文件上传完成后是否自动检查 FTP 上传状态
|
||||
- [ ] 导入结果中是否显示上传和检查的状态
|
||||
- [ ] 后端 `OrderImport` 端点是否支持接收面单文件
|
||||
- [ ] 后端是否实现了文件上传到 FTP 服务器的逻辑
|
||||
- [ ] 后端是否在文件上传完成后检查 FTP 上传状态
|
||||
- [ ] 后端响应中是否包含上传和检查的状态信息
|
||||
- [ ] 完整流程测试是否通过
|
||||
- [ ] 用户体验是否流畅,反馈是否清晰
|
||||
- [ ] 错误处理是否清晰明确
|
||||
- [ ] 不同文件类型和大小的测试是否通过
|
||||
78
.trae/specs/order-import-ftp-integration/spec.md
Normal file
78
.trae/specs/order-import-ftp-integration/spec.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# 订单导入功能模块 - FTP 集成功能 - 产品需求文档
|
||||
|
||||
## 概述
|
||||
- **摘要**:在订单导入功能模块中整合面单文件上传功能和 FTP 上传检查功能,无需提供上传目录选择参数,系统默认使用预设的上传目录路径,实现文件自动上传至指定位置,并完成 FTP 上传状态的自动检查与反馈。
|
||||
- **目的**:简化用户操作流程,减少用户输入错误,确保面单文件能够正确上传到指定的 FTP 位置,并及时反馈上传状态。
|
||||
- **目标用户**:使用订单导入功能的操作人员,需要上传面单文件到 FTP 服务器的用户。
|
||||
|
||||
## 目标
|
||||
- 整合面单文件上传功能到订单导入模块
|
||||
- 整合 FTP 上传检查功能到订单导入模块
|
||||
- 系统默认使用预设的上传目录路径,无需用户输入
|
||||
- 实现文件自动上传至指定位置
|
||||
- 完成 FTP 上传状态的自动检查与反馈
|
||||
|
||||
## 非目标(超出范围)
|
||||
- 不修改现有的订单导入核心逻辑
|
||||
- 不改变现有的 FTP 服务器配置
|
||||
- 不添加新的用户界面元素,保持界面简洁
|
||||
|
||||
## 背景与上下文
|
||||
- 现有系统已经实现了订单导入功能,可以通过 Excel 文件导入订单数据
|
||||
- 现有系统已经实现了面单文件上传功能,可以上传文件到 FTP 服务器
|
||||
- 现有系统已经实现了 FTP 上传检查功能,可以检查文件是否存在于 FTP 服务器
|
||||
- 用户当前需要在不同的标签页之间切换来完成订单导入、文件上传和上传检查,操作繁琐
|
||||
|
||||
## 功能需求
|
||||
- **FR-1**:在订单导入功能模块中整合面单文件上传功能
|
||||
- **FR-2**:在订单导入功能模块中整合 FTP 上传检查功能
|
||||
- **FR-3**:系统默认使用预设的上传目录路径,无需用户输入
|
||||
- **FR-4**:实现文件自动上传至指定位置
|
||||
- **FR-5**:完成 FTP 上传状态的自动检查与反馈
|
||||
|
||||
## 非功能需求
|
||||
- **NFR-1**:保持现有界面的简洁性,不增加额外的用户输入字段
|
||||
- **NFR-2**:上传和检查过程应该有明确的进度反馈
|
||||
- **NFR-3**:错误处理应该清晰明确,方便用户理解和解决问题
|
||||
|
||||
## 约束
|
||||
- **技术**:基于现有的 ASP.NET Core Web API 和 FTP 上传服务
|
||||
- **依赖**:依赖现有的 `FtpUploadService` 和相关的 API 端点
|
||||
|
||||
## 假设
|
||||
- 预设的上传目录路径是固定的,不需要用户配置
|
||||
- 面单文件的命名规则与订单数据中的中性面单单号或尾程单号一致
|
||||
|
||||
## 验收标准
|
||||
|
||||
### AC-1:订单导入时自动上传面单文件
|
||||
- **给定**:用户选择了包含订单数据的 Excel 文件和对应的面单文件
|
||||
- **当**:用户点击 "导入订单" 按钮
|
||||
- **然后**:系统自动将面单文件上传到预设的 FTP 目录
|
||||
- **验证**:`programmatic`
|
||||
- **备注**:上传过程应该有进度反馈
|
||||
|
||||
### AC-2:订单导入时自动检查 FTP 上传状态
|
||||
- **给定**:面单文件已经上传到 FTP 服务器
|
||||
- **当**:文件上传完成后
|
||||
- **然后**:系统自动检查文件是否成功上传到 FTP 服务器
|
||||
- **验证**:`programmatic`
|
||||
- **备注**:检查结果应该在导入结果中显示
|
||||
|
||||
### AC-3:使用预设的上传目录路径
|
||||
- **给定**:用户进行订单导入操作
|
||||
- **当**:系统执行文件上传操作
|
||||
- **然后**:系统使用预设的上传目录路径,无需用户输入
|
||||
- **验证**:`programmatic`
|
||||
- **备注**:预设路径应该在代码中配置
|
||||
|
||||
### AC-4:上传和检查状态的反馈
|
||||
- **给定**:系统执行文件上传和检查操作
|
||||
- **当**:操作完成后
|
||||
- **然后**:系统在导入结果中显示上传和检查的状态
|
||||
- **验证**:`human-judgment`
|
||||
- **备注**:状态信息应该清晰易读
|
||||
|
||||
## 开放问题
|
||||
- [ ] 预设的上传目录路径具体是什么?
|
||||
- [ ] 面单文件的命名规则是否与现有系统一致?
|
||||
78
.trae/specs/order-import-ftp-integration/tasks.md
Normal file
78
.trae/specs/order-import-ftp-integration/tasks.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# 订单导入功能模块 - FTP 集成功能 - 实现计划
|
||||
|
||||
## [x] 任务 1:修改前端订单导入表单,添加面单文件选择功能
|
||||
- **优先级**:P0
|
||||
- **依赖**:无
|
||||
- **描述**:
|
||||
- 在订单导入标签页中添加面单文件选择控件
|
||||
- 允许用户选择多个面单文件
|
||||
- 保持界面简洁,不添加额外的目录输入字段
|
||||
- **验收标准**:AC-1, AC-3
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-1.1: 表单能够正确选择面单文件
|
||||
- `human-judgment` TR-1.2: 界面简洁,操作流程顺畅
|
||||
- **备注**:使用现有的文件选择控件样式,保持与现有界面的一致性
|
||||
|
||||
## [x] 任务 2:修改前端订单导入逻辑,整合 FTP 上传功能
|
||||
- **优先级**:P0
|
||||
- **依赖**:任务 1
|
||||
- **描述**:
|
||||
- 修改 `importOrders` 函数,在导入订单后自动上传面单文件
|
||||
- 使用预设的上传目录路径,无需用户输入
|
||||
- 实现上传进度的显示
|
||||
- **验收标准**:AC-1, AC-3, AC-4
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-2.1: 订单导入后自动上传面单文件
|
||||
- `programmatic` TR-2.2: 上传过程显示进度
|
||||
- `human-judgment` TR-2.3: 上传状态反馈清晰
|
||||
- **备注**:使用现有的 FTP 上传 API 端点,保持与现有上传功能的一致性
|
||||
|
||||
## [x] 任务 3:修改前端订单导入逻辑,整合 FTP 上传检查功能
|
||||
- **优先级**:P0
|
||||
- **依赖**:任务 2
|
||||
- **描述**:
|
||||
- 修改 `importOrders` 函数,在文件上传完成后自动检查 FTP 上传状态
|
||||
- 在导入结果中显示上传和检查的状态
|
||||
- **验收标准**:AC-2, AC-4
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-3.1: 文件上传完成后自动检查 FTP 状态
|
||||
- `human-judgment` TR-3.2: 检查结果在导入结果中清晰显示
|
||||
- **备注**:使用现有的 FTP 检查 API 端点,保持与现有检查功能的一致性
|
||||
|
||||
## [x] 任务 4:修改后端订单导入端点,支持面单文件上传
|
||||
- **优先级**:P0
|
||||
- **依赖**:无
|
||||
- **描述**:
|
||||
- 修改 `OrderImport` 端点,支持接收面单文件
|
||||
- 实现文件上传到 FTP 服务器的逻辑
|
||||
- 使用预设的上传目录路径
|
||||
- **验收标准**:AC-1, AC-3
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-4.1: 端点能够接收并处理面单文件
|
||||
- `programmatic` TR-4.2: 文件正确上传到预设的 FTP 目录
|
||||
- **备注**:复用现有的 `FtpUploadService` 来处理文件上传
|
||||
|
||||
## [x] 任务 5:修改后端订单导入端点,支持 FTP 上传检查
|
||||
- **优先级**:P0
|
||||
- **依赖**:任务 4
|
||||
- **描述**:
|
||||
- 修改 `OrderImport` 端点,在文件上传完成后检查 FTP 上传状态
|
||||
- 在响应中包含上传和检查的状态信息
|
||||
- **验收标准**:AC-2, AC-4
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-5.1: 端点能够检查文件在 FTP 服务器上的存在性
|
||||
- `programmatic` TR-5.2: 响应中包含完整的上传和检查状态
|
||||
- **备注**:复用现有的 `FtpUploadService.CheckFilesExistsAsync` 方法
|
||||
|
||||
## [x] 任务 6:测试整合后的订单导入功能
|
||||
- **优先级**:P1
|
||||
- **依赖**:任务 3, 任务 5
|
||||
- **描述**:
|
||||
- 测试订单导入、面单文件上传和 FTP 上传检查的完整流程
|
||||
- 验证所有功能正常工作
|
||||
- 验证错误处理和边界情况
|
||||
- **验收标准**:AC-1, AC-2, AC-3, AC-4
|
||||
- **测试要求**:
|
||||
- `programmatic` TR-6.1: 完整流程测试通过
|
||||
- `human-judgment` TR-6.2: 用户体验流畅,反馈清晰
|
||||
- **备注**:测试不同的文件类型和大小,确保系统能够正确处理
|
||||
Reference in New Issue
Block a user