逾期及续租处理
This commit is contained in:
		| @ -283,6 +283,26 @@ public class OrderServiceImpl implements OrderService { | ||||
|                 rentOrder.setAmount(rentCarOrderAmount); | ||||
|                 rentOrder.setCreatedAt(LocalDateTime.now()); | ||||
|                 rentOrder.setPaymentMethod(paymentType); | ||||
|  | ||||
|                 // 起支付返回预支付信息 | ||||
|                 UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = null; | ||||
|  | ||||
|                 //发起支付 | ||||
|                 if(StringUtils.equalsIgnoreCase(userInfoDTO.getMiniProgramType(), MiniProgramTypeEnum.WECHAT.getType())){ | ||||
|                     RentCarRuleDTO rentCarRuleDTO = carInteg.getRentCarRuleByCarRuleId(orderMainPO.getRentCarRuleId()); | ||||
|                     PaymentRequest paymentRequest = new PaymentRequest(); | ||||
|                     paymentRequest.setCompanyId(orderMainPO.getOperatorId()); | ||||
|                     paymentRequest.setOutTradeNo(rentOrder.getPaymentId()); | ||||
|                     paymentRequest.setOpenId(userInfoDTO.getWechatOpenid()); | ||||
|                     paymentRequest.setAttach(orderMainPO.getOperatorId().toString()); | ||||
|                     paymentRequest.setSpbillCreateIp("127.0.0.1"); | ||||
|                     paymentRequest.setBody(rentCarRuleDTO.getRuleName()); | ||||
| //                    paymentRequest.setTotalFee(rentCarOrderAmount.multiply(new BigDecimal(100)).intValue()); | ||||
|                     paymentRequest.setTotalFee(10); | ||||
|                     unifiedPaymentInfoDTO = payInteg.unifiedOrder(paymentRequest); | ||||
|                     // TODO 其他支付类型 | ||||
|                 } | ||||
|  | ||||
|                 orderSubRepo.save(rentOrder); | ||||
|  | ||||
|                 LocalDateTime nowTime = LocalDateTime.now(); | ||||
| @ -297,11 +317,11 @@ public class OrderServiceImpl implements OrderService { | ||||
|                 updateWrapper.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1); | ||||
|                 updateWrapper.set(OrderMainPO::getEndRentTime, newEndRentTime); | ||||
|                 updateWrapper.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount)); | ||||
|                 updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RERENT_WAIT_PAY.getCode()); | ||||
|                 updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo()); | ||||
|                 orderMainRepo.update(updateWrapper); | ||||
|  | ||||
|                 // TODO 发起支付返回预支付信息 | ||||
|                 UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO(); | ||||
|  | ||||
|                 //返回订单信息 | ||||
|                 OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo()); | ||||
|  | ||||
| @ -365,7 +385,7 @@ public class OrderServiceImpl implements OrderService { | ||||
|         log.info("开始取消订单"); | ||||
|         OrderMainPO orderMainPO = queryOrderMainPoByOrderNo(payOrderReq.getOrderNo(), "0"); | ||||
|         if(Objects.nonNull(orderMainPO)){ | ||||
|             if(!OrderStatusEnum.WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())&&OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ | ||||
|             if(!OrderStatusEnum.WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ | ||||
|                 throw new BizException("订单非待支付状态,不能取消"); | ||||
|             } | ||||
|  | ||||
| @ -443,19 +463,38 @@ public class OrderServiceImpl implements OrderService { | ||||
|                 rentOrder.setSuborderType(SubOrderTypeEnum.OVERDUE.getCode()); | ||||
|                 rentOrder.setAmount(overDueAmount); | ||||
|                 rentOrder.setCreatedAt(LocalDateTime.now()); | ||||
|                 rentOrder.setPayStatus(PayStatusEnum.USERPAYING.getCode()); | ||||
|                 rentOrder.setPaymentMethod(paymentType); | ||||
|                 // 发起支付返回预支付信息 | ||||
|                 UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = null; | ||||
|  | ||||
|                 //发起支付 | ||||
|                 if(StringUtils.equalsIgnoreCase(userInfoDTO.getMiniProgramType(), MiniProgramTypeEnum.WECHAT.getType())){ | ||||
|                     RentCarRuleDTO rentCarRuleDTO = carInteg.getRentCarRuleByCarRuleId(orderMainPO.getRentCarRuleId()); | ||||
|                     PaymentRequest paymentRequest = new PaymentRequest(); | ||||
|                     paymentRequest.setCompanyId(orderMainPO.getOperatorId()); | ||||
|                     paymentRequest.setOutTradeNo(rentOrder.getPaymentId()); | ||||
|                     paymentRequest.setOpenId(userInfoDTO.getWechatOpenid()); | ||||
|                     paymentRequest.setAttach(orderMainPO.getOperatorId().toString()); | ||||
|                     paymentRequest.setSpbillCreateIp("127.0.0.1"); | ||||
|                     paymentRequest.setBody(rentCarRuleDTO.getRuleName()); | ||||
| //                    paymentRequest.setTotalFee(overDueAmount.multiply(new BigDecimal(100)).intValue()); | ||||
|                     paymentRequest.setTotalFee(10); | ||||
|                     unifiedPaymentInfoDTO = payInteg.unifiedOrder(paymentRequest); | ||||
|                     // TODO 其他支付类型 | ||||
|                 } | ||||
|  | ||||
|                 orderSubRepo.save(rentOrder); | ||||
|  | ||||
|                 //更新订单状态及信息 | ||||
|                 LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>(); | ||||
|                 //TODO 这里应该是支付以后再将状态改为租车中,这里先改为租车中便于演示流程 | ||||
|                 updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode()); | ||||
|                 //将订单状态改为续租待或逾期待支付状态 | ||||
|                 updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RERENT_WAIT_PAY.getCode()); | ||||
|                 updateWrapper.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(overDueAmount)); | ||||
|                 updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo()); | ||||
|                 orderMainRepo.update(updateWrapper); | ||||
|  | ||||
|                 // TODO 发起支付返回预支付信息 | ||||
|                 UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO(); | ||||
|  | ||||
|                 //返回订单信息 | ||||
|                 OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo()); | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user