| | |
| | | * @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("请输入正确的乘车人数"); |
| | | } |
| | | |
| | |
| | | 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(); |
| | | 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"))){ |
| | | 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; |
| | | } |
| | | } |
| | | double price1 = 0D; |
| | | if(b){ |
| | | price1 = num1 * (totalSeat == 4 ? num3 : num4); |
| | | 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; |
| | | } |
| | | double price = (num1 * peopleNumber) + price1; |
| | |
| | | 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();//五十六座系数 |
| | | 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"))){ |
| | | 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; |
| | | } |
| | | } |
| | | double price1 = 0D; |
| | | if(b){ |
| | | price1 = unitPrice * (totalSeat == 4 ? num6 : num7); |
| | | 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; |
| | | } |
| | | double price = (unitPrice * peopleNumber) + price1; |