逾期及续租处理
This commit is contained in:
@ -283,6 +283,26 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
rentOrder.setAmount(rentCarOrderAmount);
|
rentOrder.setAmount(rentCarOrderAmount);
|
||||||
rentOrder.setCreatedAt(LocalDateTime.now());
|
rentOrder.setCreatedAt(LocalDateTime.now());
|
||||||
rentOrder.setPaymentMethod(paymentType);
|
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);
|
orderSubRepo.save(rentOrder);
|
||||||
|
|
||||||
LocalDateTime nowTime = LocalDateTime.now();
|
LocalDateTime nowTime = LocalDateTime.now();
|
||||||
@ -297,11 +317,11 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
updateWrapper.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1);
|
updateWrapper.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1);
|
||||||
updateWrapper.set(OrderMainPO::getEndRentTime, newEndRentTime);
|
updateWrapper.set(OrderMainPO::getEndRentTime, newEndRentTime);
|
||||||
updateWrapper.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount));
|
updateWrapper.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount));
|
||||||
|
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RERENT_WAIT_PAY.getCode());
|
||||||
updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo());
|
updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo());
|
||||||
orderMainRepo.update(updateWrapper);
|
orderMainRepo.update(updateWrapper);
|
||||||
|
|
||||||
// TODO 发起支付返回预支付信息
|
|
||||||
UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO();
|
|
||||||
//返回订单信息
|
//返回订单信息
|
||||||
OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo());
|
OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo());
|
||||||
|
|
||||||
@ -365,7 +385,7 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
log.info("开始取消订单");
|
log.info("开始取消订单");
|
||||||
OrderMainPO orderMainPO = queryOrderMainPoByOrderNo(payOrderReq.getOrderNo(), "0");
|
OrderMainPO orderMainPO = queryOrderMainPoByOrderNo(payOrderReq.getOrderNo(), "0");
|
||||||
if(Objects.nonNull(orderMainPO)){
|
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("订单非待支付状态,不能取消");
|
throw new BizException("订单非待支付状态,不能取消");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -443,19 +463,38 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
rentOrder.setSuborderType(SubOrderTypeEnum.OVERDUE.getCode());
|
rentOrder.setSuborderType(SubOrderTypeEnum.OVERDUE.getCode());
|
||||||
rentOrder.setAmount(overDueAmount);
|
rentOrder.setAmount(overDueAmount);
|
||||||
rentOrder.setCreatedAt(LocalDateTime.now());
|
rentOrder.setCreatedAt(LocalDateTime.now());
|
||||||
|
rentOrder.setPayStatus(PayStatusEnum.USERPAYING.getCode());
|
||||||
rentOrder.setPaymentMethod(paymentType);
|
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);
|
orderSubRepo.save(rentOrder);
|
||||||
|
|
||||||
//更新订单状态及信息
|
//更新订单状态及信息
|
||||||
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
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.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(overDueAmount));
|
||||||
updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo());
|
updateWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo());
|
||||||
orderMainRepo.update(updateWrapper);
|
orderMainRepo.update(updateWrapper);
|
||||||
|
|
||||||
// TODO 发起支付返回预支付信息
|
|
||||||
UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO();
|
|
||||||
//返回订单信息
|
//返回订单信息
|
||||||
OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo());
|
OrderDTO orderDTO = getOrderInfoByOrderNo(rentCarOrderReq.getOrderNo());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user