| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.YearMonth; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | @Service |
| | | public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper,ReceiptPayment> implements ReceiptPaymentService { |
| | |
| | | public ReceiptPaymentDto receiptPaymentInfo(Integer id) { |
| | | return receiptPaymentMapper.receiptPaymentInfo(id); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal getReceiptAmount() { |
| | | LocalDate now = LocalDate.now(); |
| | | YearMonth currentMonth = YearMonth.from(now); |
| | | |
| | | // 创建LambdaQueryWrapper |
| | | LambdaQueryWrapper<ReceiptPayment> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.ge(ReceiptPayment::getReceiptPaymentDate, currentMonth.atDay(1).atStartOfDay()) // 大于等于本月第一天 |
| | | .lt(ReceiptPayment::getReceiptPaymentDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()); // 小于下月第一天 |
| | | |
| | | // 执行查询并计算总和 |
| | | List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(queryWrapper); |
| | | |
| | | BigDecimal totalContractAmount = receiptPayments.stream() |
| | | .map(ReceiptPayment::getReceiptPaymentAmount) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | return totalContractAmount; |
| | | } |
| | | } |