逾期及续租处理
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