From d6ad5bd0c95b6ebe6361d74ff297d1a9f4b759fa Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 21 八月 2025 20:19:56 +0800
Subject: [PATCH] 修改bug

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java |   70 ++++++++++++++++++++++++++++------
 1 files changed, 57 insertions(+), 13 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
index 852035d..380c118 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -2,10 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.stylefeng.guns.modular.system.dao.CarBrandMapper;
-import com.stylefeng.guns.modular.system.dao.CarMapper;
-import com.stylefeng.guns.modular.system.dao.CarModelMapper;
-import com.stylefeng.guns.modular.system.dao.CompanyMapper;
+import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.ICarService;
 import com.stylefeng.guns.modular.system.service.IDriverService;
@@ -14,7 +11,6 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 
 
@@ -36,6 +32,9 @@
     @Autowired
     private IDriverService driverService;
 
+    @Autowired
+    private DriverWorkMapper driverWorkMapper;
+
 
 
 
@@ -48,16 +47,36 @@
     @Override
     public Map<String, Object> queryCars(Integer uid) throws Exception {
         Driver driver = driverService.selectById(uid);
-        List<Map<String, Object>> list = carMapper.queryIdleData(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
-                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
         Map<String, Object> map = new HashMap<>();
-        map.put("list", list);
-        Map<String, Object> map1 = driverService.queryInfo(uid);
-        if(null == map1.get("licensePlate")){
-            map.put("car", "");
-        }else{
-            map.put("car", map1.get("licensePlate") + "-" + map1.get("brand") + " " + map1.get("carColor"));
+
+        Integer carId = driver.getCarId();
+        map.put("car", "");
+        map.put("id", carId);
+        if(carId!=null){
+            Car car = carMapper.selectById(carId);
+            if(car.getCarLicensePlate()!=null){
+                CarBrand carBrand = carBrandMapper.selectById(car.getCarBrandId());
+                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                map.put("car", car.getCarLicensePlate()+"-" + carBrand.getName() +carModel.getName()+ " " + car.getCarColor());
+            }
         }
+
+        List<Map<String, Object>> list = carMapper.queryIdleDataFromId(driver.getId());
+        for (Map<String, Object> stringObjectMap : list) {
+            // 1使用中 2空闲中
+            if(null == stringObjectMap.get("useDriverId")){
+                stringObjectMap.put("useState", 2);
+            }else{
+                Integer driverId = Integer.valueOf(stringObjectMap.get("useDriverId").toString());
+                DriverWork driverWork = driverWorkMapper.queryNewWork(driverId, null, 1);
+                if(null == driverWork){
+                    stringObjectMap.put("useState", 2);
+                }else{
+                    stringObjectMap.put("useState", 1);
+                }
+            }
+        }
+        map.put("list", list);
         return map;
     }
 
@@ -144,4 +163,29 @@
         this.insert(car);
         return ResultUtil.success();
     }
+
+    @Override
+    public boolean useState(Integer carId, Integer uid) {
+        List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("carId", carId)
+                .eq("authState", 2).ne("flag", 3));
+        for (Driver driver : drivers) {
+            DriverWork driverWork = driverWorkMapper.queryNewWork(driver.getId(), null, 1);
+            if(null != driverWork){
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public void updateUseState(Integer carId, Integer uid) {
+        carMapper.updateUseState(uid);
+        Car car = carMapper.selectById(carId);
+        car.setUseDriverId(uid);
+        this.baseMapper.updateById(car);
+    }
+    @Override
+    public void updateUseState(Integer uid) {
+        carMapper.updateUseState(uid);
+    }
 }

--
Gitblit v1.7.1