提交物业维修单调整

This commit is contained in:
zlwu committed 2025-06-30 20:42:57 +08:00
1 parent 2371080245
commit 4db7c70511
2 files changed
+86 -2

No files matched your search

@@ -932,10 +932,12 @@ public class PmRepairOrderServiceImpl implements IPmRepairOrderService {
String currentUserName = loginUser.getUsername();
// 7. 创建服务评价记录
Date evaluationTime = new Date();
PmServiceEvaluation evaluation = new PmServiceEvaluation();
evaluation.setOrderId(orderId);
evaluation.setEvaluatorId(currentUserId);
evaluation.setEvaluatorName(currentUserName);
evaluation.setEvaluationTime(evaluationTime); // 设置评价时间
// 设置被评价维修员信息
evaluation.setEvaluatedWorkerId(Long.valueOf(evaluationData.get("evaluatedWorkerId").toString()));
@@ -991,7 +993,7 @@ public class PmRepairOrderServiceImpl implements IPmRepairOrderService {
updateOrder.setId(orderId);
updateOrder.setOrderStatus("5"); // 已评价
updateOrder.setEvaluationScore(evaluation.getOverallScore());
updateOrder.setEvaluationTime(new Date());
updateOrder.setEvaluationTime(evaluationTime); // 使用相同的评价时间
boolean orderUpdated = baseMapper.updateById(updateOrder) > 0;
if (!orderUpdated) {
@@ -1008,7 +1010,7 @@ public class PmRepairOrderServiceImpl implements IPmRepairOrderService {
evaluationProgress.setOperatorId(currentUserId);
evaluationProgress.setOperatorName(currentUserName);
evaluationProgress.setOperatorRole("user");
evaluationProgress.setOperationTime(new Date());
evaluationProgress.setOperationTime(evaluationTime); // 使用相同的评价时间
evaluationProgress.setRemark("满意度等级:" + evaluation.getSatisfactionLevel());
repairProgressMapper.insert(evaluationProgress);
@@ -4,6 +4,88 @@
> 👤 **记录人员**: wuzilong
> 📌 **排序说明**: 本文件按照时间倒序排列,最新的变更记录在最上面
## 调整记录 - 2025-06-30 22:50:00
**变更 ID**: CHG-20250630-012
**变更时间**: 2025-06-30 22:50:00
**变更人员**: wuzilong/Cursor AI 辅助
**变更类型**: 🐛 Bug 修复
**影响级别**: 🟢 小变更
### 📋 变更概述
**变更目的**: 修复评价接口中 evaluation_time 字段未设置导致的数据库插入错误
**影响范围**: 后端服务评价数据插入逻辑
### 📁 涉及文件
**后端文件**:
- backend/ruoyi-admin/src/main/java/org/dromara/zhxy/service/impl/PmRepairOrderServiceImpl.java
### 🔧 变更内容详述
**问题分析**:
1. **错误信息**: `Field 'evaluation_time' doesn't have a default value`
2. **根本原因**: 在创建 PmServiceEvaluation 记录时,没有设置 evaluationTime 字段的值
3. **表现症状**: 前端显示评价提交失败,数据库插入操作因缺少必填字段而失败
**修复方案**:
1. **设置评价时间字段**:
```java
// 修复前:缺少 evaluationTime 设置
PmServiceEvaluation evaluation = new PmServiceEvaluation();
// ... 其他字段设置
// 修复后:正确设置 evaluationTime
Date evaluationTime = new Date();
PmServiceEvaluation evaluation = new PmServiceEvaluation();
evaluation.setEvaluationTime(evaluationTime); // 设置评价时间
```
2. **确保时间一致性**:
- 评价记录的 `evaluationTime` 字段
- 工单记录的 `evaluationTime` 字段
- 进度记录的 `operationTime` 字段
- 三处使用相同的时间值,确保数据一致性
### 🧪 测试验证
**功能测试**:
- [x] ✅ 评价数据正确保存到数据库
- [x] ✅ evaluation_time 字段正确设置
- [x] ✅ 时间字段在相关表中保持一致
**错误处理测试**:
- [x] ✅ 不再出现数据库字段缺失错误
- [x] ✅ 评价提交成功响应正常
### 📝 备注
**技术实现**:
1. **字段补全**: 确保所有必填的数据库字段都有对应的值设置
2. **时间一致性**: 使用同一个 Date 对象设置相关的时间字段
3. **数据完整性**: 保证评价记录的完整性和准确性
**修复前的问题**:
- ❌ 数据库插入失败,提示 evaluation_time 字段没有默认值
- ❌ 前端评价提交失败,用户无法完成评价操作
**修复后的效果**:
- ✅ 评价数据正确插入数据库
- ✅ 所有时间字段保持一致
- ✅ 前端评价功能正常工作
---
## 调整记录 - 2025-06-30 22:45:00
**变更 ID**: CHG-20250630-011