xuhy
3 天以前 eb2df7a2d179ba17c591941c8272624844ff9f1f
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) : "");
        }
@@ -935,31 +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 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();
            double num10 = Double.valueOf(jsonObject.getString("num10")).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("5"))
                        || (totalSeat == 18 && s.equals("7"))|| (totalSeat == 28 && s.equals("7"))
                        || (totalSeat == 35 && s.equals("7"))|| (totalSeat == 37 && s.equals("7"))
                        || (totalSeat == 53 && s.equals("7"))|| (totalSeat == 55 && 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 : totalSeat == 6  ? num4 : totalSeat == 18 ? num5 : totalSeat == 28 ? num6 : totalSeat == 35 ? num7 : totalSeat == 37 ? num8 : totalSeat == 53 ? num9 : num10);
                    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{
@@ -973,32 +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 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();//五十四座系数
            double num13 = Double.valueOf(jsonObject.getString("num13")).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"))
                    || (totalSeat == 18 && s.equals("7"))|| (totalSeat == 28 && s.equals("7"))
                    || (totalSeat == 35 && s.equals("7"))|| (totalSeat == 37 && s.equals("7"))
                    || (totalSeat == 53 && s.equals("7"))|| (totalSeat == 55 && 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 = unitPrice * (totalSeat == 4 ? num6 : totalSeat == 6 ? num7 : totalSeat == 18 ? num8 : totalSeat == 28 ? num9 : totalSeat == 35 ? num10 : totalSeat == 37 ? num11 : totalSeat == 53 ? num12 : num13);
                    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{