From 39f6fca28e3f78abe48f08e474ec011abb990b36 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 09 九月 2026 10:39:21 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/modules/order/service/MiniTourOrderCommandService.java |    6 ++++++
 1 files changed, 6 insertions(+), 0 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 320daf1..145f740 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
@@ -33,6 +33,7 @@
 /** 小程序讲解订单创建及状态流转服务。 */
 @Service
 public class MiniTourOrderCommandService {
+    private static final int DEFAULT_UNPAID_CANCEL_MINUTES = 15;
     private final TourOrderMapper orderMapper;
     private final MiniUserService miniUserService;
     private final OperationScenicSpotMapper scenicSpotMapper;
@@ -159,8 +160,12 @@
                         .orderByDesc(ScenicPricing::getId)
                         .last("LIMIT 1"));
         GuideUser guide = order.getGuideId() == null ? null : guideUserMapper.selectById(order.getGuideId());
+        int unpaidCancelMinutes = scenicSpot == null || scenicSpot.getUnpaidCancelMinutes() == null
+                || scenicSpot.getUnpaidCancelMinutes() < 1
+                ? DEFAULT_UNPAID_CANCEL_MINUTES : scenicSpot.getUnpaidCancelMinutes();
         return TourOrderResponse.from(order)
                 .enrich(scenicSpot, meetingPoint, pricing, guide)
+                .withUnpaidCancelMinutes(unpaidCancelMinutes)
                 .withUnacceptedAutoRefundMinutes(
                         platformSettingsService.getSettings().getUnacceptedAutoRefundMinutes());
     }
@@ -181,6 +186,7 @@
             throw new BusinessException(409, "当前订单状态不支持取消");
         }
         order.setStatus(OrderStatus.CANCELLED.getCode());
+        order.setCancelledAt(LocalDateTime.now());
         if (order.getPaymentTime() == null) {
             orderMapper.updateById(order);
         } else {

--
Gitblit v1.7.1