Files
hzdyjs/docs/变更管理/code-adjust-record-2025-01-23-wuzilong.md
T
zlwu f969e4ff7d refactor: 物业报修模块重构
1. 重命名物业报修相关类,统一添加Hq前缀
2. 更新相关文档和SQL文件
3. 优化前端样式和视图
4. 清理无用的测试文件

Issue #123
2025-07-09 16:55:24 +08:00

7.7 KiB

代码调整记录 - 2025-01-23

📋 变更概述

变更日期: 2025-01-23
操作人员: wuzilong
变更类型: 数据库表名规范化调整
影响模块: 物业报修管理模块
优先级: 高

🎯 变更目标

将物业报修管理模块的数据库表名从 pm_* 格式调整为 hq_pm_* 格式,符合项目数据库表名规范要求(后勤管理模块使用 hq_ 前缀)。

📊 变更详情

1. SQL文件调整

文件: docs/设计文档/database/07-property-maintenance-module.sql

变更内容:

  • 将所有表名从 pm_* 调整为 hq_pm_*
  • 更新相关注释和关联引用
  • 版本号更新至 V1.0.2

具体表名变更:

原表名 新表名
pm_repair_order hq_pm_repair_order
pm_repair_attachment hq_pm_repair_attachment
pm_repair_progress hq_pm_repair_progress
pm_service_evaluation hq_pm_service_evaluation
pm_repair_category hq_pm_repair_category
pm_system_config hq_pm_system_config

2. 数据库重命名脚本

新增文件: docs/设计文档/database/08-property-maintenance-table-rename.sql

功能:

  • 智能检测现有表是否存在
  • 批量重命名所有物业报修相关表
  • 提供验证结果显示
  • 支持幂等操作

3. 规范文档更新

更新文件:

  • docs/业务模块/property-maintenance/技术设计/数据库设计.md
  • docs/业务模块/property-maintenance/README.md

变更内容:

  • 更新所有表名引用
  • 修正实体关系图
  • 更新数据流转图

4. 后端代码调整

Entity实体类更新:

  • PmRepairOrder.java - @TableName("hq_pm_repair_order")
  • PmRepairAttachment.java - @TableName("hq_pm_repair_attachment")
  • PmRepairProgress.java - @TableName("hq_pm_repair_progress")
  • PmServiceEvaluation.java - @TableName("hq_pm_service_evaluation")
  • PmRepairCategory.java - @TableName("hq_pm_repair_category")

Mapper XML文件更新:

  • PmRepairAttachmentMapper.xml - selectVo中的表名更新
  • PmRepairProgressMapper.xml - selectVo中的表名更新
  • PmServiceEvaluationMapper.xml - 新创建完整的Mapper XML

VO类和BO类完善:

  • 新增:PmRepairProgressVo.java、PmServiceEvaluationVo.java
  • 新增:PmRepairProgressBo.java、PmServiceEvaluationBo.java
  • 更新:所有VO/BO类中的注释表名引用

Service接口完善:

  • 新增:IPmRepairProgressService.java
  • 新增:IPmServiceEvaluationService.java

涉及文件:

backend/ruoyi-modules/ruoyi-hq/src/main/java/org/dromara/hq/
├── domain/
│   ├── PmRepairOrder.java ✅
│   ├── PmRepairAttachment.java ✅
│   ├── PmRepairProgress.java ✅
│   ├── PmServiceEvaluation.java ✅
│   ├── PmRepairCategory.java ✅
│   ├── vo/
│   │   ├── PmRepairProgressVo.java ✅ (新增)
│   │   ├── PmServiceEvaluationVo.java ✅ (新增)
│   │   ├── PmRepairOrderVo.java ✅ (注释更新)
│   │   ├── PmRepairAttachmentVo.java ✅ (注释更新)
│   │   └── PmRepairCategoryVo.java ✅ (注释更新)
│   └── bo/
│       ├── PmRepairProgressBo.java ✅ (新增)
│       ├── PmServiceEvaluationBo.java ✅ (新增)
│       ├── PmRepairOrderBo.java ✅ (注释更新)
│       ├── PmRepairAttachmentBo.java ✅ (注释更新)
│       └── PmRepairCategoryBo.java ✅ (注释更新)
├── service/
│   ├── IPmRepairProgressService.java ✅ (新增)
│   └── IPmServiceEvaluationService.java ✅ (新增)
└── resources/mapper/
    ├── PmRepairAttachmentMapper.xml ✅ (表名更新)
    ├── PmRepairProgressMapper.xml ✅ (表名更新)
    └── PmServiceEvaluationMapper.xml ✅ (新增)

🛠️ 执行步骤

步骤1: SQL文件调整 ✅

  • 更新表结构定义
  • 更新关联引用
  • 更新索引定义
  • 更新初始化数据

步骤2: 数据库表重命名 🔄

  • 创建重命名脚本
  • 执行数据库重命名(需手动执行)

步骤3: 文档更新 ✅

  • 数据库设计文档
  • 模块总览文档
  • 实体关系图

步骤4: 代码调整 ✅

  • Entity类@TableName注解
  • 注释中的表名引用
  • Mapper XML文件表名更新
  • 创建缺失的VO和BO类
  • 创建缺失的Service接口
  • 创建缺失的Mapper XML文件

📋 验证清单

数据库层面

  • 确认旧表名不存在
  • 确认新表名存在且结构正确
  • 确认索引重建成功
  • 确认数据完整性

代码层面

  • Entity类编译通过
  • Mapper XML语法正确
  • VO/BO类创建完成
  • Service接口定义完成
  • Service实现类创建(待完成)
  • Controller类创建(待完成)
  • 单元测试执行成功
  • API接口调用正常
  • 前端页面显示正常

文档层面

  • 所有文档表名更新完成
  • 图表和示例代码正确
  • 变更记录完整

⚠️ 注意事项

数据库操作

  1. 备份重要性: 执行表重命名前务必备份数据库
  2. 停机时间: 重命名操作需要停止相关服务
  3. 权限验证: 确保有足够的数据库操作权限

代码部署

  1. 同步部署: 数据库重命名与代码部署需同步进行
  2. 回滚预案: 准备回滚脚本以防意外情况
  3. 测试验证: 部署后需全面测试业务功能

数据一致性

  1. 外键约束: 确认没有外键约束冲突
  2. 应用层关联: 验证应用层关联逻辑正确
  3. 缓存刷新: 清理相关缓存数据

🔧 执行命令

数据库重命名

# 连接到MySQL数据库
mysql -h 47.99.164.66 -P 3306 -u root -p hzdyjs_xg

# 执行重命名脚本
source docs/设计文档/database/08-property-maintenance-table-rename.sql;

代码重新编译

# 后端重新编译
cd backend
mvn clean compile

📈 影响评估

正面影响

  1. 规范统一: 符合项目数据库命名规范
  2. 维护性提升: 表名更清晰易理解
  3. 模块区分: 清晰区分后勤管理模块表

风险评估

  1. 低风险: 仅表名变更,表结构不变
  2. 影响范围: 仅限物业报修模块
  3. 恢复时间: 如有问题可快速回滚

✅ 验证结果

文件变更统计

  • SQL文件: 2个(1个更新,1个新增)
  • 文档文件: 2个更新
  • Entity类: 5个更新(@TableName注解和注释)
  • Mapper XML: 3个(2个更新,1个新增)
  • VO类: 7个(2个新增,5个注释更新)
  • BO类: 7个(2个新增,5个注释更新)
  • Service接口: 2个新增
  • 总变更行数: 约800行

测试状态

  • 本地环境测试
  • 开发环境验证
  • 功能回归测试

📝 后续任务

  1. 数据库执行: 在测试环境执行表重命名脚本
  2. 完善代码层:
    • 创建 PmRepairProgressServiceImpl.java 和 PmServiceEvaluationServiceImpl.java
    • 创建 PmRepairProgressController.java 和 PmServiceEvaluationController.java
    • 完善Mapper接口方法
  3. 代码测试: 验证所有API接口正常工作
  4. 前端联调: 确认前端页面数据显示正常
  5. 文档同步: 更新相关API文档和使用说明

🔗 相关文档


变更完成时间: 2025-01-23 18:45:00
最后更新: 2025-01-23 18:45:00 - 完成所有表名调整和基础代码结构
下次更新计划: 待Service实现类和Controller创建完成后更新验证结果