liujie
2026-09-14 15defa991fcd30b9fa60bab17d2230b5929bf2a2
backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java
@@ -47,12 +47,16 @@
        LambdaQueryWrapper<TourOrder> query = new LambdaQueryWrapper<TourOrder>()
                .eq(TourOrder::getGuideId, guideId)
                .eq(TourOrder::getStatus, OrderStatus.COMPLETED.getCode())
                .and(wrapper -> wrapper.eq(TourOrder::getStatus, OrderStatus.COMPLETED.getCode())
                        .or(inner -> inner.eq(TourOrder::getStatus, OrderStatus.CANCELLED.getCode())
                                .eq(TourOrder::getRefundStatus, RefundStatus.PARTIAL.getCode())))
                .isNotNull(TourOrder::getGuideEarningAmount)
                .and(wrapper -> wrapper.isNull(TourOrder::getRefundStatus)
                        .or().in(TourOrder::getRefundStatus,
                                Arrays.asList(RefundStatus.NONE.getCode(),
                                        RefundStatus.PARTIAL.getCode(),
                                        RefundStatus.REFUND_FAILED.getCode())))
                .apply(TourOrderMapper.GUIDE_REMAINING_AMOUNT_SQL + " > 0")
                .eq(StringUtils.hasText(scenicName), TourOrder::getScenicName,
                        StringUtils.hasText(scenicName) ? scenicName.trim() : null)
                .ge(date != null, TourOrder::getCompletedAt, date == null ? null : date.atStartOfDay())