liujie
2026-09-09 39f6fca28e3f78abe48f08e474ec011abb990b36
backend/src/main/java/com/tourguide/modules/order/dto/TourOrderResponse.java
@@ -1,6 +1,7 @@
package com.tourguide.modules.order.dto;
import com.tourguide.modules.order.entity.TourOrder;
import com.tourguide.modules.order.domain.RefundAmountCalculator;
import com.tourguide.modules.operation.entity.OperationScenicSpot;
import com.tourguide.modules.operation.entity.ScenicMeetingPoint;
import com.tourguide.modules.operation.entity.ScenicPricing;
@@ -45,9 +46,12 @@
    private LocalDateTime arrivedAt;
    private LocalDateTime serviceStartedAt;
    private LocalDateTime completedAt;
    private LocalDateTime cancelledAt;
    private String status;
    private String refundStatus;
    private BigDecimal refundAmount;
    private BigDecimal refundedAmount;
    private BigDecimal refundableAmount;
    private LocalDateTime refundTime;
    private String refundOrderNo;
    private String refundMethod;
@@ -64,6 +68,7 @@
    private BigDecimal guideRating;
    private String guideAvatar;
    private Integer unacceptedAutoRefundMinutes;
    private Integer unpaidCancelMinutes;
    public static TourOrderResponse from(TourOrder order) {
        TourOrderResponse response = new TourOrderResponse();
@@ -105,9 +110,12 @@
        response.arrivedAt = order.getArrivedAt();
        response.serviceStartedAt = order.getServiceStartedAt();
        response.completedAt = order.getCompletedAt();
        response.cancelledAt = order.getCancelledAt();
        response.status = order.getStatus();
        response.refundStatus = order.getRefundStatus();
        response.refundAmount = order.getRefundAmount();
        response.refundedAmount = RefundAmountCalculator.refundedAmount(order);
        response.refundableAmount = RefundAmountCalculator.refundableAmount(order);
        response.refundTime = order.getRefundTime();
        response.refundOrderNo = order.getRefundOrderNo();
        response.refundMethod = order.getRefundMethod();
@@ -149,6 +157,11 @@
        return this;
    }
    public TourOrderResponse withUnpaidCancelMinutes(Integer minutes) {
        this.unpaidCancelMinutes = minutes;
        return this;
    }
    public Long getId() { return id; }
    public String getOrderNo() { return orderNo; }
    public Long getVisitorId() { return visitorId; }
@@ -184,9 +197,12 @@
    public LocalDateTime getArrivedAt() { return arrivedAt; }
    public LocalDateTime getServiceStartedAt() { return serviceStartedAt; }
    public LocalDateTime getCompletedAt() { return completedAt; }
    public LocalDateTime getCancelledAt() { return cancelledAt; }
    public String getStatus() { return status; }
    public String getRefundStatus() { return refundStatus; }
    public BigDecimal getRefundAmount() { return refundAmount; }
    public BigDecimal getRefundedAmount() { return refundedAmount; }
    public BigDecimal getRefundableAmount() { return refundableAmount; }
    public LocalDateTime getRefundTime() { return refundTime; }
    public String getRefundOrderNo() { return refundOrderNo; }
    public String getRefundMethod() { return refundMethod; }
@@ -203,4 +219,5 @@
    public BigDecimal getGuideRating() { return guideRating; }
    public String getGuideAvatar() { return guideAvatar; }
    public Integer getUnacceptedAutoRefundMinutes() { return unacceptedAutoRefundMinutes; }
    public Integer getUnpaidCancelMinutes() { return unpaidCancelMinutes; }
}