From 8e9440ea0a09fc6d9cea1c205904c51ccbf62a2a Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 24 七月 2023 15:07:53 +0800 Subject: [PATCH] 超省2.0 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java index 583abd5..50e673a 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java @@ -316,8 +316,6 @@ JSONObject jsonObject1 = JSON.parseObject(systemConfig.getContent()); Integer num11 = jsonObject1.getInteger("num1");//开启恶劣天气计价 if(1 == num11){ - boolean badWeather = WeatherUtil.isBadWeather(city); - if(badWeather){ order.setBadWeatherDistance(num5);//恶劣天气公里 order.setBadWeatherPrice(num6);//恶劣天气费 if(distance.compareTo(num7) > 0){ @@ -336,7 +334,6 @@ BigDecimal subtract = new BigDecimal(num9).subtract(new BigDecimal(add)); order.setOverBadWeatherPrice(subtract.doubleValue());//恶劣天气超出公里费 } - } } } } @@ -966,8 +963,26 @@ * @throws Exception */ @Override - public ResultUtil transferOrder(Integer uid, Long orderId, String cause) throws Exception { + public ResultUtil transferOrder(Integer uid, Long orderId, String cause,String phone) throws Exception { + // 7.13改动 + OrderTransfer orderTransfer = new OrderTransfer(); Order order = this.selectById(orderId); + if(phone!=null && !"".equals(phone)) { + List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("phone", phone)); + if (drivers.size() == 0) { + return ResultUtil.error("暂无该司机,无法转单"); + } else { + Driver driver = drivers.get(0); + if (driver.getServerStatus() != 1) { + return ResultUtil.error("司机正在服务中,无法转单。"); + } + if (driver.getStatus() != 1) { + return ResultUtil.error("该司机已被冻结,无法转单。"); + } + order.setDriverId(driver.getId()); + orderTransfer.setNewDriverId(driver.getId()); + } + } if(order.getDriverId().compareTo(uid) != 0){ return ResultUtil.error("无权操作"); } @@ -978,22 +993,24 @@ order.setState(201); this.updateById(order); - OrderTransfer orderTransfer = new OrderTransfer(); + orderTransfer.setOrderId(orderId); orderTransfer.setOldDriverId(order.getDriverId()); orderTransfer.setCause(cause); orderTransfer.setStatus(1); orderTransfer.setCreateTime(new Date()); orderTransferService.insert(orderTransfer); + if(phone==null ||"".equals(phone)){ + //开始派单 + Order finalOrder = order; + new Thread(new Runnable() { + @Override + public void run() { + pushOrder(finalOrder); + } + }).start(); + } - //开始派单 - Order finalOrder = order; - new Thread(new Runnable() { - @Override - public void run() { - pushOrder(finalOrder); - } - }).start(); return ResultUtil.success(); } -- Gitblit v1.7.1