package com.ruoyi.system.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.mybatis.MyGeometryTypeHandler; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 订单对象 et_order * * @author 邱贞招 * @date 2024-04-08 */ @Data public class EtOrder extends BaseEntity { private static final long serialVersionUID = 1L; /** 订单id */ private Long orderId; /** 区域id */ @Excel(name = "区域id") private Long areaId; /** 区域 */ @Excel(name = "区域") private String area; /** 区域ids */ @Excel(name = "区域ids") private List areaLists; /** 订单号 */ @Excel(name = "订单号") private String orderNo; /** 微信商户系统内部的订单号 */ @Excel(name = "微信商户系统内部的订单号") private String outTradeNo; /** 用户id */ @Excel(name = "用户id") private Long userId; /** 用户 */ @Excel(name = "用户") private String userName; /** 真实姓名 */ @Excel(name = "真实姓名") @TableField(exist = false) private String realName; /** 手机号 */ @Excel(name = "手机号") private String phonenumber; /** 计费规则 */ @Excel(name = "计费规则") private Long ruleId; /** 优惠券id */ @Excel(name = "优惠券id") private Long couponId; /** 用户优惠卡id */ @Excel(name = "用户优惠卡id") private Long logId; /** 套餐对象 */ @TableField(exist = false) private EtFeeRule rule; /** 设备编码 */ @Excel(name = "设备编码") private String deviceMac; /** 车辆对象 */ @TableField(exist = false) private AsDevice device; /** 退款对象 */ @TableField(exist = false) private EtRefund etRefund; /** 退款对象 */ @TableField(exist = false) private List etRefunds; /** 设备sn编码 */ @Excel(name = "设备sn编码") private String sn; /** 车牌号 */ @TableField(exist = false) private String vehicleNum; /** 支付时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd") private Date payTime; /** 支付方式 */ @Excel(name = "支付方式") private String payType; /** 支付状态:0-未支付,1-已支付 */ @Excel(name = "支付状态:0-未支付,1-已支付") private String paid; /** 类型 */ @Excel(name = "类型") private String type; /** 订单总金额(元) */ @Excel(name = "订单总金额(元)") private BigDecimal totalFee; /** 实际支付金额(元) */ @Excel(name = "实际支付金额(元)") private BigDecimal payFee; /** 实际结算金额(元) */ @TableField(exist = false) private BigDecimal settlementFee; /** 调度费 */ @Excel(name = "调度费") private BigDecimal dispatchFee; /** 停车点外调度费 */ @Excel(name = "停车点外调度费") private BigDecimal manageFee; /** 骑行费 */ @Excel(name = "骑行费") private BigDecimal ridingFee; /** 预约费 */ @Excel(name = "预约费") private BigDecimal appointmentFee; /** 备注 */ @Excel(name = "备注") private String mark; /** 订单时 */ @Excel(name = "订单时") private Integer duration; /** 距离 */ @Excel(name = "距离") private Integer distance; /** 状态:0-预约中,1-取消预约,2-开始骑行,3-结束 */ @Excel(name = "状态:0-预约中,1-取消预约,2-开始骑行,3-结束") private String status; /** 预约开始时间 */ @Excel(name = "预约开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date appointmentStartTime; /** 预约结束时间 */ @Excel(name = "预约结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date appointmentEndTime; /** 开锁时间 */ @Excel(name = "开锁时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date unlockTime; /** 还车时间 */ @Excel(name = "还车时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date returnTime; /** 套餐结束时间 */ @Excel(name = "套餐结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date ruleEndTime; /** 在第几个计费周期内:如1则表示在第一个计费周期内,费用=骑行费用 ;值为2,则表示在第二个计费周期内,费用为:封顶金额(第一个计费周期的封顶金额)+骑行费用 * 值为3,则 表示在第三个计费周期内,最终结算费用为:(封顶金额*(周期-1))+骑行费用*/ private Integer cycle; // /** 是否预约 */ // private Boolean isAppointment; /** 还车类型:type:1-正常还车;2-辅助还车 */ private String returnType; /** 退款原因 */ private String reason; /** 行程线路 */ @Excel(name = "行程线路") @TableField(typeHandler = MyGeometryTypeHandler.class) private String tripRoute; /** 行程线路json */ @Excel(name = "行程线路json") private String tripRouteStr; /** 开始时间 */ @TableField(exist = false) private String startTime; /** 结束时间 */ @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String endTime; /** 状态列表 */ @TableField(exist = false) private String[] statusList; /** 行程列表 */ @TableField(exist = false) private List tripLogs; /** 经度 */ @TableField(exist = false) private String longitude; /** 纬度 */ @TableField(exist = false) private String latitude; /** 1-预约超时,系统自动取消 */ private String appointmentTimeout; /** 是否押金抵扣:0-否;1-是 */ @Excel(name = "是否押金抵扣") private String depositDeduction; /** 是否开启押金抵扣:0-否;1-是 */ @Excel(name = "是否开启押金抵扣") @TableField(exist = false) private String isDepositDeduction; /** 还车视频 */ @Excel(name = "还车视频") private String videoUrl; /** 视频上传时间 */ @Excel(name = "视频上传时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date uploadTime; /** 扣除金额 */ @Excel(name = "扣除金额") private String deductionAmount; /** 音频文件 */ @Excel(name = "音频文件") private String audioFiles; /** 使用过的sn,用,分隔 */ @Excel(name = "使用过的sn,用,分隔") private String usedSn; /** 换车原因:1-电量过低,2-车辆故障 */ @Excel(name = "换车原因:1-电量过低,2-车辆故障") private String changeReason; /** 锁单中: 0-否;1-是 */ @Excel(name = "锁单中: 0-否;1-是") private String locking; /** 还车结算___小时后自动退押金 */ @Excel(name = "还车结算___小时后自动退押金") private Integer autoRefundDeposit; /** 免费骑行时长(分钟) */ @Excel(name = "免费骑行时长(分钟)") private Integer freeRideTime; /** 租赁单位:minutes-分钟;hours-小时,day-天 */ @Excel(name = "租赁单位") private String rentalUnit; /** 计费规则:1-起步价计费 2-区间计费 */ @Excel(name = "计费规则") private String ridingRule; /** 计费规则json串*/ @Excel(name = "计费规则json") private String ridingRuleJson; /** 计费周期:1-订单生成后__小时 2-自定义时刻 */ @Excel(name = "计费周期") private String chargingCycle; /** 计费周期值:*/ @Excel(name = "计费周期值") private String chargingCycleValue; /** 封顶金额*/ @Excel(name = "封顶金额") private BigDecimal cappedAmount; /** 优惠券对象*/ @Excel(name = "优惠券对象") private EtCoupon coupon; }