TOrder.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package com.ylx.order.domain;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.annotation.TableId;
  4. import com.baomidou.mybatisplus.annotation.TableName;
  5. import com.ylx.common.core.domain.BaseEntity;
  6. import io.swagger.annotations.ApiModel;
  7. import io.swagger.annotations.ApiModelProperty;
  8. import lombok.Data;
  9. import lombok.experimental.Accessors;
  10. import java.math.BigDecimal;
  11. import java.time.LocalDateTime;
  12. /**
  13. * 订单实体类
  14. * <p>
  15. * 对应数据库表 t_order,用于存储按摩服务订单的完整信息。
  16. * 包含订单基本信息、服务项目信息、用户信息、技师信息、支付信息、
  17. * 状态流转信息等多个维度的业务数据。
  18. * <p>
  19. * 订单状态流转:
  20. * -1(待付款) → 0(待接单) → 1(已接单) → 6(已出发) → 2(已到达) → 3(服务中) → 4(待评价) → 5(已完成)
  21. * 特殊状态:-2(已取消)、-3(已拒绝)
  22. * </p>
  23. *
  24. * @author YJR
  25. * @version 1.0
  26. * @since 2023-12-30
  27. */
  28. @Data
  29. @Accessors(chain = true)
  30. @TableName(value = "t_order", autoResultMap = true)
  31. @ApiModel(value = "TOrder", description = "订单实体类")
  32. public class TOrder extends BaseEntity {
  33. private static final long serialVersionUID = -5178393451245876888L;
  34. @ApiModelProperty("主键ID")
  35. @TableId(value = "id", type = IdType.AUTO)
  36. private Long id;
  37. @ApiModelProperty("订单号")
  38. private String orderNo;
  39. @ApiModelProperty("用户ID")
  40. private Long userId;
  41. @ApiModelProperty("商户ID")
  42. private Long merchantId;
  43. @ApiModelProperty("商户类型(0:真实商户 1:虚拟商户)")
  44. private Integer merchantType;
  45. @ApiModelProperty("商户昵称")
  46. private String merchantNickName;
  47. @ApiModelProperty("商户头像")
  48. private String merchantAvatar;
  49. @ApiModelProperty("项目ID")
  50. private Long projectId;
  51. @ApiModelProperty("项目类型:1=按摩 2=陪玩")
  52. private Integer projectType;
  53. @ApiModelProperty("项目名称")
  54. private String projectName;
  55. @ApiModelProperty("项目封面图")
  56. private String projectCover;
  57. @ApiModelProperty("预约开始时间")
  58. private LocalDateTime appointmentStartTime;
  59. @ApiModelProperty("项目时长(分钟)")
  60. private Integer projectDuration;
  61. @ApiModelProperty("项目亮点")
  62. private String highlight;
  63. @ApiModelProperty("联系人姓名")
  64. private String contactPersonName;
  65. @ApiModelProperty("联系人电话号码")
  66. private String contactPhoneNumber;
  67. @ApiModelProperty("详细服务地址")
  68. private String contactAddressInfo;
  69. @ApiModelProperty("项目标价/售价")
  70. private BigDecimal basePrice;
  71. @ApiModelProperty("优惠券抵扣金额")
  72. private BigDecimal couponDiscount;
  73. @ApiModelProperty("交通费")
  74. private BigDecimal trafficFee;
  75. @ApiModelProperty("最终应付/实付金额 = base_price - coupon_discoun + traffic_fee")
  76. private BigDecimal finalAmount;
  77. @ApiModelProperty("付款方式:0=购物卡,1=微信支付")
  78. private Integer paymentMethod;
  79. @ApiModelProperty("派单时间")
  80. private LocalDateTime dispatchedTime;
  81. @ApiModelProperty("支付完成时间")
  82. private LocalDateTime paidTime;
  83. @ApiModelProperty("商户确认/接单时间")
  84. private LocalDateTime confirmedTime;
  85. @ApiModelProperty("商户出发时间")
  86. private LocalDateTime departedTime;
  87. @ApiModelProperty("商户到达时间")
  88. private LocalDateTime arrivedTime;
  89. @ApiModelProperty("商户签到时间")
  90. private LocalDateTime signTime;
  91. @ApiModelProperty("服务开始时间")
  92. private LocalDateTime startTime;
  93. @ApiModelProperty("服务完成时间")
  94. private LocalDateTime completedTime;
  95. @ApiModelProperty("订单取消时间")
  96. private LocalDateTime cancelledTime;
  97. @ApiModelProperty("退款时间")
  98. private LocalDateTime refundedTime;
  99. @ApiModelProperty("发起售后时间")
  100. private LocalDateTime afterSalesTime;
  101. @ApiModelProperty("拒绝接单时间")
  102. private LocalDateTime rejectedTime;
  103. @ApiModelProperty("删除时间")
  104. private LocalDateTime deletedTime;
  105. @ApiModelProperty("订单状态:0=待付款,1=待派单,2=待接单,3=待服务,4=服务中,5=售后中,6=已完成,7=已退款,8=已取消,9=已关闭,10=拒绝接单")
  106. private Integer status;
  107. @ApiModelProperty("履约状态:0=待出发/待签到,1=已出发,2=已到达/已签到")
  108. private Integer execStatus;
  109. @ApiModelProperty("拒接原因")
  110. private String rejectedReason;
  111. @ApiModelProperty("取消原因")
  112. private String cancelledReason;
  113. @ApiModelProperty("到达照片")
  114. private String arrivalPhoto;
  115. @ApiModelProperty("开始服务照片")
  116. private String startPhoto;
  117. @ApiModelProperty("用户下单时纬度")
  118. private BigDecimal userLatitude;
  119. @ApiModelProperty("用户下单时经度")
  120. private BigDecimal userLongitude;
  121. @ApiModelProperty("商户真实纬度")
  122. private BigDecimal merchantLatitude;
  123. @ApiModelProperty("商户真实经度")
  124. private BigDecimal merchantLongitude;
  125. @ApiModelProperty("商户虚拟地址纬度")
  126. private BigDecimal virtualLatitude;
  127. @ApiModelProperty("商户虚拟地址经度")
  128. private BigDecimal virtualLongitude;
  129. @ApiModelProperty("是否删除 0否 1是")
  130. private Integer isDelete;
  131. @ApiModelProperty("派单情况:0=未派单 1=已派单")
  132. private Integer dispatchedStatus;
  133. @ApiModelProperty("优惠券id")
  134. private String couponId;
  135. }