From 62f5e3dc1501bc9bf60467c31a2353a997a7cce6 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期日, 15 三月 2026 11:55:32 +0800
Subject: [PATCH] bugfix
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
index 4710f64..14d7ccb 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -190,7 +190,7 @@
@Override
@Transactional
@ShardingSphereTransactionType(TransactionType.BASE)
- public void saveVehicleAccident(SaveVehicleAccidentDto dto, XpOperationsUser xpOperationsUser) {
+ public XpTask saveVehicleAccident(SaveVehicleAccidentDto dto, XpOperationsUser xpOperationsUser) {
XpTask xpTask = new XpTask();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
@@ -254,10 +254,19 @@
xpTask.setExpiredNoticeSent(0);
xpTask.setWillTimeoutNoticeSent(0);
this.save(xpTask);
+ if (xpTask.getId() == null && StringUtils.isNotBlank(xpTask.getTaskCode())) {
+ XpTask savedTask = this.getOne(new LambdaQueryWrapper<XpTask>()
+ .eq(XpTask::getTaskCode, xpTask.getTaskCode())
+ .last("limit 1"));
+ if (savedTask != null && savedTask.getId() != null) {
+ xpTask.setId(savedTask.getId());
+ }
+ }
// 异步发送消息通知
String plateNumber = Objects.nonNull(vehicle) ? vehicle.getPlateNumber() : "";
sendAccidentNotificationAsync(xpTask, plateNumber, taskRule.getProcessingTimeLimit());
+ return xpTask;
}
/**
@@ -1182,6 +1191,11 @@
@Override
public R assigneeTask(Long id, Long handlerUserId, Long assigneeUserId) {
XpTask task = this.getById(id);
+ // 查询规则 任务结束时间从任务分配时开始计算
+ XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null);
+ if (taskRule != null) {
+ task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit()));
+ }
task.setAssigneeTime(LocalDateTime.now());
task.setHandleUserId(handlerUserId.toString());
task.setVehicleId(null);
@@ -1202,14 +1216,7 @@
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
task.setTaskCode(code);
- // 查询规则
- XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null);
- if (taskRule != null) {
- task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit()));
- }
task.setTaskCategory(2);
- // todo 临时处理
- task.setHandleUserId("1");
task.setTaskTypeId(dto.getTaskTypeId());
task.setTaskUrgencyLevel(dto.getTaskUrgencyLevel());
task.setTaskDescription(dto.getTaskDescription());
--
Gitblit v1.7.1