| | |
| | | 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){ |
| | |
| | | BigDecimal subtract = new BigDecimal(num9).subtract(new BigDecimal(add)); |
| | | order.setOverBadWeatherPrice(subtract.doubleValue());//恶劣天气超出公里费 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * @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("无权操作"); |
| | | } |
| | |
| | | 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(); |
| | | } |
| | | |