package com.sandu.ximon.admin.vo;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.sandu.ximon.admin.utils.OrderUtils;
|
import com.sandu.ximon.dao.domain.C3mOrder;
|
import com.sandu.ximon.dao.enums.OrderStatus;
|
import com.sandu.ximon.dao.enums.OrderType;
|
import lombok.Data;
|
|
import java.util.Date;
|
|
/**
|
* @Author liuhaonan
|
* @Date 2022/3/10 11:48
|
* @Version 1.0
|
*/
|
@Data
|
public class C3mOrderVO extends C3mOrder{
|
|
|
public static String REQUEST_URL = "http://www.ximonsmart.com/charge/#/charge/";
|
/**
|
* 订单ID
|
*/
|
|
private Long orderId;
|
|
/**
|
* 灯杆ID
|
*/
|
private Long poleId;
|
|
/**
|
* 充电桩MAC
|
*/
|
private String c3Mac;
|
|
/**
|
* 对应的灯杆设备mac
|
*/
|
private String poleMac;
|
|
/**
|
* 订单商户号
|
*/
|
private String outTradeNo;
|
|
/**
|
* 订单类型(C3mOrderType)
|
*/
|
private String orderType;
|
|
/**
|
* 订单总金额
|
*/
|
private Double totalAmount;
|
|
/**
|
* 实收金额
|
*/
|
private Double receiptAmount;
|
|
/**
|
* 退款
|
*/
|
private Double refundAmount;
|
|
/**
|
* 买家帐号(支付宝)
|
*/
|
private String aliBuyerLogonId;
|
|
/**
|
* 预约电量
|
*/
|
private Integer subscribeChargingCapacity;
|
|
/**
|
* 实充电量
|
*/
|
private Double actualChargingCapacity;
|
|
/**
|
* 订单创建时间戳
|
*/
|
private Long createTimestamp;
|
|
/**
|
* 订单支付时间戳
|
*/
|
private Long payTimestamp;
|
|
/**
|
* 订单退款时间戳
|
*/
|
private Long refundTimestamp;
|
|
/**
|
* 订单退款说明
|
*/
|
private String refundMsg;
|
|
/**
|
* 开始充电时间戳
|
*/
|
private Long startChargingTimestamp;
|
|
/**
|
* 结束充电时间戳
|
*/
|
private Long stopChargingTimestamp;
|
|
/**
|
* 订单状态:// 未支付(0),已支付(1),已退款(2),退款中(3),退款失败(4),订单完成(5)
|
*/
|
private Integer orderStatus;
|
|
/**
|
* 充电桩名称
|
*/
|
private String c3Name;
|
|
/**
|
* 灯杆名称
|
*/
|
private String poleName;
|
|
@TableField(exist = false)
|
private static final long serialVersionUID = 1L;
|
/**
|
* 生成新订单
|
* @param c3Mac C3物理地址
|
* @param orderType 订单类型
|
* @param totalAmount 总金额
|
* @param subscribeChargingCapacity 预充电量
|
*/
|
public C3mOrder generateOrder(Long poleId, String poleMac, String c3Mac, OrderType orderType, Double totalAmount,
|
Integer subscribeChargingCapacity) {
|
this.poleId = poleId;
|
this.poleMac = poleMac;
|
this.orderId = -1L;
|
this.c3Mac = c3Mac;
|
this.outTradeNo = OrderUtils.generateOutTradeNo();
|
this.orderType = orderType.getCode();
|
this.totalAmount = totalAmount;
|
this.receiptAmount = 0d;
|
this.refundAmount = 0d;
|
this.aliBuyerLogonId = "";
|
this.subscribeChargingCapacity = subscribeChargingCapacity;
|
this.actualChargingCapacity = 0d;
|
this.createTimestamp = new Date().getTime();
|
this.payTimestamp = 0L;
|
this.startChargingTimestamp = 0L;
|
this.stopChargingTimestamp = 0L;
|
this.refundTimestamp = 0L;
|
this.refundMsg = "";
|
this.orderStatus = OrderStatus.NO_PAY.getStatus();
|
return this;
|
}
|
}
|