From d943874d94e69806cb53b649b378075794bdf683 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 15 三月 2026 14:35:28 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java | 28 ++++++++++++++++++++--------
1 files changed, 20 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 2a12c93..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);
@@ -251,11 +251,22 @@
// 根据事故处理限时配置设置任务截止时间
LocalDateTime endTime = LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit());
xpTask.setEndTime(endTime);
+ 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;
}
/**
@@ -1168,6 +1179,7 @@
task.setReportTime(LocalDateTime.now());
task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit()));
task.setExpiredNoticeSent(0);
+ task.setWillTimeoutNoticeSent(0);
task.setStatus(TaskScheduleConstants.TASK_STATUS_PENDING_ARRIVE);
task.setCreateBy("系统自动生成");
task.setCreateTime(LocalDateTime.now());
@@ -1179,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);
@@ -1199,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());
@@ -1217,6 +1227,8 @@
task.setVehicleLat(dto.getVehicleLat());
task.setReportUserId(reportUserId);
task.setReportTime(LocalDateTime.now());
+ task.setExpiredNoticeSent(0);
+ task.setWillTimeoutNoticeSent(0);
saveTask.add(task);
}
this.saveBatch(saveTask);
--
Gitblit v1.7.1