Commit 447bf340 authored by libin's avatar libin

日历价格

parent 602c35c1
...@@ -219,10 +219,9 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr ...@@ -219,10 +219,9 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr
* @param startDate * @param startDate
* @param endDate * @param endDate
* @param vehicleModelId * @param vehicleModelId
* @param type
* @return * @return
*/ */
public List<VehicleModelCalendarPriceVo> listVehicleModelCalendarPriceByDateAndVehicleModelIdAndUserId(Date startDate, Date endDate, Integer vehicleModelId, Integer type, Integer userId) { public List<VehicleModelCalendarPriceVo> listVehicleModelCalendarPriceByDateAndVehicleModelIdAndUserId(Date startDate, Date endDate, Integer vehicleModelId, Integer userId) {
List<VehicleModelCalendarPriceVo> vehicleModelCalendarPriceVos = new ArrayList<>(); List<VehicleModelCalendarPriceVo> vehicleModelCalendarPriceVos = new ArrayList<>();
//车型的原价 //车型的原价
BigDecimal vehicle_price = new BigDecimal(0); BigDecimal vehicle_price = new BigDecimal(0);
...@@ -245,12 +244,10 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr ...@@ -245,12 +244,10 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr
List<VehicleModelHolidayPriceDTO> vehicleModelHolidayPrices = vehicleModelHolidayPriceBiz.findVehicleModelHolidayPriceByMonth(final_startDate, final_endDate); List<VehicleModelHolidayPriceDTO> vehicleModelHolidayPrices = vehicleModelHolidayPriceBiz.findVehicleModelHolidayPriceByMonth(final_startDate, final_endDate);
Map<Date, VehicleModelHolidayPriceDTO> festivalDayMap = vehicleModelHolidayPrices.stream().collect(Collectors.toMap(VehicleModelHolidayPriceDTO::getFestivalDay, Function.identity())); Map<Date, VehicleModelHolidayPriceDTO> festivalDayMap = vehicleModelHolidayPrices.stream().collect(Collectors.toMap(VehicleModelHolidayPriceDTO::getFestivalDay, Function.identity()));
if (type == PRICE_OF_TYPE) { vehicle_price = vehicleModelBiz.findVehicleModelPriceByVehicleModelId(vehicleModelId);
vehicle_price = vehicleModelBiz.findVehicleModelPriceByVehicleModelId(vehicleModelId); if (Objects.nonNull(userId)) {
if (Objects.nonNull(userId)) { BaseUserMember baseUserMember = userFeign.findBaseUserMemberByUserId(userId);
BaseUserMember baseUserMember = userFeign.findBaseUserMemberByUserId(userId); discount = baseUserMember == null ? discount : baseUserMember.getDiscount();
discount = baseUserMember == null ? discount : baseUserMember.getDiscount();
}
} }
VehicleModelCalendarPriceVo vehicleModelCalendarPriceVo; VehicleModelCalendarPriceVo vehicleModelCalendarPriceVo;
LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
...@@ -267,49 +264,33 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr ...@@ -267,49 +264,33 @@ public class VehicleModelCalendarPriceBiz extends BaseBiz<VehicleModelCalendarPr
} else { } else {
vehicleModelCalendarPriceVo.setIsSelect(false); vehicleModelCalendarPriceVo.setIsSelect(false);
} }
if (type == PRICE_OF_TYPE) { if (calendarPriceMap != null && !calendarPriceMap.isEmpty()) {
if (calendarPriceMap != null && !calendarPriceMap.isEmpty()) { VehicleModelCalendarPrice vehicleModelCalendarPrice = calendarPriceMap.get(current_date);
VehicleModelCalendarPrice vehicleModelCalendarPrice = calendarPriceMap.get(current_date); if (Objects.isNull(vehicleModelCalendarPrice)) {
if (Objects.isNull(vehicleModelCalendarPrice)) { if (festivalDayMap != null && !festivalDayMap.isEmpty()) {
if (festivalDayMap != null && !festivalDayMap.isEmpty()) { VehicleModelHolidayPriceDTO vehicleModelHolidayPriceDTO = festivalDayMap.get(current_date);
VehicleModelHolidayPriceDTO vehicleModelHolidayPriceDTO = festivalDayMap.get(current_date); if (Objects.nonNull(vehicleModelHolidayPriceDTO)) {
if (Objects.nonNull(vehicleModelHolidayPriceDTO)) { vehicle_price = vehicle_price.multiply(new BigDecimal(vehicleModelHolidayPriceDTO.getMultiple().doubleValue() * (discount / 100)));
vehicle_price = vehicle_price.multiply(new BigDecimal(vehicleModelHolidayPriceDTO.getMultiple().doubleValue() * (discount / 100))); free_days = vehicleModelHolidayPriceDTO.getFreeDays();
}
}
} else {
switch (vehicleModelCalendarPrice.getType()) {
case VehicleModelPriceType.MULTIPLE:
vehicle_price = vehicle_price.multiply(new BigDecimal(vehicleModelCalendarPrice.getMultiple().doubleValue() * (discount / 100)));
break;
case VehicleModelPriceType.ABS:
vehicle_price = vehicleModelCalendarPrice.getPrice().multiply(new BigDecimal(discount / 100));
break;
case VehicleModelPriceType.MEMBER:
//todo
break;
default:
break;
} }
} }
} } else {
vehicleModelCalendarPriceVo.setPrice(vehicle_price); switch (vehicleModelCalendarPrice.getType()) {
} case VehicleModelPriceType.MULTIPLE:
if (type == DAYS_OF_TYPE) { vehicle_price = vehicle_price.multiply(new BigDecimal(vehicleModelCalendarPrice.getMultiple().doubleValue() * (discount / 100)));
if (calendarPriceMap != null && !calendarPriceMap.isEmpty()) { break;
VehicleModelCalendarPrice vehicleModelCalendarPrice = calendarPriceMap.get(current_date); case VehicleModelPriceType.ABS:
if (Objects.isNull(vehicleModelCalendarPrice)) { vehicle_price = vehicleModelCalendarPrice.getPrice().multiply(new BigDecimal(discount / 100));
if (festivalDayMap != null && !festivalDayMap.isEmpty()) { break;
VehicleModelHolidayPriceDTO vehicleModelHolidayPriceDTO = festivalDayMap.get(current_date); case VehicleModelPriceType.MEMBER:
if (Objects.nonNull(vehicleModelHolidayPriceDTO)) { //todo
free_days = vehicleModelHolidayPriceDTO.getFreeDays(); break;
} default:
} break;
} else {
free_days = vehicleModelCalendarPrice.getFreeDays();
} }
free_days = vehicleModelCalendarPrice.getFreeDays();
} }
vehicleModelCalendarPriceVo.setPrice(vehicle_price);
vehicleModelCalendarPriceVo.setDays(free_days); vehicleModelCalendarPriceVo.setDays(free_days);
} }
final_startLocalDate = final_startLocalDate.plusDays(1); final_startLocalDate = final_startLocalDate.plusDays(1);
......
...@@ -33,9 +33,8 @@ public class VehicleModelCalendarPriceController { ...@@ -33,9 +33,8 @@ public class VehicleModelCalendarPriceController {
public ObjectRestResponse<VehicleModelCalendarPriceVo> listVehicleModelCalendarPriceByDateAndVehicleModelId(@RequestParam(value = "start",required = false) Date startDate, public ObjectRestResponse<VehicleModelCalendarPriceVo> listVehicleModelCalendarPriceByDateAndVehicleModelId(@RequestParam(value = "start",required = false) Date startDate,
@RequestParam(value = "end",required = false) Date endDate, @RequestParam(value = "end",required = false) Date endDate,
@PathVariable(value = "vehicleModelId") Integer vehicleModelId, @PathVariable(value = "vehicleModelId") Integer vehicleModelId,
@PathVariable(value = "type")Integer type,
AppUserDTO appUserDTO){ AppUserDTO appUserDTO){
List<VehicleModelCalendarPriceVo> vehicleModelCalendarPriceVos = vehicleModelCalendarPriceBiz.listVehicleModelCalendarPriceByDateAndVehicleModelIdAndUserId(startDate,endDate,vehicleModelId,type,appUserDTO.getUserid()); List<VehicleModelCalendarPriceVo> vehicleModelCalendarPriceVos = vehicleModelCalendarPriceBiz.listVehicleModelCalendarPriceByDateAndVehicleModelIdAndUserId(startDate,endDate,vehicleModelId,appUserDTO.getUserid());
return ObjectRestResponse.succ(vehicleModelCalendarPriceVos); return ObjectRestResponse.succ(vehicleModelCalendarPriceVos);
} }
} }
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