From 652573f9ef0c40c5e906eb01b754f1d7b73ea688 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Fri, 26 Sep 2025 22:49:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A5=E8=A7=A6=E5=85=8D?= =?UTF-8?q?=E6=8A=BC=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/common/enums/PayStatusEnum.java | 1 + .../order/service/impl/OrderServiceImpl.java | 31 ++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/sczx/order/common/enums/PayStatusEnum.java b/src/main/java/com/sczx/order/common/enums/PayStatusEnum.java index fab8b91..20b77fa 100644 --- a/src/main/java/com/sczx/order/common/enums/PayStatusEnum.java +++ b/src/main/java/com/sczx/order/common/enums/PayStatusEnum.java @@ -14,6 +14,7 @@ public enum PayStatusEnum { INIT("INIT", "初始化"), USERPAYING("USERPAYING", "用户支付中"), SUCCESS("SUCCESS", "支付成功"), + UNFREEZE_SUCCESS("UNFREEZE_SUCCESS", "解除免押成功"), PAYERROR("PAYERROR", "支付失败"), REFUNDING("REFUNDING", "退款中"), REFUND_SUCCESS("REFUND_SUCCESS", "退款成功"), 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 6f3db08..1588d9b 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -17,10 +17,7 @@ import com.sczx.order.service.OrderDistribService; import com.sczx.order.service.OrderService; import com.sczx.order.service.PayService; import com.sczx.order.thirdpart.dto.*; -import com.sczx.order.thirdpart.dto.req.AlipayCloseRequest; -import com.sczx.order.thirdpart.dto.req.AlipayFundFreezeRequest; -import com.sczx.order.thirdpart.dto.req.AlipayQueryFreezeRequest; -import com.sczx.order.thirdpart.dto.req.CarQueryConditionReq; +import com.sczx.order.thirdpart.dto.req.*; import com.sczx.order.thirdpart.integration.CarInteg; import com.sczx.order.thirdpart.integration.PayInteg; import com.sczx.order.thirdpart.integration.StoreInteg; @@ -1074,6 +1071,9 @@ public class OrderServiceImpl implements OrderService { if(!orderMainPO.getStoreId().equals(carDTO.getStoreId())){ throw new BizException("此车辆不属于当前门店"); } + if(!Objects.equals(orderMainPO.getCarModelId(), carDTO.getModelId())){ + throw new BizException("不能绑定此车型:"+carDTO.getModelName()+",的车辆"); + } if(!orderMainPO.getOrderStatus().equals(OrderStatusEnum.WAIT_PICK.getCode())){ throw new BizException("订单状态异常,非待取车状态"); } @@ -1341,6 +1341,29 @@ public class OrderServiceImpl implements OrderService { orderSubRepo.save(fdSubOrder); } } + //免押订单,则还需要解除免押 + orderSubWrapper = new LambdaQueryWrapper<>(); + orderSubWrapper.eq(OrderSubPO::getOrderId, orderDTO.getOrderId()) + .eq(OrderSubPO::getDelFlag, "0") + .eq(OrderSubPO::getSuborderType, SubOrderTypeEnum.NO_DEPOSIT.getCode()) + .eq(OrderSubPO::getPayStatus, PayStatusEnum.SUCCESS).last(" limit 1"); + OrderSubPO noDepositOrder = orderSubRepo.getOne(orderSubWrapper); + if (Objects.nonNull(noDepositOrder)) { + AlipayFinishFreezeRequest alipayFinishFreezeRequest = new AlipayFinishFreezeRequest(); + alipayFinishFreezeRequest.setCompanyId(orderDTO.getOperatorId().toString()); + alipayFinishFreezeRequest.setAuthNo(noDepositOrder.getTransactionId()); + alipayFinishFreezeRequest.setOutRequestNo(noDepositOrder.getPaymentId()); + alipayFinishFreezeRequest.setAmount(noDepositOrder.getAmount().toString()); + AlipayResponse result = payInteg.finishFreeze(alipayFinishFreezeRequest); + if (result.isSuccess()) { + //解冻成功更新状态为解冻成功 + LambdaUpdateWrapper updatenoDepositWrapper = new LambdaUpdateWrapper<>(); + updatenoDepositWrapper.set(OrderSubPO::getPayStatus, PayStatusEnum.UNFREEZE_SUCCESS.getCode()) + .eq(OrderSubPO::getSuborderId, noDepositOrder.getSuborderId()); + orderSubRepo.update(updatenoDepositWrapper); + } + } + }); return orderDTO; }