| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package com.ruoyi.system.domain.flash;
- import com.baomidou.mybatisplus.annotation.IdType;
- import com.baomidou.mybatisplus.annotation.TableId;
- import com.baomidou.mybatisplus.annotation.TableName;
- import lombok.Data;
- import java.math.BigDecimal;
- import java.util.Date;
- /** 独立闪送订单实体,不与餐饮订单或出租车订单共用状态。 */
- @Data
- @TableName("flash_delivery_order")
- public class FlashDeliveryOrder {
- @TableId(type = IdType.AUTO)
- /** 主键 ID,数据库自增。 */
- private Long id;
- /** 订单号,FD 前缀加 24 位随机大写串,用于展示与检索。 */
- private String orderNo;
- /** 客户端请求幂等号,与 userId 共同建立唯一约束。 */
- private String clientRequestId;
- /** 下单用户(寄件人)ID。 */
- private Long userId;
- /** 创建订单时按收件手机号唯一匹配的普通用户;匹配后不再动态追溯。 */
- private Long receiverUserId;
- /** 抢单前为空,原子抢单成功后绑定且不允许骑手主动放弃。 */
- private Long riderId;
- /** 业务场景:HELP_SEND=帮送、HELP_PICKUP=帮取。 */
- private String serviceType;
- /** 配送等级:NORMAL=普通、URGENT=一对一加急。 */
- private String deliveryType;
- /** 用户下单选择的车型快照:1=机车,2=轿车。 */
- private Integer vehicleType;
- /** 订单状态,取值见 FlashDeliveryStatus。 */
- private String status;
- /** 用户申报的包裹类别和重量范围。 */
- private String packageType;
- private Integer quantity;
- private String weightRange;
- /** 物品体积、尺寸等规格说明。 */
- private String specification;
- /** NOW 为立即配送,SCHEDULED 为预约取件时段。 */
- private String deliveryMode;
- /** 预约取件时间窗开始时间,仅 SCHEDULED 模式有值。 */
- private Date scheduledPickupStartAt;
- /** 预约取件时间窗结束时间,仅 SCHEDULED 模式有值。 */
- private Date scheduledPickupEndAt;
- /** 交付 PIN 只允许订单用户和平台读取,骑手响应必须剔除。 */
- private Boolean pinRequired;
- /** 四位交付 PIN 明文,骑手送达时向收件人核对。 */
- private String deliveryPinCode;
- /** 取件联系人和完整地址快照。 */
- private String pickupName;
- private String pickupPhone;
- private String pickupAddress;
- private String pickupAddressDetail;
- private String pickupCity;
- private String pickupArea;
- private String pickupHandoffMethod;
- private BigDecimal pickupLongitude;
- private BigDecimal pickupLatitude;
- /** 收件联系人和完整地址快照。 */
- private String deliveryName;
- private String deliveryPhone;
- private String deliveryAddress;
- private String deliveryAddressDetail;
- private String deliveryCity;
- private String deliveryArea;
- private String deliveryHandoffMethod;
- private BigDecimal deliveryLongitude;
- private BigDecimal deliveryLatitude;
- /** 服务端计算的路线结果;distanceSource 标识地图路线或降级直线距离。 */
- private Integer distanceMeters;
- private String distanceSource;
- private Integer estimatedDurationSeconds;
- /** 最近一次定价(下单或待接单改址)的金额与计价配置快照;快照+距离恒可复算出金额,后台调价只影响之后的定价。 */
- private Long amount;
- private String currency;
- /** 支付方式与主订单系统同域:4=现金、6=线下转账;闪送款项直达骑手,仅允许线下方式,下单时锁定。 */
- private String payType;
- /** 下单时命中的运价配置 ID。 */
- private Long pricingId;
- /** 下单时命中的运价配置版本。 */
- private Integer pricingVersion;
- /** 命中运价的时段开始(HH:mm)。 */
- private String pricingStartTime;
- /** 命中运价的时段结束(HH:mm)。 */
- private String pricingEndTime;
- /** 起步距离(公里)。 */
- private BigDecimal startingDistance;
- /** 起步价(整数 TWD)。 */
- private Long startingFare;
- /** 距离计价步长(公里)。 */
- private BigDecimal distance;
- /** 每个步长收取的运费(整数 TWD)。 */
- private Long freight;
- /** 距离附加费(TWD),按超起步距离部分以每公里单价计算。 */
- private Long distanceFee;
- /** 基础配送费(TWD),等于起步价加距离费。 */
- private Long baseDeliveryFee;
- /** 加急费比例(百分比)。 */
- private BigDecimal urgentRate;
- /** 最低加急费(TWD)。 */
- private Long minimumUrgentFee;
- /** 加急费(TWD),URGENT 订单收取,普通配送为 0。 */
- private Long urgentFee;
- /** 用户小费合计(TWD),待接单阶段可追加。 */
- private Long tipAmount;
- /** 用户备注。 */
- private String userNote;
- /** 订单条件更新版本号,用于记录并发状态变化次数。 */
- private Integer version;
- /** 各履约节点的首次成功时间。 */
- private Date acceptedAt;
- private Date pickedUpAt;
- private Date deliveredAt;
- private Date completedAt;
- private Date cancelledAt;
- /** 取消审计信息,操作人类型可为 USER 或 ADMIN。 */
- private String cancelReason;
- private String cancelOperatorType;
- private Long cancelOperatorId;
- private Date createTime;
- private Date updateTime;
- }
|