anxin-ruoyi/.kiro/specs/bank-selection-logic-fix/tasks.md

132 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 实施计划: 银行选择逻辑优化
## 概述
通过重构前端组件和后端数据模型,实现银行选择逻辑的优化,消除用户在申请和提交阶段的重复操作,提升用户体验。
## 任务
- [x] 1. 数据库结构优化
- 修改 service_period_loan 表结构,增加银行选择相关字段
- 创建数据库迁移脚本
- _需求: 1.2, 5.1, 5.2, 5.3_
- [ ] 2. 后端数据模型和服务层修改
- [ ] 2.1 更新 ServicePeriodLoan 实体类
- 增加 submitComments、bankSelectedTime、bankSelectionHistory 等字段
- 更新字段映射和验证注解
- _需求: 1.2, 5.1_
- [ ]* 2.2 编写 ServicePeriodLoan 实体类属性测试
- **属性 5: 修改操作幂等性**
- **验证: 需求 2.4, 2.5**
- [x] 2.3 修改 ServicePeriodLoanService 接口和实现
- 增加 createLoanWithBankSelection 方法
- 增加 quickSubmitToBank 方法
- 修改现有的更新方法以支持银行选择历史
- _需求: 1.1, 1.2, 4.2, 4.3_
- [ ]* 2.4 编写服务层单元测试
- 测试银行选择保存逻辑
- 测试一键提交功能
- 测试变更历史记录
- _需求: 1.2, 4.2, 5.3_
- [ ] 3. 后端控制器层修改
- [x] 3.1 修改 ServicePeriodLoanController
- 修改贷款申请接口以支持银行选择
- 新增一键提交接口
- 修改查询接口以返回银行选择状态
- _需求: 1.1, 1.5, 4.1, 4.2_
- [ ]* 3.2 编写控制器集成测试
- 测试完整的申请流程
- 测试一键提交流程
- 测试错误处理机制
- _需求: 1.5, 4.2, 4.5_
- [ ] 4. 检查点 - 确保后端功能正常
- 确保所有测试通过,如有问题请询问用户
- [ ] 5. 前端数据模型和状态管理优化
- [x] 5.1 修改 LoanManagement.vue 数据模型
- 扩展 loanApplicationForm 以包含银行选择和提交说明
- 简化 detailSubmitForm 数据结构
- 增加银行选择状态计算函数
- _需求: 1.1, 1.2, 3.1, 3.2, 3.3_
- [ ]* 5.2 编写前端状态管理属性测试
- **属性 3: 状态显示准确性**
- **验证: 需求 3.1, 3.2, 3.3, 3.4, 3.5**
- [ ] 6. 前端界面和交互优化
- [x] 6.1 重构贷款申请对话框
- 在银行选择表格后增加提交说明输入框
- 调整表单验证规则
- 优化银行选择确认流程
- _需求: 1.1, 1.3_
- [ ] 6.2 优化贷款详情页面
- 显示已选择的银行信息和提交说明
- 简化提交操作为一键提交
- 增加银行选择修改功能
- _需求: 1.3, 1.4, 2.1, 2.2, 4.1_
- [x] 6.3 增强贷款列表显示
- 显示银行选择状态
- 优化操作按钮逻辑
- 增加一键提交按钮
- _需求: 3.1, 3.4, 3.5, 4.1_
- [ ]* 6.4 编写前端交互属性测试
- **属性 1: 银行选择一致性**
- **属性 2: 提交说明保持性**
- **验证: 需求 1.2, 1.5, 2.4**
- [ ] 7. 业务逻辑集成和优化
- [ ] 7.1 实现一键提交功能
- 集成前后端一键提交逻辑
- 实现提交前的数据验证
- 处理提交成功和失败的状态更新
- _需求: 4.1, 4.2, 4.3, 4.4, 4.5_
- [ ] 7.2 实现银行选择修改功能
- 允许用户在待提交状态下修改银行选择
- 重新计算相关的利率和还款信息
- 记录银行选择变更历史
- _需求: 2.1, 2.2, 2.3, 2.4, 5.1, 5.2_
- [ ]* 7.3 编写业务逻辑属性测试
- **属性 4: 一键提交条件**
- **属性 6: 变更历史完整性**
- **验证: 需求 4.1, 4.2, 5.1, 5.2, 5.3**
- [ ] 8. 错误处理和用户体验优化
- [ ] 8.1 实现错误处理机制
- 银行信息缺失的友好提示
- 网络错误的重试机制
- 数据不一致的自动修复
- _需求: 设计文档错误处理部分_
- [x] 8.2 优化用户提示和反馈
- 改进成功和错误消息的显示
- 增加操作确认对话框
- 优化加载状态显示
- _需求: 用户体验相关_
- [ ]* 8.3 编写错误处理单元测试
- 测试各种错误场景的处理
- 测试用户提示的准确性
- 测试数据恢复机制
- _需求: 错误处理相关_
- [ ] 9. 最终检查点 - 确保所有功能正常
- 确保所有测试通过,验证用户体验改进效果
## 注意事项
- 标记为 `*` 的任务为可选任务可以跳过以加快MVP开发
- 每个任务都引用了具体的需求条目以确保可追溯性
- 检查点任务确保增量验证和及时发现问题
- 属性测试验证系统的正确性保证