From fbce38bdca2964142220e4e6545bd9da5ef85ed3 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Sat, 23 Aug 2025 16:05:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=AF=E4=BB=98=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sczx/order/convert/OrderSubConvert.java | 3 ++ .../com/sczx/order/dto/OrderDetailDTO.java | 6 ++++ .../java/com/sczx/order/dto/PayOrderDTO.java | 28 +++++++++++++++++++ .../order/service/impl/OrderServiceImpl.java | 13 +++++++-- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/sczx/order/dto/PayOrderDTO.java diff --git a/src/main/java/com/sczx/order/convert/OrderSubConvert.java b/src/main/java/com/sczx/order/convert/OrderSubConvert.java index b10eeb9..b3a4c04 100644 --- a/src/main/java/com/sczx/order/convert/OrderSubConvert.java +++ b/src/main/java/com/sczx/order/convert/OrderSubConvert.java @@ -1,6 +1,7 @@ package com.sczx.order.convert; import com.sczx.order.dto.OrderSubDTO; +import com.sczx.order.dto.PayOrderDTO; import com.sczx.order.po.OrderSubPO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -12,4 +13,6 @@ public interface OrderSubConvert { OrderSubConvert INSTANCE = Mappers.getMapper(OrderSubConvert.class); OrderSubDTO poToDto(OrderSubPO orderSubPO); List posToDtos(List orderSubPOList); + + List posToPayOrderDtos(List orderSubPOList); } diff --git a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java index 3077a11..6438ad4 100644 --- a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java +++ b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java @@ -164,4 +164,10 @@ public class OrderDetailDTO { @ApiModelProperty("订单车辆图片-车损") private List orderCarImgDamageList; + + @ApiModelProperty("最新支付单号") + private String lastPayOrderNo; + + @ApiModelProperty("支付订单信息") + private List payOrderDTOList; } diff --git a/src/main/java/com/sczx/order/dto/PayOrderDTO.java b/src/main/java/com/sczx/order/dto/PayOrderDTO.java new file mode 100644 index 0000000..b090a2e --- /dev/null +++ b/src/main/java/com/sczx/order/dto/PayOrderDTO.java @@ -0,0 +1,28 @@ +package com.sczx.order.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@ApiModel(value = "支付订单dto", description = "支付订单信息") +public class PayOrderDTO { + + @ApiModelProperty("订单金额") + private BigDecimal amount; + + @ApiModelProperty("支付方式") + private String paymentMethod; + + @ApiModelProperty("订单产生时间") + private LocalDateTime createdAt; + + @ApiModelProperty("支付ID") + private String paymentId; + + @ApiModelProperty("支付状态") + private String payStatus; +} 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 12c8939..c2dc478 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -347,7 +347,7 @@ public class OrderServiceImpl implements OrderService { @Override public UnifiedPaymentInfoDTO payOrder(PayOrderReq payOrderReq) { OrderMainPO orderMainPO = queryOrderMainPoByOrderNo(payOrderReq.getOrderNo(),"0"); - if(!OrderStatusEnum.WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())&&OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + if(!OrderStatusEnum.WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus()) && OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ throw new BizException("订单非待支付状态"); } LambdaQueryWrapper orderSubQueryWrapper = new LambdaQueryWrapper<>(); @@ -599,7 +599,16 @@ public class OrderServiceImpl implements OrderService { List orderCarImgDamageList = orderCarImgList.stream().filter(orderCarImgDTO -> StringUtils.equalsIgnoreCase(orderCarImgDTO.getImgType(), OrderCarImgTypeEnum.CAR_DAMAGE.getCode())).collect(Collectors.toList()); orderDetailDTO.setOrderCarImgDamageList(orderCarImgDamageList); } - else if(OrderStatusEnum.RENT_ING.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + LambdaQueryWrapper querySubWrapper2 = new LambdaQueryWrapper<>(); + querySubWrapper2.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId()) + .eq(OrderSubPO::getPayStatus, PayStatusEnum.SUCCESS.getCode()).orderByDesc(OrderSubPO::getCreateTime); + List orderSubPOList2 = orderSubRepo.list(querySubWrapper2); + if(!CollectionUtils.isEmpty(orderSubPOList2)){ + orderDetailDTO.setLastPayOrderNo(orderSubPOList2.get(0).getPaymentId()); + orderDetailDTO.setPayOrderDTOList(OrderSubConvert.INSTANCE.posToPayOrderDtos(orderSubPOList2)); + } + + if(OrderStatusEnum.RENT_ING.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ //如果是租车中,需要判断是否逾期了 log.info("判断订单是否逾期"); if(orderMainPO.getEndRentTime()!=null){