From 3974fad5d836431e417e99220cc07bb5b0aba331 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期一, 08 十二月 2025 14:16:16 +0800
Subject: [PATCH] 提交
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java | 67 +++++++++++++++++++++++++++++----
1 files changed, 58 insertions(+), 9 deletions(-)
diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
index b38d4d5..aaef49c 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
@@ -1,10 +1,9 @@
package com.ruoyi.tms.service.impl;
import java.io.File;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -18,11 +17,10 @@
import com.ruoyi.common.utils.uuid.Seq;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.tms.domain.*;
-import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
-import com.ruoyi.tms.mapper.TmsDriverDispatchMapper;
-import com.ruoyi.tms.mapper.TmsDriverMapper;
+import com.ruoyi.tms.mapper.*;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
@@ -35,7 +33,6 @@
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
-import com.ruoyi.tms.mapper.TmsTripMapper;
import com.ruoyi.tms.service.ITmsTripService;
import com.ruoyi.common.core.text.Convert;
@@ -65,6 +62,10 @@
private TmsDriverMapper tmsDriverMapper;
@Autowired
private TmsVehicleServiceImpl tmsVehicleServiceImpl;
+ @Resource
+ private TmsCarKeyDispatchMapper tmsCarKeyDispatchMapper;
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
@Autowired
private AsyncPdfService asyncPdfService;
@@ -160,6 +161,7 @@
throw new RuntimeException("鏈壘鍒板徃鏈烘暟鎹�");
}
+
tmsDispatchOrder.setStatus(2);
tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
@@ -171,8 +173,55 @@
if (StringUtils.isNotEmpty(tmsTrip.getSignImg())){
asyncPdfService.generateTripPdfAsync(tmsTrip,tmsDispatchOrder,tmsDriver);
}
+ // 瀹屾垚韬綋妫�鏌�
+ if (tmsTrip.getTripType() == 1){
+ // 娣诲姞 棰嗛挜鍖� 鎸囦护璁板綍
+ TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(tmsDispatchOrder.getVehicleId());
+
+ TmsCarKeyDispatch tmsCarKeyDispatch = new TmsCarKeyDispatch();
+ tmsCarKeyDispatch.setDispatchOrderId(dispatchOrderId);
+ tmsCarKeyDispatch.setDispatchOrderNo(tmsDispatchOrder.getDispatchNo());
+ tmsCarKeyDispatch.setDriverId(tmsDriver.getId());
+ tmsCarKeyDispatch.setDriverMobile(tmsDriver.getMobile());
+ tmsCarKeyDispatch.setDriverName(tmsDriver.getDriverName());
+
+ tmsCarKeyDispatch.setVehicleId(tmsDispatchOrder.getVehicleId());
+ tmsCarKeyDispatch.setVehicleLicensePlate(tmsDispatchOrder.getLicensePlate());
+ tmsCarKeyDispatch.setVehicleCarKeyNo(tmsVehicle.getCarKeyNo());
+
+ LocalDateTime plus2Hours = LocalDateTime.now().plusHours(2);
+ Date date = Date.from(plus2Hours.atZone(ZoneId.systemDefault()).toInstant());
+
+ tmsCarKeyDispatch.setCarKeyExpirationTime(date);
+ tmsCarKeyDispatch.setStatus(0);
+ tmsCarKeyDispatchMapper.insertTmsCarKeyDispatch(tmsCarKeyDispatch);
+
+ sendCarKeyDelayMessage(tmsCarKeyDispatch.getId(), 2 * 60 * 60 * 1000L);
+
+ }
+
+
return 1;
}
+
+ /**
+ * 鍙戦�佸欢杩熸秷鎭�
+ * @param carKeyId car_key id
+ * @param delayMillis 寤惰繜姣鏁�
+ */
+ public void sendCarKeyDelayMessage(Integer carKeyId, long delayMillis) {
+ rabbitTemplate.convertAndSend(
+ "car_key_delay_exchange",
+ "car_key_delay",
+ carKeyId,
+ message -> {
+ message.getMessageProperties().setExpiration(String.valueOf(delayMillis));
+ return message;
+ }
+ );
+ }
+
+
@Override
public AjaxResult submitDropHook(TmsTrip tmsTrip){
Integer dispatchOrderId = tmsTrip.getDispatchOrderId();
@@ -229,7 +278,7 @@
}
- TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(driverDispatch.getDriverId());
+ TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(driverDispatch.getVehicleId());
tmsDispatchOrderMapper.update(
new LambdaUpdateWrapper<TmsDispatchOrder>()
--
Gitblit v1.8.0