| | |
| | | return ResultUtil.error("该用户还有未完成的订单", ""); |
| | | } |
| | | Driver driver = driverService.selectById(uid); |
| | | |
| | | DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", uid).eq("status", 1)); |
| | | Order order1 = this.selectOne(new EntityWrapper<Order>().eq("driverId", uid).eq("status", 1).in("state", Arrays.asList(102, 103, 104, 105, 201, 401))); |
| | | Order order = new Order(); |
| | | if(driverWork != null && null == order1){ |
| | | if(driver.getServerStatus().equals(1)){ |
| | | order.setDriverId(driver.getId()); |
| | | order.setState(104); |
| | | }else if(driverWork != null && null == order1){ |
| | | order.setDriverId(uid); |
| | | driver.setServerStatus(2); |
| | | order.setOrderTakingTime(new Date()); |
| | |
| | | } |
| | | order.setCreateTime(new Date()); |
| | | order = getOrderPrice(1, d, 0, order, city); |
| | | if(!driver.getServerStatus().equals(1)) { |
| | | order.setState(null == order.getDriverId() ? 101 : 102); |
| | | order.setStatus(1); |
| | | if(driver.getServerStatus().equals(1)){ |
| | | order.setDriverId(driver.getId()); |
| | | order.setState(105); |
| | | } |
| | | order.setStatus(1); |
| | | |
| | | this.insert(order); |
| | | driverService.updateById(driver); |
| | |
| | | @Override |
| | | public ResultUtil transferOrder(Integer uid, Long orderId, String cause, String phone) throws Exception { |
| | | // 7.13改动 |
| | | Driver driver=null; |
| | | OrderTransfer orderTransfer = new OrderTransfer(); |
| | | Order order = this.selectById(orderId); |
| | | if(phone!=null && !"".equals(phone)) { |
| | | Integer oldId = order.getDriverId(); |
| | | List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("phone", phone)); |
| | | if (drivers.size() == 0) { |
| | | return ResultUtil.error("暂无该司机,无法转单"); |
| | | } else { |
| | | Driver driver = drivers.get(0); |
| | | driver = drivers.get(0); |
| | | if (driver.getServerStatus() != 1) { |
| | | return ResultUtil.error("司机正在服务中,无法转单。"); |
| | | } |
| | |
| | | order.setDriverId(driver.getId()); |
| | | orderTransfer.setNewDriverId(driver.getId()); |
| | | } |
| | | } |
| | | if(order.getDriverId().compareTo(uid) != 0){ |
| | | return ResultUtil.error("无权操作"); |
| | | order.setState(104); |
| | | driver.setServerStatus(2); |
| | | driverService.updateById(driver); |
| | | Driver driver1 = driverService.selectById(oldId); |
| | | driver1.setServerStatus(1); |
| | | driverService.updateById(driver1); |
| | | }else { |
| | | order.setState(201); |
| | | } |
| | | if(order.getState() > 104){ |
| | | return ResultUtil.error("订单不支持转单"); |
| | | } |
| | | order.setOldState(order.getState()); |
| | | order.setState(201); |
| | | |
| | | this.updateById(order); |
| | | |
| | | |
| | |
| | | pushOrder(finalOrder.getId()); |
| | | } |
| | | }).start(); |
| | | }else { |
| | | if(driver!=null){ |
| | | PushOrderInfoWarpper pushOrderInfoWarpper = new PushOrderInfoWarpper(); |
| | | pushOrderInfoWarpper.setId(order.getId()); |
| | | pushOrderInfoWarpper.setState(201); |
| | | pushUtil.pushGrabOrder(driver.getId(), 2, order.getId(),1); |
| | | } |
| | | } |
| | | |
| | | return ResultUtil.success(); |