package com.ruoyi.app.flashdelivery.dto; import lombok.Data; import java.util.Date; /** 用户和中单骑手共用的业务订单视图,不包含持久化及身份内部字段。 */ @Data public class FlashDeliveryOrderView { /** 订单 ID。 */ private Long id; /** 订单号。 */ private String orderNo; /** 业务场景:HELP_SEND=帮送、HELP_PICKUP=帮取。 */ private String serviceType; /** 配送等级:NORMAL=普通、URGENT=加急。 */ private String deliveryType; /** 配送车型:1=机车、2=轿车。 */ private Integer vehicleType; /** 订单状态,取值见 FlashDeliveryStatus。 */ private String status; /** 取件方式:NOW=立即、SCHEDULED=预约。 */ private String deliveryMode; /** 预约取件时间窗开始时间,立即单为空。 */ private Date scheduledPickupStartAt; /** 预约取件时间窗结束时间,立即单为空。 */ private Date scheduledPickupEndAt; /** 是否启用交付 PIN。 */ private Boolean pinRequired; /** 取件地址快照,骑手接单前联系人、电话和坐标被脱敏。 */ private FlashDeliveryAddressView pickup; /** 收件地址快照,骑手接单前联系人、电话和坐标被脱敏。 */ private FlashDeliveryAddressView delivery; /** 服务端计算的路线距离(米)。 */ private Integer distanceMeters; /** 距离来源:ROUTE=地图路线、STRAIGHT_LINE=降级直线。 */ private String distanceSource; /** 预计配送时长(秒)。 */ private Integer estimatedDurationSeconds; /** 基础配送费(TWD),仅表示起步价,不含距离附加费。 */ private Long baseDeliveryFee; /** 距离附加费(TWD)。 */ private Long distanceFee; /** 加急费(TWD),普通配送为 0。 */ private Long urgentFee; /** 小费(TWD)。 */ private Long tipAmount; /** 订单总金额(TWD)。 */ private Long amount; /** 币种。 */ private String currency; /** 支付方式:4=现金、6=线下转账;款项直达骑手,用户与骑手详情均返回。 */ private String payType; /** 收款状态:0=未收款,1=骑手已确认收款。 */ private Integer paymentStatus; /** 用户备注,骑手接单前不返回。 */ private String userNote; /** 骑手接单时间。 */ private Date acceptedAt; /** 骑手取件时间。 */ private Date pickedUpAt; /** 骑手送达时间。 */ private Date deliveredAt; /** 订单完成时间。 */ private Date completedAt; /** 订单取消时间。 */ private Date cancelledAt; /** 取消原因。 */ private String cancelReason; /** 创建时间。 */ private Date createTime; /** 最后更新时间。 */ private Date updateTime; /** 取货站总数及已取数;与送达进度独立,未全部取完仍为 ACCEPTED。 */ private Integer pickupStopCount; private Integer pickedUpStopCount; /** 收货站总数与已送达数;交错取送时 ACCEPTED 也可能有非零已送达数。 */ private Integer deliveryStopCount; private Integer deliveredStopCount; /** 任一站已取货即禁止用户自助取消,不能仅按订单主状态判断。 */ private Boolean canUserCancel; }