diff --git a/src/main/java/com/sczx/order/convert/OrderConvert.java b/src/main/java/com/sczx/order/convert/OrderConvert.java index c034774..7fd421f 100644 --- a/src/main/java/com/sczx/order/convert/OrderConvert.java +++ b/src/main/java/com/sczx/order/convert/OrderConvert.java @@ -67,6 +67,7 @@ public interface OrderConvert { @Mapping(source = "orderMainPO.actEndRentTime", target = "actEndRentTime"), @Mapping(source = "orderMainPO.renewalTimes", target = "renewalTimes"), @Mapping(source = "orderMainPO.chargeTimes", target = "chargeTimes"), + @Mapping(source = "orderMainPO.orderAmount", target = "orderAmount"), @Mapping(source = "companyStoreDTO.name", target = "storeName"), @Mapping(source = "companyStoreDTO.detailedAddress", target = "detailedAddress"), @Mapping(source = "companyStoreDTO.latitude", target = "latitude"), diff --git a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java index 87ab602..440a9e0 100644 --- a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java +++ b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java @@ -134,6 +134,12 @@ public class OrderDetailDTO { @ApiModelProperty("充电次数") private Integer chargeTimes; + @ApiModelProperty("订单总金额") + private BigDecimal orderAmount; + + @ApiModelProperty("预计到期间隔天数") + private Integer expectedDays; + @ApiModelProperty("订单车辆图片") private List orderCarImgList; } diff --git a/src/main/java/com/sczx/order/service/OrderService.java b/src/main/java/com/sczx/order/service/OrderService.java index 8a4971a..e78aa47 100644 --- a/src/main/java/com/sczx/order/service/OrderService.java +++ b/src/main/java/com/sczx/order/service/OrderService.java @@ -52,6 +52,13 @@ public interface OrderService { */ Integer getOrderOverdueDays(LocalDateTime endRentTime); + /** + * 计算订单即将到期天数 + * @param endRentTime + * @return + */ + Integer getOrderExpectedDays(LocalDateTime endRentTime); + /** * 计算逾期金额 * @param overdueDays diff --git a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java index fb41510..9287185 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -428,8 +428,8 @@ public class OrderServiceImpl implements OrderService { List orderCarImgList = orderCarImgPOList.stream().map(OrderCarImgPO::getImgUrl).collect(Collectors.toList()); orderDetailDTO.setOrderCarImgList(orderCarImgList); } - //如果是租车中,需要判断是否逾期了 - if(OrderStatusEnum.RENT_ING.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + else if(OrderStatusEnum.RENT_ING.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + //如果是租车中,需要判断是否逾期了 log.info("判断订单是否逾期"); if(orderMainPO.getEndRentTime()!=null){ Integer overdueDays = getOrderOverdueDays(orderMainPO.getEndRentTime()); @@ -444,6 +444,9 @@ public class OrderServiceImpl implements OrderService { updateWrapper.set(OrderMainPO::getOverdueDays, overdueDays); updateWrapper.eq(OrderMainPO::getOrderId, orderMainPO.getOrderId()); orderMainRepo.update(updateWrapper); + }else { + //没逾期则计算到期天数 + orderDetailDTO.setExpectedDays(getOrderExpectedDays(orderMainPO.getEndRentTime())); } } @@ -470,6 +473,17 @@ public class OrderServiceImpl implements OrderService { return 0; } + @Override + public Integer getOrderExpectedDays(LocalDateTime endRentTime) { + if(endRentTime!=null){ + LocalDateTime now = LocalDateTime.now(); + if(now.isBefore(endRentTime)){ + return (int) ChronoUnit.DAYS.between(now, endRentTime); + } + } + return 0; + } + @Override public BigDecimal getOrderOverdueAmount(Integer overdueDays, BigDecimal overdueFee) { if(overdueDays!=null&&overdueFee!=null){