From 280ef5100bece9b40ac51736aef037704a52a4ca Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 30 七月 2026 14:58:52 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java b/backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java
index b6daef3..62b53fb 100644
--- a/backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java
+++ b/backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java
@@ -15,6 +15,7 @@
import com.tourguide.modules.order.dto.TourOrderResponse;
import com.tourguide.modules.order.entity.TourOrder;
import com.tourguide.modules.order.mapper.TourOrderMapper;
+import com.tourguide.modules.system.service.GuideNotificationService;
import com.tourguide.modules.user.entity.MiniUser;
import com.tourguide.modules.user.entity.GuideUser;
import com.tourguide.modules.user.mapper.GuideUserMapper;
@@ -37,6 +38,8 @@
private final ScenicPricingMapper pricingMapper;
private final GuideUserMapper guideUserMapper;
private final PlatformSettingsService platformSettingsService;
+ private final GuideOrderMatchingService matchingService;
+ private final GuideNotificationService notificationService;
public MiniTourOrderCommandService(TourOrderMapper orderMapper,
MiniUserService miniUserService,
@@ -44,7 +47,9 @@
ScenicMeetingPointMapper meetingPointMapper,
ScenicPricingMapper pricingMapper,
GuideUserMapper guideUserMapper,
- PlatformSettingsService platformSettingsService) {
+ PlatformSettingsService platformSettingsService,
+ GuideOrderMatchingService matchingService,
+ GuideNotificationService notificationService) {
this.orderMapper = orderMapper;
this.miniUserService = miniUserService;
this.scenicSpotMapper = scenicSpotMapper;
@@ -52,6 +57,8 @@
this.pricingMapper = pricingMapper;
this.guideUserMapper = guideUserMapper;
this.platformSettingsService = platformSettingsService;
+ this.matchingService = matchingService;
+ this.notificationService = notificationService;
}
@Transactional
@@ -77,9 +84,12 @@
order.setVisitorId(visitor.getId());
order.setVisitorNickname(visitor.getNickname());
order.setVisitorMobile(visitor.getMobile());
+ order.setScenicSpotId(scenicSpot.getId());
order.setScenicName(scenicSpot.getScenicName());
+ order.setMeetingPointId(meetingPoint.getId());
order.setMeetingPointName(meetingPoint.getPointName());
order.setPackageName(packageName(pricing.getServiceType()));
+ order.setServicePackageId(pricing.getId());
order.setOrderType(pricing.getServiceType());
order.setPeopleCount(request.getPeopleCount());
order.setUnitPrice(discountUnitPrice);
@@ -115,7 +125,8 @@
order.setPaymentTime(now);
order.setStatus(OrderStatus.PENDING_ACCEPT.getCode());
orderMapper.updateById(order);
- return TourOrderResponse.from(order);
+ matchingService.match(order.getId());
+ return TourOrderResponse.from(orderMapper.selectById(order.getId()));
}
public TourOrderResponse active(Long visitorId) {
@@ -158,6 +169,7 @@
@Transactional
public TourOrderResponse cancel(Long visitorId, Long orderId) {
TourOrder order = requireVisitorOrder(visitorId, orderId);
+ boolean notifyGuide = OrderStatus.PENDING_MEETING.matches(order.getStatus()) && order.getGuideId() != null;
if (!OrderStatus.PENDING_PAYMENT.matches(order.getStatus())
&& !OrderStatus.PENDING_ACCEPT.matches(order.getStatus())
&& !OrderStatus.PENDING_MEETING.matches(order.getStatus())) {
@@ -172,6 +184,7 @@
order.setRefundMethod(order.getPaymentMethod());
}
orderMapper.updateById(order);
+ if (notifyGuide) notificationService.notifyOrderCancelled(order);
return TourOrderResponse.from(order);
}
--
Gitblit v1.7.1