Pu Zhibing
15 小时以前 ab564273ec5349d3dd3f71049a4c2738f8b9ebc6
修改bug
4个文件已修改
72 ■■■■■ 已修改文件
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -74,10 +74,11 @@
        select
            a.id as id,
            CONCAT(a.carLicensePlate, '-',c.`name`, b.`name`, ' ', a.carColor) as name,
            a.useDriverId as useDriverId
            d.id as useDriverId
        from t_car a
                 left join t_car_model b on (a.carModelId = b.id)
                 left join t_car_brand c on (b.brandId = c.id)
        left join t_car_model b on (a.carModelId = b.id)
        left join t_car_brand c on (b.brandId = c.id)
        left join t_driver d on (a.id = d.carId)
        where a.state = 1 and find_in_set(#{id},a.bindDriverId)
    </select>
</mapper>
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;
@@ -35,6 +32,9 @@
    @Autowired
    private IDriverService driverService;
    @Autowired
    private DriverWorkMapper driverWorkMapper;
@@ -62,14 +62,18 @@
        }
        List<Map<String, Object>> list = carMapper.queryIdleDataFromId(driver.getId());
//        List<Map<String, Object>> list = carMapper.queryIdleData(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
//                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        for (Map<String, Object> stringObjectMap : list) {
            // 1使用中 2空闲中
            if(stringObjectMap.get("useDriverId")!=null){
                stringObjectMap.put("useState", 1);
            }else {
            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);
@@ -162,13 +166,15 @@
    @Override
    public boolean useState(Integer carId, Integer uid) {
        Car car = carMapper.selectById(carId);
        if(car.getUseDriverId()!=null && !car.getUseDriverId().equals(uid)){
            return false;
        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 true;
        return false;
    }
    @Override
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -932,14 +932,20 @@
        if(driver.getState() == 3){
            return ResultUtil.error("还在服务中,不能更换");
        }
//        boolean idle = carService.idle(carId);
        // 修改是否别司机在使用
        boolean idle = carService.useState(carId,uid);
        if(!idle){
        if(idle){
            return ResultUtil.error("当前车辆已经有其他司机在使用,请更换车辆");
        }
        // 将所有绑定他的车 =null
        carService.updateUseState(carId,uid);
        List<Driver> drivers = this.selectList(new EntityWrapper<Driver>().eq("carId", carId)
                .eq("authState", 2).ne("flag", 3));
        drivers.forEach(d->{
            d.setCarId(null);
        });
        if(drivers.size() > 0){
            this.updateAllColumnBatchById(drivers);
        }
        Car car = carService.selectById(carId);
        car.setUseDriverId(uid);
        carService.updateById( car);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -386,9 +386,15 @@
                }
                break;
            case 2://出租
                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                if(null != orderPrivateCar && orderPrivateCar.getType() == 3){
                    map = orderPrivateCarService.queryPushOrder(orderId);
                OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                if(null != orderTaxi && orderTaxi.getType() == 2){
                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                    if(null != orderPrivateCar && orderPrivateCar.getType() == 3){
                        map = orderPrivateCarService.queryPushOrder(orderId);
                    }else{
                        map = orderTaxiService.queryPushOrder(orderId);
                    }
                }else{
                    map = orderTaxiService.queryPushOrder(orderId);
                }
@@ -396,9 +402,7 @@
                // TODO: 2023/11/4 无法修改
                String distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order1, 1).get("distance");
                map.put("startDistance", ToolUtil.isNotEmpty(distance1) ? Double.valueOf(distance1) / 1000 : 0);
                //总距离
                String end1 = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
                if(end1.equals(",")){
                    map.put("totalDistance", 0);
@@ -413,7 +417,6 @@
                    }
                }
                Integer orderSource1 = Integer.valueOf(String.valueOf(map.get("orderSource")));
                if(orderSource1 == 1 || orderSource1 == 2 || orderSource1 == 3){