Commit 100ce890 authored by hezhen's avatar hezhen

Merge branch 'master-chw-price' into dev-chw

parents 9ec039fe f0edb061
......@@ -1664,10 +1664,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleDaysPrice.setPriceJson(jsonObject.getString("priceList"));
vehicleDaysPrice.setStatus(jsonObject.getInteger("status"));
vehicleDaysPriceBiz.addOrUpd(vehicleDaysPrice);
BigDecimal vehiclePrice = vehicleDaysPriceBiz.getVehiclePrice(vehicleId, 0);
if (vehiclePrice != null && vehiclePrice.compareTo(BigDecimal.ZERO) > 0){
Vehicle vehiclePrice = vehicleDaysPriceBiz.getVehiclePrice(vehicleId, 0);
if (vehiclePrice != null ){
Vehicle vehicle = new Vehicle();
vehicle.setPrice(vehiclePrice);
vehicle.setPrice(vehiclePrice.getPrice());
vehicle.setHolidayPrice(vehiclePrice.getHolidayPrice());
vehicle.setId(vehicleId);
updateSelectiveById(vehicle);
}
......
......@@ -72,25 +72,29 @@ public class VehicleDaysPriceBiz extends BaseBiz<VehicleDaysPriceMapper, Vehicle
return priceVos;
}
public BigDecimal getVehiclePrice(String vehicleId,Integer days){
public Vehicle getVehiclePrice(String vehicleId,Integer days){
Vehicle vehicle = vehicleBiz.selectById(vehicleId);
List<VehicleDaysPriceVo> priceVos = getListByVehicleId(vehicleId);
BigDecimal price = BigDecimal.ZERO;
BigDecimal price = vehicle.getPrice();
BigDecimal maxPrice = vehicle.getHolidayPrice();
if (priceVos != null && priceVos.size() > 0){
VehicleDaysPriceVo vehicleDaysPriceVo;
VehicleDaysPriceVo maxVehicleDaysPriceVo;
if (days == null || days == 0){
vehicleDaysPriceVo = priceVos.stream().min(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
maxVehicleDaysPriceVo = priceVos.stream().max(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
}else {
vehicleDaysPriceVo = priceVos.stream().filter(x -> x.getStartDay() <= days && (x.getEndDay() == -1 || x.getEndDay() >= days)).min(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
maxVehicleDaysPriceVo = priceVos.stream().filter(x -> x.getStartDay() <= days && (x.getEndDay() == -1 || x.getEndDay() >= days)).max(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
}
if (vehicleDaysPriceVo != null )
price = vehicleDaysPriceVo.getPrice();
if (maxVehicleDaysPriceVo != null )
maxPrice = maxVehicleDaysPriceVo.getPrice();
}
if (price.compareTo(BigDecimal.ZERO) == 0 ){
Vehicle vehicle = vehicleBiz.selectById(vehicleId);
if (vehicle != null)
price = vehicle.getPrice();
}
return price;
vehicle.setPrice(price);
vehicle.setHolidayPrice(maxPrice);
return vehicle;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment