From 4f6f15b818704079ff2e4e4719b798f48d68a335 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 11 九月 2026 13:52:19 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java b/backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java
index d34031a..bb5fff5 100644
--- a/backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java
+++ b/backend/src/main/java/com/tourguide/modules/order/service/GuideEarningsService.java
@@ -16,6 +16,8 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -49,7 +51,6 @@
.isNotNull(TourOrder::getGuideEarningAmount)
.and(wrapper -> wrapper.isNull(TourOrder::getRefundStatus)
.or().ne(TourOrder::getRefundStatus, RefundStatus.REFUNDED.getCode()))
- .like(StringUtils.hasText(serviceType), TourOrder::getOrderType, serviceType)
.eq(StringUtils.hasText(scenicName), TourOrder::getScenicName,
StringUtils.hasText(scenicName) ? scenicName.trim() : null)
.ge(date != null, TourOrder::getCompletedAt, date == null ? null : date.atStartOfDay())
@@ -57,6 +58,9 @@
date == null ? null : date.plusDays(1).atStartOfDay())
.orderByDesc(TourOrder::getCompletedAt)
.orderByDesc(TourOrder::getId);
+ if (StringUtils.hasText(serviceType)) {
+ query.in(TourOrder::getOrderType, resolveOrderTypes(serviceType));
+ }
Page<TourOrder> result = orderMapper.selectPage(new Page<TourOrder>(safePage, safeSize), query);
List<GuideEarningItemResponse> records = result.getRecords().stream()
.map(GuideEarningItemResponse::new)
@@ -69,11 +73,25 @@
private void validateServiceType(String serviceType) {
if (StringUtils.hasText(serviceType)
&& !"QUICK".equals(serviceType)
- && !"PREMIUM".equals(serviceType)) {
- throw new BusinessException(400, "讲解类型不支持");
+ && !"PREMIUM".equals(serviceType)
+ && !"GROUP_QUICK".equals(serviceType)
+ && !"GROUP_PREMIUM".equals(serviceType)
+ && !"PRIVATE_QUICK".equals(serviceType)
+ && !"PRIVATE_PREMIUM".equals(serviceType)) {
+ throw new BusinessException(400, "订单类型不支持");
}
}
+ private List<String> resolveOrderTypes(String serviceType) {
+ if ("QUICK".equals(serviceType)) {
+ return Arrays.asList("GROUP_QUICK", "PRIVATE_QUICK");
+ }
+ if ("PREMIUM".equals(serviceType)) {
+ return Arrays.asList("GROUP_PREMIUM", "PRIVATE_PREMIUM");
+ }
+ return Collections.singletonList(serviceType);
+ }
+
private BigDecimal safeAmount(BigDecimal amount) {
return amount == null ? BigDecimal.ZERO.setScale(2) : amount;
}
--
Gitblit v1.7.1