chenrui
3 天以前 3e03f3d957c44ff2e4909b9fb4fff8621d466d10
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -90,16 +90,17 @@
            List<Long> ids = ticketRegistrationList.stream().map(TicketRegistration::getId).collect(Collectors.toList());
            List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
            for (TicketRegistration registration : ticketRegistrationList) {
                BigDecimal paymentAmountTotal = BigDecimal.ZERO;
                for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
                    if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
                        BigDecimal paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
                        BigDecimal invoiceAmount = registration.getInvoiceAmount();
                        registration.setPaymentAmountTotal(paymentAmountTotal);
                        BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
                        registration.setUnPaymentAmountTotal(subtractAmount);
                        paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
                        break;
                    }
                }
                BigDecimal invoiceAmount = registration.getInvoiceAmount();
                BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
                registration.setPaymentAmountTotal(paymentAmountTotal);
                registration.setUnPaymentAmountTotal(subtractAmount);
            }
        }
@@ -299,7 +300,7 @@
                // 计算 futureTickets(直接使用 BigDecimal 计算,避免精度丢失)
                product.setFutureTickets(
                        product.getQuantity()
                                .subtract(BigDecimal.valueOf(product.getTicketsNum()))
                                .subtract(product.getTicketsNum())
                );
                // 计算 futureTicketsAmount