epic-010-system-bug-fixes.md 8.1 KB

Epic 010: 系统Bug修复与功能优化

概述

本史诗旨在修复系统测试中发现的Bug并优化相关功能,针对公司管理、残疾人管理、订单管理等多个模块进行问题修复和功能增强,以提升系统稳定性和用户体验。

业务目标

  1. 修复已知的核心功能Bug,确保系统基本功能正常
  2. 优化筛选和搜索功能,提升数据查询效率
  3. 修复数据更新问题,确保数据一致性
  4. 优化操作按钮和界面元素,提升用户体验

范围

  • 公司管理模块的创建功能修复
  • 残疾人管理模块的筛选功能增强
  • 订单管理模块的搜索功能优化和状态更新修复
  • 省信息编辑功能的修复
  • 操作按钮文本优化

成功标准

  1. 所有Bug修复通过测试验证
  2. 新增筛选和搜索功能正常工作
  3. 数据更新功能恢复正常
  4. 用户界面优化符合预期
  5. 系统稳定性得到提升

用户故事

公司管理模块

故事 010-01: 修复公司创建功能

作为 系统管理员 我希望 能够成功创建新公司 以便 正常管理公司信息

验收标准:

  • 填写公司名称"测试"及相关可选信息后,点击"创建"按钮能够成功生成新公司记录
  • 创建成功后页面显示新创建的公司记录
  • 错误处理机制完善,能够显示具体的错误信息

技术说明:

  • 页面路径:搜索菜单 > 公司管理 > 创建公司
  • 需要检查:前端表单验证、后端API处理、数据库操作
  • 可能的问题点:表单验证规则、API参数处理、数据库约束

完成情况:

  • ✅ 修复了平台ID非空约束错误:platformId改为nullable: true
  • ✅ 修复了前端错误消息显示:从API响应中提取具体错误信息
  • ✅ 修正了可选字段类型定义:contactPerson、contactPhone等改为string | null
  • ✅ 修复了服务层默认值处理:用户未填字段存为NULL而非空字符串
  • ✅ 添加了集成测试:验证可选字段为空和平台ID为空的情况
  • ✅ 所有20个集成测试通过,公司创建功能正常工作

残疾人管理模块

故事 010-02: 增强筛选功能

作为 残疾人信息管理员 我希望 能够使用更多筛选条件查询残疾人信息 以便 更精确地查找和管理残疾人数据

验收标准:

  • 新增银行卡类别筛选条件
  • 新增残疾类型筛选条件
  • 新增残疾级别筛选条件
  • 新增居住省份筛选条件
  • 所有筛选条件能够组合使用
  • 筛选结果准确无误

技术说明:

  • 页面路径:搜索菜单 > 残疾人管理
  • 需要修改:筛选组件、API查询参数、数据库查询逻辑
  • 数据来源:银行卡类别、残疾类型、残疾级别、省份数据需要从相应模块获取

完成情况:

  • ✅ 后端API扩展:在SearchDisabledPersonQuerySchema中添加5个新筛选参数
  • ✅ 服务层更新:disabled-person.service.ts中的findAll方法支持新参数和关联表查询
  • ✅ 前端UI实现:DisabilityPersonManagement.tsx中添加5个筛选组件,使用现有UI包组件
  • ✅ API路由修复:更新路由使用正确的schema支持所有筛选参数
  • ✅ 集成测试完善:添加6个筛选功能集成测试,全部通过验证
  • ✅ PhotoUploadField单元测试修复:修复2个失败的单元测试,所有14个测试通过
  • ✅ 代码提交:包含6个相关提交,完整实现故事要求的所有功能

订单管理模块

故事 010-03: 优化搜索功能

作为 订单管理员 我希望 能够使用更多搜索条件查询订单 以便 更高效地管理和跟踪订单

验收标准:

  • 新增平台搜索条件
  • 新增公司搜索条件
  • 新增开始日期搜索条件
  • 新增结束日期搜索条件
  • 日期范围搜索功能正常工作
  • 搜索条件能够组合使用

技术说明:

  • 页面路径:搜索菜单 > 订单管理
  • 需要修改:搜索组件、API查询参数、数据库查询逻辑
  • 数据关联:平台和公司数据需要从相应模块获取

完成情况:

  • ✅ 前端UI实现:OrderManagement.tsx中添加平台、公司、开始日期、结束日期搜索条件,实现两行搜索布局
  • ✅ API类型更新:OrderSearchParams接口添加startDate和endDate字段
  • ✅ 后端Schema更新:QueryOrderSchema添加startDate和endDate参数
  • ✅ 服务层更新:order.service.ts中的findAll方法支持日期范围查询
  • ✅ 测试修复:修复集成测试中的网络错误、实体关系错误、外键约束错误、字段长度错误
  • ✅ 测试验证:31个集成测试全部通过,验证了所有新的搜索条件
  • ✅ 代码提交:完整实现故事要求的所有功能

故事 010-04: 修复订单状态更新

作为 订单管理员 我希望 能够成功更新订单状态 以便 准确跟踪订单进度

验收标准:

  • 编辑订单信息后状态能够正常更新
  • 状态变更后页面显示正确的状态信息
  • 状态更新历史记录完整
  • 状态变更权限控制正确

技术说明:

  • 页面路径:搜索菜单 > 订单管理 > 编辑订单
  • 需要检查:状态更新API、前端状态同步、数据库状态字段更新

故事 010-05: 优化操作按钮文本

作为 订单管理员 我希望 操作按钮文本准确反映功能 以便 更直观地理解按钮功能

验收标准:

  • 操作栏中"添加资产"按钮修改为"添加附件"
  • 按钮功能保持不变
  • 相关提示文本同步更新

技术说明:

  • 页面路径:搜索菜单 > 订单管理 > 查看详情/编辑
  • 需要修改:按钮文本、相关提示信息

其他模块

故事 010-06: 修复省信息编辑功能

作为 系统管理员 我希望 能够成功编辑省信息 以便 维护地区数据

验收标准:

  • 点击"更新"按钮后省信息能够成功更新
  • 更新后页面显示更新后的信息
  • 错误处理机制完善

技术说明:

  • 页面路径:需要确认具体模块(关联省信息编辑的相关页面)
  • 需要检查:省信息编辑表单、更新API、数据库操作

技术考虑

  1. Bug修复需要先定位问题根源,避免治标不治本
  2. 筛选和搜索功能需要考虑性能优化,避免大数据量查询性能问题
  3. 状态更新需要考虑事务处理和并发控制
  4. 前端组件修改需要保持UI一致性
  5. API接口变更需要保持向后兼容
  6. 数据库查询优化需要考虑索引使用

依赖关系

  1. 各模块的修复相对独立,可并行开发
  2. 筛选和搜索功能可能需要依赖其他模块的数据接口

风险与缓解

  1. 风险: Bug修复可能引入新的问题 缓解: 充分测试修复后的功能,进行回归测试
  2. 风险: 新增筛选条件可能影响查询性能 缓解: 优化数据库查询,添加必要索引
  3. 风险: 状态更新可能存在并发问题 缓解: 实现乐观锁或悲观锁机制
  4. 风险: 界面修改可能影响用户体验 缓解: 进行用户测试,收集反馈

验收测试计划

  1. 功能测试:验证每个Bug修复和功能优化的正确性
  2. 性能测试:验证筛选和搜索功能的性能表现
  3. 回归测试:确保现有功能不受影响
  4. 用户体验测试:验证界面优化效果
  5. 边界测试:测试各种边界条件下的功能表现

时间估算

  • 总工作量:约12-16人天
  • 预计完成时间:2-3周

优先级

高 - 这些Bug直接影响系统核心功能的正常使用


史诗创建时间: 2025-12-12 状态: 进行中 ⏳ (3/6 故事已完成)

更新记录:

  • 2025-12-12: 史诗创建,基于系统测试Bug反馈清单
  • 2025-12-12: 故事010-01已完成 - 修复公司创建功能,包括平台ID可选、错误信息显示、类型定义修正等
  • 2025-12-12: 故事010-02已完成 - 增强残疾人管理筛选功能,添加5个新筛选条件,所有集成测试通过
  • 2025-12-12: 故事010-03已完成 - 优化订单管理搜索功能,添加平台、公司、开始日期、结束日期搜索条件,所有31个集成测试通过