package com.doumee.dao.vo; import com.doumee.dao.business.model.OrdersRefund; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** * 会员端-订单详情 * * @author rk * @date 2026/04/15 */ @Data @ApiModel("会员端订单详情") public class MyOrderDetailVO { @ApiModelProperty(value = "订单主键") private Integer id; // ---- 状态 ---- @ApiModelProperty(value = "订单状态") private Integer status; @ApiModelProperty(value = "订单状态文案") private String statusName; @ApiModelProperty(value = "订单状态描述") private String statusDesc; @ApiModelProperty(value = "支付倒计时毫秒(仅待支付状态返回,-1表示已超时)") private Long payCountdownMs; @ApiModelProperty(value = "会员核销码(待寄存/待取件状态返回)") private String memberVerifyCode; // ---- 基础信息 ---- @ApiModelProperty(value = "订单类型: 0=就地寄存 1=异地寄存") private Integer type; @ApiModelProperty(value = "订单编号") private String code; @ApiModelProperty(value = "三方订单号") private String outTradeNo; @ApiModelProperty(value = "订单备注") private String remark; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @ApiModelProperty(value = "支付时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date payTime; // ---- 时间信息 ---- @ApiModelProperty(value = "预计到店存件时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date expectedDepositTime; @ApiModelProperty(value = "预计取件时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date expectedTakeTime; @ApiModelProperty(value = "行李转移到店时间(异地寄存)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date arriveTime; // ---- 存件门店 ---- @ApiModelProperty(value = "存件门店名称") private String depositShopName; @ApiModelProperty(value = "存件门店地址") private String depositShopAddress; @ApiModelProperty(value = "存件门店联系人") private String depositShopLinkName; @ApiModelProperty(value = "存件门店联系电话") private String depositShopPhone; // ---- 取件信息 ---- @ApiModelProperty(value = "取件门店主键", example = "1") private Integer takeShopId; @ApiModelProperty(value = "取件门店名称(有取件门店时返回)") private String takeShopName; @ApiModelProperty(value = "取件门店地址(有取件门店时返回)") private String takeShopAddress; @ApiModelProperty(value = "取件地点(无取件门店时返回,用户自选)") private String takeLocation; @ApiModelProperty(value = "取件地点详细地址(无取件门店时返回)") private String takeLocationRemark; @ApiModelProperty(value = "取件人名称") private String takeUser; @ApiModelProperty(value = "取件人手机号") private String takePhone; // ---- 费用(分) ---- @ApiModelProperty(value = "基础寄存费用(分)") private Long basicAmount; @ApiModelProperty(value = "保价金额(分)") private Long declaredAmount; @ApiModelProperty(value = "保价保费(分)") private Long declaredFee; @ApiModelProperty(value = "是否加急:0=否;1=是") private Integer isUrgent; @ApiModelProperty(value = "加急费用(分)") private Long urgentAmount; @ApiModelProperty(value = "实际支付费用(分)") private Long actualPayAmount; // ---- 逾期 ---- //逾期状态: 0=未到店未逾期 1=未到店存在逾期 2=已到店未存在逾期 3=已到店待支付逾期 4=逾期已支付 @ApiModelProperty(value = "逾期状态: 0=未到店未逾期 1=未到店存在逾期 2=已到店未逾期 3=已到店待支付逾期 4=逾期已支付") private Integer overdueStatus; @ApiModelProperty(value = "是否逾期") private Boolean overdue; @ApiModelProperty(value = "逾期天数") private Integer overdueDays; @ApiModelProperty(value = "逾期费用(分)") private Long overdueFee; // ---- 退款(status=96/99 时返回) ---- @ApiModelProperty(value = "退款申请时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date refundApplyTime; @ApiModelProperty(value = "退款记录") private OrdersRefund refundInfo; // ---- 标记 ---- @ApiModelProperty(value = "是否异常: 0=否 1=是") private Integer exceptionStatus; @ApiModelProperty(value = "是否超出取件时间") private Boolean pastTakeTime; // ---- 物品信息 ---- @ApiModelProperty(value = "物品类型名称") private String goodTypeName; @ApiModelProperty(value = "下单照片") private List orderImages; @ApiModelProperty(value = "物品明细列表") private List detailList; // ---- 司机信息 ---- @ApiModelProperty(value = "司机主键") private Integer driverId; @ApiModelProperty(value = "司机姓名") private String driverName; @ApiModelProperty(value = "司机手机号") private String driverPhone; // ---- 实时经纬度(异地寄存按状态返回) ---- @ApiModelProperty(value = "存件门店经度") private Double depositShopLng; @ApiModelProperty(value = "存件门店纬度") private Double depositShopLat; @ApiModelProperty(value = "取件点经度") private Double takeLng; @ApiModelProperty(value = "取件点纬度") private Double takeLat; @ApiModelProperty(value = "司机当前经度") private Double driverLng; @ApiModelProperty(value = "司机当前纬度") private Double driverLat; // ---- 评价信息 ---- @ApiModelProperty(value = "是否已评价:0=否 1=是") private Integer commentStatus; @ApiModelProperty(value = "评价时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date commentTime; @ApiModelProperty(value = "评价内容") private String commentContent; @ApiModelProperty(value = "评价附件图片") private List commentImages; @ApiModelProperty(value = "存件门店评分") private Integer depositScore; @ApiModelProperty(value = "取件门店评分") private Integer takeScore; @ApiModelProperty(value = "司机评分") private Integer driverScore; }