From 59e3a93e27627653dd049bb9653716f421e027a3 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 24 十二月 2024 19:00:53 +0800 Subject: [PATCH] 修改bug --- DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index 0f5b672..75f4a3a 100644 --- a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -9,6 +9,10 @@ import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.JwtTokenUtil; import com.stylefeng.guns.core.util.ToolUtil; +import com.stylefeng.guns.modular.crossCity.dao.LinePriceMapper; +import com.stylefeng.guns.modular.crossCity.model.DriverLine; +import com.stylefeng.guns.modular.crossCity.model.LinePrice; +import com.stylefeng.guns.modular.crossCity.server.IDriverLineService; import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; import com.stylefeng.guns.modular.system.dao.*; @@ -34,6 +38,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service @@ -134,6 +139,12 @@ private Map<String, Long> loginTime = new HashMap<>();//登录时间 private Map<String, Integer> loginFailures = new HashMap<>();//登录失败次数 + + @Autowired + private IDriverLineService driverLineService; + + @Resource + private LinePriceMapper linePriceMapper; @@ -863,8 +874,36 @@ } boolean idle = carService.idle(carId); if(!idle){ + return ResultUtil.error("车辆正在服务中"); + } + Integer integer1 = driverMapper.selectCount(new EntityWrapper<Driver>().eq("carId", carId).eq("authState", 2).ne("flag", 3)); + if(integer1 > 0){ return ResultUtil.error("车辆已被绑定了"); } + ///判断车辆车型是否与实际关联线路需要的车型匹配 + Integer integer = driverServiceMapper.selectCount(new EntityWrapper<DriverService>().eq("driverId", uid).eq("type", 3)); + if(integer > 0){ + CarService carService1 = new CarService(); + carService1.setCarId(carId); + carService1.setType(3); + CarService carService2 = carServiceMapper.selectOne(carService1); + if(null == carService2){ + return ResultUtil.error("当前车辆不能运营城际业务"); + } + Integer serverCarModelId = carService2.getServerCarModelId(); + List<DriverLine> driverLines = driverLineService.selectList(new EntityWrapper<DriverLine>().eq("driverId", uid)); + List<Integer> collect = driverLines.stream().map(DriverLine::getLineId).collect(Collectors.toList()); + if(collect.size() == 0){ + return ResultUtil.error("司机还未关联线路"); + } + List<LinePrice> linePrices = linePriceMapper.selectList(new EntityWrapper<LinePrice>().in("lineId", collect).eq("state", 1)); + for (LinePrice linePrice : linePrices) { + if(!linePrice.getServerCarModelId().equals(serverCarModelId)){ + return ResultUtil.error("当前车辆的城际业务车型与司机关联线路的车型不一致"); + } + } + } + driver.setCarId(carId); this.updateById(driver); return ResultUtil.success(); -- Gitblit v1.7.1