驳回解冻免押

This commit is contained in:
2025-09-28 17:42:01 +08:00
parent 70a6b578ef
commit 1f06e34d99

View File

@ -239,6 +239,7 @@ public class OrderServiceImpl implements OrderService {
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public RentCarOrderResultDTO depositFreeSubmitRentCarOrder(RentCarOrderReq rentCarOrderReq) {
log.info("开始发起免押 : {}", rentCarOrderReq);
@ -384,6 +385,7 @@ public class OrderServiceImpl implements OrderService {
}
@Transactional(rollbackFor = Exception.class)
@Override
public RentCarOrderResultDTO depositFreePayRentCarOrder(RentCarOrderReq rentCarOrderReq) {
SimpleUserInfoDTO userInfoDTO = jwtUtil.getUserInfoFromToken();
@ -593,7 +595,7 @@ public class OrderServiceImpl implements OrderService {
,orderAmount);
}
@Transactional
@Transactional(rollbackFor = Exception.class)
@Override
public void cancelOrder(PayOrderReq payOrderReq,OrderMainPO orderMainPO) {
log.info("开始取消订单");
@ -1048,7 +1050,6 @@ public class OrderServiceImpl implements OrderService {
if(!orderMainPO.getOrderStatus().equals(OrderStatusEnum.WAIT_PICK.getCode()) && !orderMainPO.getOrderStatus().equals(OrderStatusEnum.WAIT_RETURN.getCode())){
throw new BizException("订单状态异常,非待取车或待还车状态,无法驳回");
}
SimpleUserInfoDTO userInfoDTO = jwtUtil.getUserInfoFromToken();
if(orderMainPO.getOrderStatus().equals(OrderStatusEnum.WAIT_PICK.getCode())){
//获取租车子订单
@ -1084,6 +1085,32 @@ public class OrderServiceImpl implements OrderService {
orderSubRepo.save(fdSubOrder);
}
}
LambdaQueryWrapper<OrderSubPO> noDipoSubWrapper = new LambdaQueryWrapper<>();
noDipoSubWrapper.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId())
.eq(OrderSubPO::getDelFlag, "0")
.eq(OrderSubPO::getSuborderType, SubOrderTypeEnum.NO_DEPOSIT.getCode())
.eq(OrderSubPO::getPayStatus, PayStatusEnum.SUCCESS).last(" limit 1");
OrderSubPO noDepositOrder = orderSubRepo.getOne(noDipoSubWrapper);
if(Objects.nonNull(noDepositOrder)){
log.info("查询支付宝冻结订单结果");
AlipayQueryFreezeRequest alipayQueryFreezeRequest = new AlipayQueryFreezeRequest();
alipayQueryFreezeRequest.setOutOrderNo(noDepositOrder.getPaymentId());
alipayQueryFreezeRequest.setOperationType("FREEZE");
alipayQueryFreezeRequest.setCompanyId(orderMainPO.getOperatorId().toString());
AlipayQueryFreezeResponse queryFreezeResponse = payInteg.queryFundFreeze(alipayQueryFreezeRequest);
if(queryFreezeResponse!=null){
boolean closePayOrder = payService.finishFreezeOrder(orderMainPO.getOperatorId(),noDepositOrder.getPaymentId(),noDepositOrder.getTransactionId(),noDepositOrder.getAmount());
if(closePayOrder){
//解冻成功更新状态为解冻成功
LambdaUpdateWrapper<OrderSubPO> updatenoDepositWrapper = new LambdaUpdateWrapper<>();
updatenoDepositWrapper.set(OrderSubPO::getPayStatus, PayStatusEnum.UNFREEZE_SUCCESS.getCode())
.eq(OrderSubPO::getSuborderId, noDepositOrder.getSuborderId());
orderSubRepo.update(updatenoDepositWrapper);
}
}
}
});
} else {
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();