From 57ace2e2e90f36ba2df2465f0b1b6b1b9e931e88 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 09 七月 2025 15:20:05 +0800
Subject: [PATCH] 跨城修改座位

---
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |  130 ++++++++++++++++++++++++-------------------
 1 files changed, 73 insertions(+), 57 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 05bf746..1f6387d 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
@@ -575,7 +575,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,7 +584,7 @@
         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);//待支付
@@ -637,34 +637,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) : "");
         }
@@ -910,7 +910,7 @@
      * @return
      */
     public ResultUtil<Map<String, Object>> getPrice(Double distance, Integer peopleNumber, Integer travelMode, Integer lineId, Integer serverCarModelId, Integer totalSeat, String seatNumber){
-        if(0 >= peopleNumber && peopleNumber > 6){
+        if(0 >= peopleNumber && peopleNumber > 56){
             return ResultUtil.error("请输入正确的乘车人数");
         }
 
@@ -935,22 +935,30 @@
         if(Integer.valueOf(query.get("type").toString()) == 1){//固定金额
             double num1 = Double.valueOf(jsonObject.getString("num1")).doubleValue();
             double num2 = Double.valueOf(jsonObject.getString("num2")).doubleValue();
-            double num3 = Double.valueOf(jsonObject.getString("num3")).doubleValue();
-            double num4 = Double.valueOf(jsonObject.getString("num4")).doubleValue();
+//            double num3 = Double.valueOf(jsonObject.getString("num3")).doubleValue();
+//            double num4 = Double.valueOf(jsonObject.getString("num4")).doubleValue();
+//            double num5 = Double.valueOf(jsonObject.getString("num5")).doubleValue();
+//            double num6 = Double.valueOf(jsonObject.getString("num6")).doubleValue();
+//            double num7 = Double.valueOf(jsonObject.getString("num7")).doubleValue();
+//            double num8 = Double.valueOf(jsonObject.getString("num8")).doubleValue();
+//            double num9 = Double.valueOf(jsonObject.getString("num9")).doubleValue();
             if(travelMode == 1){//拼车
-                String[] split = seatNumber.split(",");
-                boolean b = false;
-                for(String s : split){
-                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("7"))){
-                        b = true;
-                        break;
-                    }
-                }
+//                String[] split = seatNumber.split(",");
+//                boolean b = false;
+//                for(String s : split){
+//                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("5"))
+//                            || (totalSeat == 18 && s.equals("16"))|| (totalSeat == 28 && s.equals("26"))
+//                            || (totalSeat == 31 && s.equals("29"))|| (totalSeat == 35 && s.equals("33"))
+//                            || (totalSeat == 53 && s.equals("51"))){
+//                        b = true;
+//                        break;
+//                    }
+//                }
                 double price1 = 0D;
-                if(b){
-                    price1 = num1 * (totalSeat == 4 ? num3 : num4);
-                    peopleNumber -= 1;
-                }
+//                if(b){
+//                    price1 = num1 * (totalSeat == 4 ? num3 : totalSeat == 6  ? num4 : totalSeat == 18 ? num5 : totalSeat == 28 ? num6 : totalSeat == 31 ? num7 : totalSeat == 35 ? num8 : num9);
+//                    peopleNumber -= 1;
+//                }
                 double price = (num1 * peopleNumber) + price1;
                 map.put("price", new BigDecimal(price).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             }else{
@@ -964,23 +972,31 @@
             double num3 = Double.valueOf(jsonObject.getString("num3")).doubleValue();//基础单价
             double num4 = Double.valueOf(jsonObject.getString("num4")).doubleValue();//优惠系数
             double num5 = Double.valueOf(jsonObject.getString("num5")).doubleValue();//包车系数
-            double num6 = Double.valueOf(jsonObject.getString("num6")).doubleValue();//五座系数
-            double num7 = Double.valueOf(jsonObject.getString("num7")).doubleValue();//七座系数
+//            double num6 = Double.valueOf(jsonObject.getString("num6")).doubleValue();//五座系数
+//            double num7 = Double.valueOf(jsonObject.getString("num7")).doubleValue();//七座系数
+//            double num8 = Double.valueOf(jsonObject.getString("num8")).doubleValue();//十九座系数
+//            double num9 = Double.valueOf(jsonObject.getString("num9")).doubleValue();//二十九座系数
+//            double num10 = Double.valueOf(jsonObject.getString("num10")).doubleValue();//三十二座系数
+//            double num11 = Double.valueOf(jsonObject.getString("num11")).doubleValue();//三十六座系数
+//            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(",");
-                boolean b = false;
-                for(String s : split){
-                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("5"))){
-                        b = true;
-                        break;
-                    }
-                }
+//                String[] split = seatNumber.split(",");
+//                boolean b = false;
+//                for(String s : split){
+//                    if((totalSeat == 4 && s.equals("3")) || (totalSeat == 6 && s.equals("5"))
+//                            || (totalSeat == 18 && s.equals("16"))|| (totalSeat == 28 && s.equals("26"))
+//                            || (totalSeat == 31 && s.equals("29"))|| (totalSeat == 35 && s.equals("33"))
+//                            || (totalSeat == 53 && s.equals("51"))){
+//                        b = true;
+//                        break;
+//                    }
+//                }
                 double price1 = 0D;
-                if(b){
-                    price1 = unitPrice * (totalSeat == 4 ? num6 : num7);
-                    peopleNumber -= 1;
-                }
+//                if(b){
+//                    price1 = unitPrice * (totalSeat == 4 ? num6 : totalSeat == 6 ? num7 : totalSeat == 18 ? num8 : totalSeat == 28 ? num9 : totalSeat == 31 ? num10 : totalSeat == 35 ? num11 : num12);
+//                    peopleNumber -= 1;
+//                }
                 double price = (unitPrice * peopleNumber) + price1;
                 map.put("price", new BigDecimal(price).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             }else{

--
Gitblit v1.7.1