From a5b842f1f6ab32f1af39f4bcb7e45217e94db761 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 25 十月 2025 18:14:44 +0800
Subject: [PATCH] fix:完成任务状态,任务同步,高度同步等工作

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java |   78 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
index c40b283..d524b96 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
@@ -1,8 +1,11 @@
 package com.ruoyi.system.service.impl;
 
 import java.util.List;
+import java.util.Date;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.mapper.VehicleInfoMapper;
 import com.ruoyi.system.domain.VehicleInfo;
 import com.ruoyi.system.service.IVehicleInfoService;
@@ -17,6 +20,9 @@
 
     /**
      * 鏌ヨ杞﹁締淇℃伅
+     * 
+     * @param vehicleId 杞﹁締淇℃伅涓婚敭
+     * @return 杞﹁締淇℃伅
      */
     @Override
     public VehicleInfo selectVehicleInfoById(Long vehicleId) {
@@ -24,7 +30,21 @@
     }
 
     /**
+     * 閫氳繃杞︾墝鍙锋煡璇㈣溅杈嗕俊鎭�
+     * 
+     * @param plateNumber 杞︾墝鍙�
+     * @return 杞﹁締淇℃伅
+     */
+    @Override
+    public VehicleInfo selectVehicleInfoByPlateNumber(String plateNumber) {
+        return vehicleInfoMapper.selectVehicleInfoByPlateNumber(plateNumber);
+    }
+
+    /**
      * 鏌ヨ杞﹁締淇℃伅鍒楄〃
+     * 
+     * @param vehicleInfo 杞﹁締淇℃伅
+     * @return 杞﹁締淇℃伅
      */
     @Override
     public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo) {
@@ -33,6 +53,9 @@
 
     /**
      * 鏂板杞﹁締淇℃伅
+     * 
+     * @param vehicleInfo 杞﹁締淇℃伅
+     * @return 缁撴灉
      */
     @Override
     public int insertVehicleInfo(VehicleInfo vehicleInfo) {
@@ -41,6 +64,9 @@
 
     /**
      * 淇敼杞﹁締淇℃伅
+     * 
+     * @param vehicleInfo 杞﹁締淇℃伅
+     * @return 缁撴灉
      */
     @Override
     public int updateVehicleInfo(VehicleInfo vehicleInfo) {
@@ -49,6 +75,9 @@
 
     /**
      * 鎵归噺鍒犻櫎杞﹁締淇℃伅
+     * 
+     * @param vehicleIds 闇�瑕佸垹闄ょ殑杞﹁締淇℃伅涓婚敭
+     * @return 缁撴灉
      */
     @Override
     public int deleteVehicleInfoByIds(Long[] vehicleIds) {
@@ -57,9 +86,58 @@
 
     /**
      * 鍒犻櫎杞﹁締淇℃伅淇℃伅
+     * 
+     * @param vehicleId 杞﹁締淇℃伅涓婚敭
+     * @return 缁撴灉
      */
     @Override
     public int deleteVehicleInfoById(Long vehicleId) {
         return vehicleInfoMapper.deleteVehicleInfoById(vehicleId);
     }
+    
+    /**
+     * 缁戝畾杞﹁締鍒扮敤鎴�
+     * 
+     * @param userId 鐢ㄦ埛ID
+     * @param vehicleId 杞﹁締ID
+     * @return 缁撴灉
+     */
+    @Override
+    @Transactional
+    public int bindVehicleToUser(Long userId, Long vehicleId) {
+        // 鍏堣В缁戠敤鎴风殑鎵�鏈夎溅杈嗭紙涓氬姟閫昏緫锛氫竴涓敤鎴峰悓鏃跺彧鑳界粦瀹氫竴杈嗚溅锛�
+        vehicleInfoMapper.unbindAllVehiclesFromUser(userId);
+        
+        // 缁戝畾鏂拌溅杈�
+        String bindBy = "";
+        try {
+            bindBy = SecurityUtils.getUsername();
+        } catch (Exception e) {
+            // 濡傛灉鑾峰彇褰撳墠鐢ㄦ埛澶辫触锛屼娇鐢ㄧ┖瀛楃涓�
+        }
+        return vehicleInfoMapper.bindVehicleToUser(userId, vehicleId, bindBy);
+    }
+    
+    /**
+     * 瑙g粦鐢ㄦ埛杞﹁締
+     * 
+     * @param userId 鐢ㄦ埛ID
+     * @param vehicleId 杞﹁締ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int unbindVehicleFromUser(Long userId, Long vehicleId) {
+        return vehicleInfoMapper.unbindVehicleFromUser(userId, vehicleId);
+    }
+    
+    /**
+     * 鑾峰彇鐢ㄦ埛褰撳墠缁戝畾鐨勮溅杈�
+     * 
+     * @param userId 鐢ㄦ埛ID
+     * @return 杞﹁締淇℃伅
+     */
+    @Override
+    public VehicleInfo getUserBoundVehicle(Long userId) {
+        return vehicleInfoMapper.getUserBoundVehicle(userId);
+    }
 } 
\ No newline at end of file

--
Gitblit v1.9.1