package com.jsowell.pile.vo.uniapp;

import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UniAppOrderVO {
	/**
	 * 站点名称
	 */
	private String stationName;

	/**
	 * 订单编号
	 */
	private String orderCode;

	/**
	 * 桩编号
	 */
	private String pileSn;

	/**
	 * 枪口号
	 */
	private String connectorCode;

	/**
	 * 枪口编码
	 */
	private String pileConnectorCode;

	/**
	 * 异常原因
	 */
	private String reason;

	/**
	 * 订单状态
	 */
	private String orderStatus;

	/**
	 * 订单状态描述
	 */
	private String orderStatusDescribe;

	/**
	 * 用户支付金额
	 */
	private String payAmount;

	/**
	 * 支付方式
	 */
	private String payMode;

	/**
	 * 订单金额
	 */
	private String orderAmount;

	/**
	 * 当前SOC
	 */
	private String SOC;

	/**
	 * 枪口状态
	 */
	private String pileConnectorStatus;

	/**
	 * 充电金额
	 */
	private String chargingAmount;

	/**
	 * 充电电量
	 */
	private String chargingDegree;

	/**
	 * 充电时长
	 */
	private String sumChargingTime;

	/**
	 * 剩余时长
	 */
	private String timeRemaining;

	/**
	 * 实时电流
	 */
	private String outputCurrent;

	/**
	 * 实时电压
	 */
	private String outputVoltage;

	/**
	 * 实时充电功率
	 */
	private String outputPower;

	/**
	 * 实时温度
	 */
	private String batteryMaxTemperature;

	/**
	 * 开始充电时间
	 */
	private String startChargingTime;

	/**
	 * 结束充电时间
	 */
	private String endChargingTime;

	/**
	 * 充电实时数据列表
	 */
	private List<ChargingData> chargingDataList;

	@Data
	public static class ChargingData {
		private String dateTime;
		/**
		 * 输出电压
		 */
		private String outputVoltage;

		/**
		 * 输出电流
		 */
		private String outputCurrent;

		/**
		 * 功率
		 */
		private String power;

		/**
		 * SOC 待机置零；交流桩置零
		 */
		private String SOC;

		/**
		 * 电池组最高温度
		 */
		private String batteryMaxTemperature;
	}

	private OrderAmountDetailVO billingDetails;

}
