| | |
| | | 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(); |
| | |
| | | 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);//待支付 |
| | |
| | | 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) : ""); |
| | | } |
| | |
| | | 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 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("16"))|| (totalSeat == 28 && s.equals("26")) |
| | | || (totalSeat == 31 && s.equals("29"))|| (totalSeat == 35 && s.equals("33")) |
| | | || (totalSeat == 53 && s.equals("51"))){ |
| | | 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 == 31 ? num7 : totalSeat == 35 ? num8 : num9); |
| | | 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{ |
| | |
| | | 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 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("16"))|| (totalSeat == 28 && s.equals("26")) |
| | | || (totalSeat == 31 && s.equals("29"))|| (totalSeat == 35 && s.equals("33")) |
| | | || (totalSeat == 53 && s.equals("51"))){ |
| | | 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 == 31 ? num10 : totalSeat == 35 ? num11 : num12); |
| | | 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{ |