| | |
| | | } else { |
| | | OrderPrivateCar orderPrivateCar1 = null; |
| | | OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); |
| | | TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId())); |
| | | //判断是否有相同线路的拼车-有直接拼成功,或者推送拼车订单 |
| | | List<OrderPrivateCar> orderList = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("rideType", 3).in("state", "2,3,4").le("totalPeopleNum", 4 - peopleNum)); |
| | | for (OrderPrivateCar order : orderList) { |
| | | TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId())); |
| | | if (spellOrderRule != null) { |
| | | JSONObject jsonObject = JSONObject.parseObject(spellOrderRule.getContent()); |
| | | //判断时间 |
| | | |
| | | if (travelTime.getTime() >= order.getTravelTime().getTime() - jsonObject.getInteger("num5") * 60000L && travelTime.getTime() <= order.getTravelTime().getTime() + jsonObject.getInteger("num6") * 60000L) { |
| | | // Double dis1 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), order.getStartLon() + "," + order.getStartLat(), 1).get("distance").toString()); |
| | | // Double dis2 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), order.getEndLon() + "," + order.getEndLat(), 1).get("distance").toString()); |
| | |
| | | if (orderPrivateCar1 == null) { |
| | | orderList = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("rideType", 3).eq("state", 5).le("totalPeopleNum", 4 - peopleNum)); |
| | | for (OrderPrivateCar order : orderList) { |
| | | TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId())); |
| | | if (spellOrderRule != null) { |
| | | JSONObject jsonObject = JSONObject.parseObject(spellOrderRule.getContent()); |
| | | //判断时间 |
| | |
| | | orderCancelService.saveData(orderPrivateCar1.getId(), 1, "无司机接单", "无司机接单", null, null, 2, 1, uid); |
| | | orderPrivateCar1.setState(10); |
| | | this.updateById(orderPrivateCar1); |
| | | |
| | | Driver driver1 = null; |
| | | Company company = null; |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); |
| | | request.setOrderId(orderPrivateCar1.getTravelId()); |
| | | request.setStatus(orderPrivateCar1.getState()); |
| | | if (null != orderPrivateCar1.getDriverId()) { |
| | | driver1 = driverService.selectById(orderPrivateCar1.getDriverId()); |
| | | company = companyService.selectById(driver1.getCompanyId()); |
| | | request.setDriverId(driver1.getEmpId().toString()); |
| | | request.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == orderPrivateCar1.getPromotion()) { |
| | | Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId()); |
| | | request.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request); |
| | | } |
| | | List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace())); |
| | | for (OrderTaxi orderTaxi : list1) { |
| | | orderCancelService.saveData(orderTaxi.getId(), 2, "无司机接单", "无司机接单", null, null, 2, 1, uid); |
| | | orderTaxi.setState(10); |
| | | orderTaxiService.updateById(orderTaxi); |
| | | |
| | | Driver driver1 = null; |
| | | Company company = null; |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); |
| | | request.setOrderId(orderTaxi.getTravelId()); |
| | | request.setStatus(orderTaxi.getState()); |
| | | if (null != orderTaxi.getDriverId()) { |
| | | driver1 = driverService.selectById(orderTaxi.getDriverId()); |
| | | company = companyService.selectById(driver1.getCompanyId()); |
| | | request.setDriverId(driver1.getEmpId().toString()); |
| | | request.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == orderTaxi.getPromotion()) { |
| | | Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId()); |
| | | request.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request); |
| | | } |
| | | } else { |
| | | integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid); |
| | | orderPrivateCar.setState(10); |
| | | this.updateById(orderPrivateCar); |
| | | |
| | | Driver driver1 = null; |
| | | Company company = null; |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); |
| | | request.setOrderId(orderPrivateCar.getTravelId()); |
| | | request.setStatus(orderPrivateCar.getState()); |
| | | if (null != orderPrivateCar.getDriverId()) { |
| | | driver1 = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | company = companyService.selectById(driver1.getCompanyId()); |
| | | request.setDriverId(driver1.getEmpId().toString()); |
| | | request.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == orderPrivateCar.getPromotion()) { |
| | | Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); |
| | | request.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | if(orderPrivateCar.getTravelId()!=null){ |
| | | OrderUtil.modifyTravelItinerary(request); |
| | | } |
| | | } |
| | | } else { |
| | | OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); |
| | |
| | | if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){ |
| | | map.put("state", map.get("oldState")); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("state"))) ==7 && (map.get("responsibilityType")==null || Integer.valueOf(String.valueOf(map.get("responsibilityType")))<4)){ |
| | | map.put("appealButton", 1); |
| | | } |
| | | if(map.get("abnormalIntro")!=null){ |
| | | map.put("appealStatus", 1); |
| | | } |
| | | |
| | | |
| | | |
| | | if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){ |
| | | map.put("redPacketMoney", null); |
| | | map.put("couponMoney", null); |
| | |
| | | OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数 |
| | | int time = 0; |
| | | for (int i = 1; i <= querys.size() + 5; i++) { |
| | | for (int i = 1; i <= querys.size() + 15; i++) { |
| | | int finalI = i; |
| | | PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); |
| | | time += pushOrder.getPushTime() * 1000; |
| | |
| | | OpenCity openCity = openCityService.openCity1(startLon.toString(), startLat.toString()); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数 |
| | | //整轮派单结束,若无司机接单,系统自动增加派单5轮,若增加5轮后任无司机接单,则系统结束派单,乘客端显示无司机接单、是否再次打车 |
| | | for (int i = 1; i <= querys.size() + 5; i++) { |
| | | for (int i = 1; i <= querys.size() + 15; i++) { |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id); |
| | | if (null == orderPrivateCar || orderPrivateCar.getState() > 1) { |
| | | break; |
| | |
| | | } |
| | | } |
| | | Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 |
| | | Integer state = orderPrivateCarMapper.selectById(orderPrivateCar.getId()).getState(); |
| | | OrderPrivateCar orderPrivateCar1 = orderPrivateCarMapper.selectById(orderPrivateCar.getId()); |
| | | Integer state =orderPrivateCar1.getState(); |
| | | if (state > 1) { |
| | | orderIds.remove(orderPrivateCar.getId()); |
| | | break; |
| | | } |
| | | if (i == querys.size() + 5) { |
| | | if (i == querys.size() + 15) { |
| | | orderPrivateCar1.setState(10); |
| | | orderPrivateCarMapper.updateById(orderPrivateCar1); |
| | | pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); |
| | | orderIds.remove(orderPrivateCar.getId()); |
| | | } |
| | |
| | | } |
| | | OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数 |
| | | for (int i = 1; i <= querys.size() + 5; i++) { |
| | | for (int i = 1; i <= querys.size() + 15; i++) { |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id); |
| | | if (null == orderPrivateCar || orderPrivateCar.getState() > 1) { |
| | | break; |
| | |
| | | orderIds.remove(orderPrivateCar.getId()); |
| | | return; |
| | | } |
| | | if (i == querys.size() + 5 && state == 1) { |
| | | if (i == querys.size() + 15 && state == 1) { |
| | | pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); |
| | | orderIds.remove(orderPrivateCar.getId()); |
| | | } |