Pu Zhibing
15 小时以前 dc3cfaa745eb7303e312ce7ba61a7019e5f12e4b
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -398,7 +398,7 @@
                        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) {
                           String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(order.getDriverId()));
                           String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(order.getDriverId()));
                           //                            Double dis1 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1).get("distance").toString());
                           //                            Double dis2 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), order.getEndLon() + "," + order.getEndLat(), 1).get("distance").toString());
                           
@@ -638,14 +638,13 @@
               } 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());
@@ -663,12 +662,11 @@
                  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());
                           //判断时间
                           if (travelTime.getTime() >= order.getTravelTime().getTime() - jsonObject.getInteger("num5") * 60000L && travelTime.getTime() <= order.getTravelTime().getTime() + jsonObject.getInteger("num6") * 60000L) {
                              String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(order.getDriverId()));
                              String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(order.getDriverId()));
                              //                            Double dis1 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1).get("distance").toString());
                              //                            Double dis2 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), order.getEndLon() + "," + order.getEndLat(), 1).get("distance").toString());
                              
@@ -869,7 +867,7 @@
                     JSONObject jsonObject = JSONObject.parseObject(spellOrderRule.getContent());
                     //判断时间
                     if (orderPrivateCar.getTravelTime().getTime() >= order.getTravelTime().getTime() - jsonObject.getInteger("num5") * 60000L && orderPrivateCar.getTravelTime().getTime() <= order.getTravelTime().getTime() + jsonObject.getInteger("num6") * 60000L) {
                        String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(order.getDriverId()));
                        String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(order.getDriverId()));
//                                Double dis1 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1).get("distance").toString());
//                                Double dis2 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), order.getEndLon() + "," + order.getEndLat(), 1).get("distance").toString());
                        // TODO: 2023/11/4 已改成计算直线距离
@@ -1000,73 +998,17 @@
               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());
@@ -1279,14 +1221,10 @@
      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);
@@ -1311,7 +1249,7 @@
         return orderTaxiService.queryOrderServer(orderId, uid);
      }
      //计算预计距离和剩余时间
      String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
      String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
      if(null == value || "".equals(value)){
         System.err.println("司机没有上传位置信息");
         
@@ -2874,12 +2812,15 @@
                     }
                  }
                  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() + 15) {
                     orderPrivateCar1.setState(10);
                     orderPrivateCarMapper.updateById(orderPrivateCar1);
                     pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
                     orderIds.remove(orderPrivateCar.getId());
                  }