FlashDeliveryOrderView.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.ruoyi.app.flashdelivery.dto;
  2. import lombok.Data;
  3. import java.util.Date;
  4. /** 用户和中单骑手共用的业务订单视图,不包含持久化及身份内部字段。 */
  5. @Data
  6. public class FlashDeliveryOrderView {
  7. /** 订单 ID。 */
  8. private Long id;
  9. /** 订单号。 */
  10. private String orderNo;
  11. /** 业务场景:HELP_SEND=帮送、HELP_PICKUP=帮取。 */
  12. private String serviceType;
  13. /** 配送等级:NORMAL=普通、URGENT=加急。 */
  14. private String deliveryType;
  15. /** 配送车型:1=机车、2=轿车。 */
  16. private Integer vehicleType;
  17. /** 订单状态,取值见 FlashDeliveryStatus。 */
  18. private String status;
  19. /** 物品类别(DOCUMENT、GIFT 等 9 种)。 */
  20. private String packageType;
  21. /** 物品数量。 */
  22. private Integer quantity;
  23. /** 重量范围(UP_TO_5_KG 等 4 档)。 */
  24. private String weightRange;
  25. /** 物品规格说明。 */
  26. private String specification;
  27. /** 取件方式:NOW=立即、SCHEDULED=预约。 */
  28. private String deliveryMode;
  29. /** 预约取件时间窗开始时间,立即单为空。 */
  30. private Date scheduledPickupStartAt;
  31. /** 预约取件时间窗结束时间,立即单为空。 */
  32. private Date scheduledPickupEndAt;
  33. /** 是否启用交付 PIN。 */
  34. private Boolean pinRequired;
  35. /** 取件地址快照,骑手接单前联系人、电话和坐标被脱敏。 */
  36. private FlashDeliveryAddressView pickup;
  37. /** 收件地址快照,骑手接单前联系人、电话和坐标被脱敏。 */
  38. private FlashDeliveryAddressView delivery;
  39. /** 服务端计算的路线距离(米)。 */
  40. private Integer distanceMeters;
  41. /** 距离来源:ROUTE=地图路线、STRAIGHT_LINE=降级直线。 */
  42. private String distanceSource;
  43. /** 预计配送时长(秒)。 */
  44. private Integer estimatedDurationSeconds;
  45. /** 基础配送费(TWD),仅表示起步价,不含距离附加费。 */
  46. private Long baseDeliveryFee;
  47. /** 距离附加费(TWD)。 */
  48. private Long distanceFee;
  49. /** 加急费(TWD),普通配送为 0。 */
  50. private Long urgentFee;
  51. /** 小费(TWD)。 */
  52. private Long tipAmount;
  53. /** 订单总金额(TWD)。 */
  54. private Long amount;
  55. /** 币种。 */
  56. private String currency;
  57. /** 支付方式:4=现金、6=线下转账;款项直达骑手,用户与骑手详情均返回。 */
  58. private String payType;
  59. /** 收款状态:0=未收款,1=骑手已确认收款。 */
  60. private Integer paymentStatus;
  61. /** 用户备注,骑手接单前不返回。 */
  62. private String userNote;
  63. /** 骑手接单时间。 */
  64. private Date acceptedAt;
  65. /** 骑手取件时间。 */
  66. private Date pickedUpAt;
  67. /** 骑手送达时间。 */
  68. private Date deliveredAt;
  69. /** 订单完成时间。 */
  70. private Date completedAt;
  71. /** 订单取消时间。 */
  72. private Date cancelledAt;
  73. /** 取消原因。 */
  74. private String cancelReason;
  75. /** 创建时间。 */
  76. private Date createTime;
  77. /** 最后更新时间。 */
  78. private Date updateTime;
  79. /** 取货站总数及已实际确认的取货站数。 */
  80. private Integer pickupStopCount;
  81. private Integer pickedUpStopCount;
  82. /** 收货站总数与已送达数;历史单按单收货站兼容。 */
  83. private Integer deliveryStopCount;
  84. private Integer deliveredStopCount;
  85. /** 任一站已取货即禁止用户自助取消,不能仅按订单主状态判断。 */
  86. private Boolean canUserCancel;
  87. }