From 4f2925f1974844b66225ac70ae35065b8262b315 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 04 十二月 2025 13:26:11 +0800
Subject: [PATCH] feat:增加微信token缓存
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 97 insertions(+), 21 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
index b8e1c76..feab794 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
@@ -2,14 +2,22 @@
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.SysTaskVehicleMapper;
+import com.ruoyi.system.mapper.SysTaskMapper;
+import com.ruoyi.system.mapper.VehicleInfoMapper;
+import com.ruoyi.system.domain.SysTask;
import com.ruoyi.system.domain.SysTaskVehicle;
+import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.service.ISysTaskVehicleService;
/**
@@ -21,8 +29,16 @@
@Service
public class SysTaskVehicleServiceImpl implements ISysTaskVehicleService {
+ private static final Logger logger = LoggerFactory.getLogger(SysTaskVehicleServiceImpl.class);
+
@Autowired
private SysTaskVehicleMapper sysTaskVehicleMapper;
+
+ @Autowired
+ private VehicleInfoMapper vehicleInfoMapper;
+
+ @Autowired
+ private SysTaskMapper sysTaskMapper;
/**
* 鏌ヨ浠诲姟杞﹁締鍏宠仈
@@ -255,29 +271,30 @@
@Override
public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType) {
// 鏌ヨ鎸囧畾閮ㄩ棬涓嬬姸鎬佷负姝e父鐨勮溅杈�
- // 杩欓噷闇�瑕佹牴鎹疄闄呯殑杞﹁締淇℃伅琛ㄧ粨鏋勬潵瀹炵幇
- // 鏆傛椂杩斿洖绌哄垪琛紝瀹為檯瀹炵幇闇�瑕侊細
- // 1. 鏌ヨ tb_vehicle_info 琛ㄤ腑 dept_id = deptId 涓� vehicle_status = '0' 鐨勮溅杈�
- // 2. 鎺掗櫎宸茬粡鍒嗛厤缁欏叾浠栨湭瀹屾垚浠诲姟涓旂姸鎬佷负 ACTIVE 鐨勮溅杈�
- // 3. 鏍规嵁浠诲姟绫诲瀷绛涢�夊悎閫傜殑杞﹁締绫诲瀷
-
List<SysTaskVehicle> availableVehicles = new ArrayList<>();
- // TODO: 瀹炵幇鍏蜂綋鐨勬煡璇㈤�昏緫
- // 绀轰緥浠g爜锛�
- // 1. 鏌ヨ杞﹁締淇℃伅
- // List<TbVehicleInfo> vehicles = vehicleInfoMapper.selectAvailableVehiclesByDept(deptId, taskType);
- //
- // 2. 杞崲涓� SysTaskVehicle 瀵硅薄
- // for (TbVehicleInfo vehicle : vehicles) {
- // SysTaskVehicle taskVehicle = new SysTaskVehicle();
- // taskVehicle.setVehicleId(vehicle.getVehicleId());
- // taskVehicle.setVehicleNo(vehicle.getVehicleNo());
- // taskVehicle.setVehicleType(vehicle.getVehicleType());
- // taskVehicle.setVehicleBrand(vehicle.getVehicleBrand());
- // taskVehicle.setVehicleModel(vehicle.getVehicleModel());
- // availableVehicles.add(taskVehicle);
- // }
+ try {
+ // 鏌ヨ杞﹁締淇℃伅
+ VehicleInfo queryParam = new VehicleInfo();
+ queryParam.setDeptId(deptId);
+ queryParam.setStatus("0"); // 0琛ㄧず姝e父鐘舵��
+
+ List<VehicleInfo> vehicles = vehicleInfoMapper.selectVehicleInfoList(queryParam);
+
+ // 杞崲涓� SysTaskVehicle 瀵硅薄
+ for (VehicleInfo vehicle : vehicles) {
+ SysTaskVehicle taskVehicle = new SysTaskVehicle();
+ taskVehicle.setVehicleId(vehicle.getVehicleId());
+ taskVehicle.setVehicleNo(vehicle.getVehicleNo());
+ taskVehicle.setVehicleType(vehicle.getVehicleType());
+ taskVehicle.setVehicleBrand(vehicle.getVehicleBrand());
+ taskVehicle.setVehicleModel(vehicle.getVehicleModel());
+ taskVehicle.setStatus(vehicle.getStatus());
+ availableVehicles.add(taskVehicle);
+ }
+ } catch (Exception e) {
+ logger.error("鏌ヨ鍙敤杞﹁締澶辫触", e);
+ }
return availableVehicles;
}
@@ -298,4 +315,63 @@
taskVehicle.setUpdateTime(DateUtils.getNowDate());
return sysTaskVehicleMapper.updateSysTaskVehicle(taskVehicle);
}
+
+ /**
+ * 鎵归噺鑾峰彇杞﹁締褰撳墠浠诲姟鐘舵��
+ *
+ * @param vehicleIds 杞﹁締ID鍒楄〃
+ * @return Map<杞﹁締ID, Map<"taskCode": 浠诲姟缂栧彿, "taskStatus": 浠诲姟鐘舵��>>
+ */
+ @Override
+ public Map<Long, Map<String, Object>> batchGetVehicleCurrentTaskStatus(List<Long> vehicleIds) {
+ Map<Long, Map<String, Object>> resultMap = new HashMap<>();
+
+ if (vehicleIds == null || vehicleIds.isEmpty()) {
+ return resultMap;
+ }
+
+ try {
+ // 瀵规瘡涓溅杈嗘煡璇㈠叾褰撳墠姝e湪杩涜鐨勪换鍔�
+ for (Long vehicleId : vehicleIds) {
+ if (vehicleId == null) {
+ continue;
+ }
+
+ // 鏌ヨ杞﹁締鐨勬椿璺冧换鍔★紙鏈畬鎴愩�佹湭鍙栨秷鐨勪换鍔★級
+ List<SysTask> activeTasks = sysTaskMapper.selectActiveTasksByVehicleId(vehicleId);
+
+ if (activeTasks != null && !activeTasks.isEmpty()) {
+ // 鍙栫涓�涓椿璺冧换鍔★紙鏈�鏂扮殑锛�
+ SysTask currentTask = activeTasks.get(0);
+
+ Map<String, Object> taskInfo = new HashMap<>();
+ taskInfo.put("taskCode", currentTask.getTaskCode());
+ taskInfo.put("taskStatus", currentTask.getTaskStatus());
+ taskInfo.put("taskId", currentTask.getTaskId());
+
+ resultMap.put(vehicleId, taskInfo);
+ } else {
+ // 娌℃湁娲昏穬浠诲姟
+ resultMap.put(vehicleId, null);
+ }
+ }
+ } catch (Exception e) {
+ logger.error("鎵归噺鏌ヨ杞﹁締浠诲姟鐘舵�佸け璐�", e);
+ }
+
+ return resultMap;
+ }
+
+ /**
+ * 鏇存柊浠诲姟杞﹁締鍏宠仈鐘舵�侊紙鏂版柟娉曪級
+ *
+ * @param id 鍏宠仈ID
+ * @param status 鏂扮姸鎬�
+ * @return 缁撴灉
+ */
+ @Override
+ @Transactional
+ public int updateSysTaskVehicleStatus(Long id, String status) {
+ return updateTaskVehicleStatus(id, status);
+ }
}
--
Gitblit v1.9.1