package com.xiaopeng.api.model.order; import com.baomidou.mybatisplus.annotation.*; import com.xiaopeng.common.core.enums.OrderStatusEnum; import com.xiaopeng.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import java.time.LocalDateTime; /** *

* 订单 *

* * @author mitao * @since 2026-02-03 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("xp_order") @ApiModel(value="XpOrder对象", description="订单") public class XpOrder extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.NONE) private Long id; @ApiModelProperty(value = "用户id") @TableField(updateStrategy = FieldStrategy.NEVER) private Long appUserId; @ApiModelProperty(value = "用户id") private Long cityId; @ApiModelProperty(value = "车辆id") private Long vehicleId; @ApiModelProperty(value = "车队id") private Long fleetId; @ApiModelProperty(value = "订单编号") private String orderNumber; @ApiModelProperty(value = "交易流水号") private String transactionId; @ApiModelProperty(value = "订单来源 1=APP下单") private Integer orderSource; @ApiModelProperty(value = "乘车时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime rideTime; @ApiModelProperty(value = "下单地点经度") private Double placementLon; @ApiModelProperty(value = "下单地点纬度") private Double placementLat; @ApiModelProperty(value = "下单地点") private String placementAddress; @ApiModelProperty(value = "出发地经度值") private Double startLon; @ApiModelProperty(value = "出发地纬度值") private Double startLat; @ApiModelProperty(value = "目的地经度") private Double endLon; @ApiModelProperty(value = "目的地纬度") private Double endLat; @ApiModelProperty(value = "出发地地点") private String startAddress; @ApiModelProperty(value = "目的地地点") private String endAddress; @ApiModelProperty(value = "上车点经度") private Double boardingLon; @ApiModelProperty(value = "上车点纬度") private Double boardingLat; @ApiModelProperty(value = "上车点") private String boardingAddress; @ApiModelProperty(value = "上车时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime boardingTime; @ApiModelProperty(value = "下车点经度") private Double getoffLon; @ApiModelProperty(value = "下车点纬度") private Double getoffLat; @ApiModelProperty(value = "下车地点") private String getoffAddress; @ApiModelProperty(value = "下车时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime getoffTime; @ApiModelProperty(value = "支付方式(1=微信,2=其他)") private Integer payType; @ApiModelProperty(value = "订单金额") private BigDecimal orderMoney; @ApiModelProperty("后备箱 0未开 1开过 2关闭") private Integer openTrunk; @ApiModelProperty(value = "实际支付金额") private BigDecimal payMoney; @ApiModelProperty(value = "预付金额") private BigDecimal prepayMoney; @ApiModelProperty(value = "起步里程") private Double startMileage; @ApiModelProperty(value = "起步价") private BigDecimal startMoney; @ApiModelProperty(value = "里程公里") private Double mileageKilometers; @ApiModelProperty(value = "里程费") private BigDecimal mileageMoney; @ApiModelProperty(value = "时长分钟") private Double duration; @ApiModelProperty(value = "时长费所属时段type=1 普通时段 type=2 夜间行驶时段 3高峰时段 4节假日时段") private Integer durationType; @ApiModelProperty(value = "时长费") private BigDecimal durationMoney; @ApiModelProperty(value = "等待分钟") private Double wait; @ApiModelProperty(value = "等待费") private BigDecimal waitMoney; @ApiModelProperty(value = "远途公里") private Double longDistance; @ApiModelProperty(value = "远途费所属时段type=1 普通时段 type=2 夜间行驶时段 3高峰时段 4节假日时段") private Integer longDistanceType; @ApiModelProperty(value = "远途费") private BigDecimal longDistancemoney; @ApiModelProperty(value = "红包抵扣金额") private BigDecimal redPacketMoney; @ApiModelProperty(value = "优惠券抵扣金额") private BigDecimal couponMoney; @ApiModelProperty(value = "红包记录id") private Long redPacketId; @ApiModelProperty(value = "优惠券id") private Long couponId; /** * {@link OrderStatusEnum } */ @ApiModelProperty(value = "状态 0=已取消,1=待接单,2=待出发,3=接驾中,4=待客上车,5=乘客已上车,6=服务中,7=待客下车,8=待付款,9=待评价,10=已完成") private Integer status; @ApiModelProperty(value = "下单城市名称") private String cityName; @ApiModelProperty(value = "下单城市编码") private String cityCode; @ApiModelProperty(value = "下单站点id") @TableField("start_point_id") private Long startPointId; @ApiModelProperty(value = "下单终点站点Id") @TableField("end_point_id") private Long endPointId; @ApiModelProperty(value = "下单站点名称") @TableField("start_point_name") private String startPointName; @ApiModelProperty(value = "下单终点站点名称") @TableField("end_point_name") private String endPointName; @ApiModelProperty(value = "订单预估时间 状态为1使用") @TableField("estimated_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime estimatedTime; @ApiModelProperty(value = "订单区域id") @TableField("xp_electronic_fence_area_id") private Long xpElectronicFenceAreaId; @ApiModelProperty(value = "下单时段") @TableField("time_slot") private String timeSlot; @ApiModelProperty(value = "车辆到达上车点时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime arrivalTime; @ApiModelProperty(value = "接单时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime acceptanceTime; @ApiModelProperty(value = "行程开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime tripBegin; @ApiModelProperty(value = "行程结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime tripEnd; @ApiModelProperty(value = "队列名称") @TableField("queue_name") private String queueName; // 用于计数 @TableField(exist = false) private Integer num; @ApiModelProperty(value = "是否改价标识 0-否 1-是") private Boolean changeMoneyFlag; }