From b80d4a5cbac9ad9460717b6463819fa784e55ceb Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 28 九月 2025 11:13:10 +0800
Subject: [PATCH] 跨城查询优化

---
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   68 ++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index a7fbc7e..6f0f249 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -52,6 +52,7 @@
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import static com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl.orderIds;
@@ -575,7 +576,7 @@
         orderCrossCity.setEndAddress(endAddress);
         orderCrossCity.setMileage(0D);
         ResultUtil<Map<String, Object>> price = this.getPrice(orderCrossCityWarpper.getDistance(), orderCrossCityWarpper.getPeopleNumber(), orderCrossCityWarpper.getTravelMode(), orderCrossCityWarpper.getLineId(),
-                orderCrossCityWarpper.getServerCarModelId(), orderCrossCityWarpper.getTotalSeat(), orderCrossCityWarpper.getSeatNumber());
+                orderCrossCityWarpper.getServerCarModelId(), orderCrossCityWarpper.getTotalSeat(), null);
         Double money = Double.valueOf(price.getData().get("price").toString());
         orderCrossCity.setOrderMoney(money);
         Integer companyId = driver.getCompanyId();
@@ -584,12 +585,13 @@
         orderCrossCity.setPassengers(userInfo.getNickName());
         orderCrossCity.setPassengersPhone(userInfo.getPhone());
         orderCrossCity.setPeopleNumber(orderCrossCityWarpper.getPeopleNumber());
-        orderCrossCity.setSeatNumber(orderCrossCityWarpper.getSeatNumber());
+//        orderCrossCity.setSeatNumber(orderCrossCityWarpper.getSeatNumber());
         List<OrderCrossCity> orderCrossCities = this.selectList(new EntityWrapper<OrderCrossCity>().eq("orderNum", orderCrossCity.getOrderNum()).eq("isDelete", 1));
         orderCrossCity.setSort(orderCrossCities.size() + 1);
         orderCrossCity.setState(7);//待支付
         orderCrossCity.setInsertTime(new Date());
-        orderCrossCity.setTravelTime(orderCrossCityWarpper.getTravelTime());
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        orderCrossCity.setTravelTime(format.parse(orderCrossCityWarpper.getTravelTime()));
         orderCrossCity.setSnatchOrderTime(new Date());
         orderCrossCity.setTravelMode(orderCrossCityWarpper.getTravelMode());
         orderCrossCity.setOrderSource(orderCrossCityWarpper.getOrderSource());
@@ -637,34 +639,34 @@
             lineShiftDriver.setLaveSeatNumber("");
         }else{//拼车
             lineShiftDriver.setLaveSeat((lineShiftDriver.getLaveSeat() - orderCrossCity.getPeopleNumber()) < 0 ? 0 : lineShiftDriver.getLaveSeat() - orderCrossCity.getPeopleNumber());
-            String[] split = orderCrossCity.getSeatNumber().split(",");
-            String[] split1 = lineShiftDriver.getLaveSeatNumber().split(",");
+//            String[] split = orderCrossCity.getSeatNumber().split(",");
+//            String[] split1 = lineShiftDriver.getLaveSeatNumber().split(",");
             String seatNumber = "";
             //先判断选中座位号和剩余座位号是否匹配
-            for(String spl : split){
-                boolean b = true;
-                for(String sp : split1){
-                    if(ToolUtil.isNotEmpty(spl) && ToolUtil.isNotEmpty(sp) && sp.equals(spl)){
-                        b = false;
-                        break;
-                    }
-                }
-                if(b){
-                    throw new SystemException("您选中的" + spl + "号座位已被占用,请选择其他座位!");
-                }
-            }
-            for(String sp : split1){
-                boolean b = true;
-                for(String spl : split){
-                    if(ToolUtil.isNotEmpty(spl) && ToolUtil.isNotEmpty(sp) && sp.equals(spl)){
-                        b = false;
-                        break;
-                    }
-                }
-                if(b && ToolUtil.isNotEmpty(sp)){
-                    seatNumber += (sp + ",");
-                }
-            }
+//            for(String spl : split){
+//                boolean b = true;
+//                for(String sp : split1){
+//                    if(ToolUtil.isNotEmpty(spl) && ToolUtil.isNotEmpty(sp) && sp.equals(spl)){
+//                        b = false;
+//                        break;
+//                    }
+//                }
+//                if(b){
+//                    throw new SystemException("您选中的" + spl + "号座位已被占用,请选择其他座位!");
+//                }
+//            }
+//            for(String sp : split1){
+//                boolean b = true;
+//                for(String spl : split){
+//                    if(ToolUtil.isNotEmpty(spl) && ToolUtil.isNotEmpty(sp) && sp.equals(spl)){
+//                        b = false;
+//                        break;
+//                    }
+//                }
+//                if(b && ToolUtil.isNotEmpty(sp)){
+//                    seatNumber += (sp + ",");
+//                }
+//            }
             lineShiftDriver.setLaveSeatNumber((ToolUtil.isNotEmpty(seatNumber) && seatNumber.length() > 0) ?
                     seatNumber.substring(0, seatNumber.length() - 1) : "");
         }
@@ -943,7 +945,7 @@
 //            double num8 = Double.valueOf(jsonObject.getString("num8")).doubleValue();
 //            double num9 = Double.valueOf(jsonObject.getString("num9")).doubleValue();
             if(travelMode == 1){//拼车
-                String[] split = seatNumber.split(",");
+//                String[] split = seatNumber.split(",");
 //                boolean b = false;
 //                for(String s : split){
 //                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("5"))
@@ -981,7 +983,7 @@
 //            double num12 = Double.valueOf(jsonObject.getString("num12")).doubleValue();//五十四座系数
             if(travelMode == 1){//拼车
                 double unitPrice = (distance1 * num3 * (num1 / (num2 * num3))) + ((distance1 - num2) * num3 * num4);
-                String[] split = seatNumber.split(",");
+//                String[] split = seatNumber.split(",");
 //                boolean b = false;
 //                for(String s : split){
 //                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("5"))
@@ -1833,6 +1835,10 @@
     public List<OrderCrossCity> queryListOrder(Integer driverId, Integer lineShiftId, List<Integer> state, String day) throws Exception {
         return orderCrossCityMapper.queryListOrder(driverId, lineShiftId, state, day);
     }
+    @Override
+    public int queryCountOrder(Integer driverId, Integer lineShiftId, Integer state, String day){
+        return orderCrossCityMapper.queryCountOrder(driverId, lineShiftId, state, day);
+    }
 
     /**
      * 获取订单编号

--
Gitblit v1.7.1