package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.doumee.core.annotation.excel.ExcelColumn; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * 寄存订单信息 * @author rk * @date 2026/04/10 */ @Data @ApiModel("寄存订单信息") @TableName("`orders`") public class Orders { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") @ExcelColumn(name = "主键") private Integer id; @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "0") @ExcelColumn(name = "是否已删除") private Integer deleted; @ApiModelProperty(value = "创建人编码", example = "1") @ExcelColumn(name = "创建人编码") private Integer createUser; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ExcelColumn(name = "创建时间", width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date createTime; @ApiModelProperty(value = "更新人编码", example = "1") @ExcelColumn(name = "更新人编码") private Integer updateUser; @ApiModelProperty(value = "更新时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; @ApiModelProperty(value = "备注") @ExcelColumn(name = "备注") private String remark; @ApiModelProperty(value = "会员主键", example = "1") @ExcelColumn(name = "会员主键") private Integer memberId; @ApiModelProperty(value = "寄存方式:0=就地存取;1=异地存取", example = "0") @ExcelColumn(name = "寄存方式", valueMapping = "0=就地存取;1=异地存取;") private Integer type; @ApiModelProperty(value = "是否必须本人签收:0=否;1=是", example = "0") @ExcelColumn(name = "本人签收", valueMapping = "0=否;1=是;") private Integer selfTake; @ApiModelProperty(value = "订单状态", example = "0") @ExcelColumn(name = "订单状态", valueMapping = "就地寄存状态:0=待支付;1=待寄存;2=已寄存;5=待取件;6=存在逾期;7=已完成;96:订单关闭(退款);97:取消逾期;98=取消中;99=已取消;" + "异地寄存状态:0=待支付;1=待寄存;2=已寄存;3=已接单;4=派送中;5=已到店/已送达;6=存在逾期;7=已完成;96:订单关闭(退款);97:取消逾期;98=取消中;99=已取消;") private Integer status; @ApiModelProperty(value = "是否异常订单:0=否;1=是", example = "0") @ExcelColumn(name = "异常订单", valueMapping = "0=否;1=是;") private Integer exceptionStatus; @ApiModelProperty(value = "关联主订单") @ExcelColumn(name = "关联主订单") private Integer relationOrderId; @ApiModelProperty(value = "异常原因") @ExcelColumn(name = "异常原因") private String exceptionInfo; @ApiModelProperty(value = "所属城市(areas:id)") @ExcelColumn(name = "所属城市") private String cityId; @ApiModelProperty(value = "存件店铺(shop_info:id)", example = "1") @ExcelColumn(name = "存件店铺") private Integer depositShopId; @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 = "存件地点") @ExcelColumn(name = "存件地点") private String depositLocation; @ApiModelProperty(value = "存件地点描述") @ExcelColumn(name = "存件地点描述") private String depositLocationRemark; @ApiModelProperty(value = "存件点经度") private BigDecimal depositLat; @ApiModelProperty(value = "存件点纬度") private BigDecimal depositLgt; @ApiModelProperty(value = "取件店铺(shop_info:id)", example = "1") @ExcelColumn(name = "取件店铺") private Integer takeShopId; @ApiModelProperty(value = "取件地点") @ExcelColumn(name = "取件地点") private String takeLocation; @ApiModelProperty(value = "取件地点详细地址") @ExcelColumn(name = "取件地点详细地址") private String takeLocationRemark; @ApiModelProperty(value = "取件经度") private BigDecimal takeLat; @ApiModelProperty(value = "取件纬度") private BigDecimal takeLgt; @ApiModelProperty(value = "距离(异地存取使用)") @ExcelColumn(name = "距离") private BigDecimal distance; @ApiModelProperty(value = "寄存时间(寄存开始计费时间)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ExcelColumn(name = "寄存时间", width = 16, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date depositTime; @ApiModelProperty(value = "接单时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date acceptTime; @ApiModelProperty(value = "接单人") @ExcelColumn(name = "接单人") private Integer acceptDriver; @ApiModelProperty(value = "接单类型:0=手动接单;1=系统派单", example = "0") @ExcelColumn(name = "接单类型", valueMapping = "0=手动接单;1=系统派单;") private Integer acceptType; @ApiModelProperty(value = "取件时间(寄存结束计费时间)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date takeTime; @ApiModelProperty(value = "司机取件时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date driverTakeTime; @ApiModelProperty(value = "司机开始派送时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date sendTime; @ApiModelProperty(value = "行李转移到店时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date arriveTime; @ApiModelProperty(value = "完成订单时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date finishTime; @ApiModelProperty(value = "确认会员到店取件时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmArriveTime; @ApiModelProperty(value = "挂起时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date suspendTime; @ApiModelProperty(value = "取件人手机号") @ExcelColumn(name = "取件人手机号") private String takePhone; @ApiModelProperty(value = "取件人名称") @ExcelColumn(name = "取件人名称") private String takeUser; @ApiModelProperty(value = "商品类型(category)") @ExcelColumn(name = "商品类型") private Integer goodType; @ApiModelProperty(value = "补充信息") @ExcelColumn(name = "补充信息") private String supplement; @ApiModelProperty(value = "预计存放天数 默认1天", example = "1") @ExcelColumn(name = "预计存放天数") private Integer estimatedDepositDays; @ApiModelProperty(value = "实际存放天数") @ExcelColumn(name = "实际存放天数") private Integer depositDays; @ApiModelProperty(value = "预估费用(分)") @ExcelColumn(name = "预估费用") private Long estimatedAmount; @ApiModelProperty(value = "基础费用/单价(分)") @ExcelColumn(name = "基础费用") private Long price; @ApiModelProperty(value = "加急系数") private BigDecimal urgentRata; @ApiModelProperty(value = "是否加急:0=否;1=是", example = "0") @ExcelColumn(name = "是否加急", valueMapping = "0=否;1=是;") private Integer isUrgent; @ApiModelProperty(value = "保价金额(分)") @ExcelColumn(name = "保价金额") private Long declaredAmount; @ApiModelProperty(value = "保价保费(分)") @ExcelColumn(name = "保价保费") private Long declaredFee; @ApiModelProperty(value = "加急费用(分)") @ExcelColumn(name = "加急费用") private Long urgentAmount; @ApiModelProperty(value = "平台奖励司机费用(分)") @ExcelColumn(name = "平台奖励司机费用") private Long platformRewardAmount; @ApiModelProperty(value = "指派司机用户主键(member:id)") @ExcelColumn(name = "指派司机") private Integer assignDriverId; @ApiModelProperty(value = "基础寄存费用(分)") @ExcelColumn(name = "基础寄存费用") private Long basicAmount; @ApiModelProperty(value = "订单总费用(分)") @ExcelColumn(name = "订单总费用") private Long totalAmount; @ApiModelProperty(value = "实际支付费用(分)") @ExcelColumn(name = "实际支付费用") private Long payAmount; @ApiModelProperty(value = "退款费用(分)") @ExcelColumn(name = "退款费用") private Long refundAmount; @ApiModelProperty(value = "逾期费用(分)") @ExcelColumn(name = "逾期费用") private Long overdueAmount; @ApiModelProperty(value = "逾期天数") @ExcelColumn(name = "逾期天数") private Integer overdueDays; @ApiModelProperty(value = "是否逾期: 0=否 1=是 2=已支付") @ExcelColumn(name = "是否逾期", valueMapping = "0=否;1=是;2=已支付;") private Integer overdueStatus; @ApiModelProperty(value = "会员订单核销码") private String memberVerifyCode; @ApiModelProperty(value = "司机订单核销码") private String driverVerifyCode; @ApiModelProperty(value = "支付状态:0=未支付;1=已支付", example = "0") @ExcelColumn(name = "支付状态", valueMapping = "0=未支付;1=已支付;") private Integer payStatus; @ApiModelProperty(value = "支付时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date payTime; @ApiModelProperty(value = "订单编号") @ExcelColumn(name = "订单编号") private String code; @ApiModelProperty(value = "司机薪酬(分)") @ExcelColumn(name = "司机薪酬") private Long driverFee; @ApiModelProperty(value = "寄存店铺收益(分)") @ExcelColumn(name = "寄存店铺收益") private Long depositShopFee; @ApiModelProperty(value = "取件店铺收益(分)") @ExcelColumn(name = "取件店铺收益") private Long takeShopFee; @ApiModelProperty(value = "司机收益占比") private BigDecimal driverFeeRata; @ApiModelProperty(value = "寄存店铺收益占比") private BigDecimal depositShopFeeRata; @ApiModelProperty(value = "取件店铺收益占比") private BigDecimal takeShopFeeRata; @ApiModelProperty(value = "微信平台交易订单号") private String wxExternalNo; @ApiModelProperty(value = "是否评价:0=否;1=是", example = "0") @ExcelColumn(name = "是否评价", valueMapping = "0=否;1=是;") private Integer commentStatus; @ApiModelProperty(value = "评价内容") @ExcelColumn(name = "评价内容") private String commentInfo; @ApiModelProperty(value = "评价司机星级1-5") private Integer commentDriverLevel; @ApiModelProperty(value = "评价寄存点星级1-5") private Integer commentDepositLevel; @ApiModelProperty(value = "评价取件点星级1-5") private Integer commentTakeLevel; @ApiModelProperty(value = "评价时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date commentTime; @ApiModelProperty(value = "取消时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date cancelTime; @ApiModelProperty(value = "异常费用/客户支付(分)") @ExcelColumn(name = "异常费用") private Long exceptionAmount; @ApiModelProperty(value = "异常补偿司机(分)") @ExcelColumn(name = "异常补偿") private Long exceptionFee; @ApiModelProperty(value = "物品信息") @ExcelColumn(name = "物品信息") private String goodsInfo; @ApiModelProperty(value = "结算状态:0=待结算;1=已结算;") private Integer settlementStatus; @ApiModelProperty(value = "结算时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date settlementTime; @ApiModelProperty(value = "三方订单号") private String outTradeNo; @TableField(exist = false) @ApiModelProperty(value = "创建开始时间(查询用)", example = "2026-01-01") @JsonFormat(pattern = "yyyy-MM-dd") private Date createStartTime; @TableField(exist = false) @ApiModelProperty(value = "创建结束时间(查询用)", example = "2026-12-31") @JsonFormat(pattern = "yyyy-MM-dd") private Date createEndTime; @TableField(exist = false) @ApiModelProperty(value = "订单级别") private String orderLevel; @TableField(exist = false) @ApiModelProperty(value = "司机关键字(姓名/手机号)") private String driverKeyword; @TableField(exist = false) @ApiModelProperty(value = "寄件门店名称(关联查询)") private String depositShopName; @TableField(exist = false) @ApiModelProperty(value = "寄件门店联系人(关联查询)") private String depositShopLinkName; @TableField(exist = false) @ApiModelProperty(value = "寄件门店联系电话(关联查询)") private String depositShopLinkPhone; @TableField(exist = false) @ApiModelProperty(value = "寄件门店地址(关联查询)") private String depositShopAddress; @TableField(exist = false) @ApiModelProperty(value = "取件门店名称(关联查询)") private String takeShopName; @TableField(exist = false) @ApiModelProperty(value = "取件门店地址(关联查询)") private String takeShopAddress; }