package com.yuchen.saas.parking.charge.api.vo.charge;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @Author 蔡文强
 * @Date 2023/4/19 15:56
 * @Description 小程序终端明细
 */
@Data
@ApiModel(value = "小程序终端明细")
public class SpcStationChargeTerminalAppVO {
    /**
     * 终端名称
     */
    @ApiModelProperty(name = "terminalName", value = "终端名称")
    private String terminalName;

    /**
     * 终端编码
     */
    @ApiModelProperty(name = "terminalCode", value = "终端编码")
    private String terminalCode;

    /**
     * 工作状态(0:空闲 1:充电 2:充电结束 4:故障 5:等待充电 6:占用中 7:在线更新 8:离线状态)
     */
    @ApiModelProperty(name = "workStatus", value = "工作状态(0:空闲 1:充电 2:充电结束 4:故障 5:等待充电 6:占用中 7:在线更新 8:离线状态)")
    private Integer workStatus;


    /**
     * 电桩类型(1:直流 2:交流)
     */
    @ApiModelProperty(name = "stakeType", value = "电桩类型(1:直流 2:交流)")
    private Integer stakeType;

    /**
     * 电桩功率
     */
    @ApiModelProperty(name = "stakePower", value = "电桩功率")
    private Integer stakePower;

    /**
     * 输入电压
     */
    @ApiModelProperty(name = "inputVoltage", value = "输入电压")
    private Integer inputVoltage;
    /**
     * 最大电压
     */
    @ApiModelProperty(name = "maxVoltage", value = "最大电压")
    private Integer maxVoltage;


    /**
     * 辅助电源支持
     */
    @ApiModelProperty(name = "electricalSupport", value = "辅助电源支持")
    private String electricalSupport;


    @ApiModelProperty(name = "id", value = "终端ID")
    private Long id;

    @ApiModelProperty(name = "stationId", value = "电站id")
    private Long stationId;

    @ApiModelProperty(name = "terminalNo", value = "终端编号")
    private String terminalNo;

    @ApiModelProperty(name = "timeRemaining", value = "剩余时间")
    private int timeRemaining;
    @ApiModelProperty(name = "estimatedDuration", value = "预计充满时长")
    private Integer estimatedDuration;
    @ApiModelProperty(name = "currentSoc", value = "当前SOC")
    private int currentSoc;


    @ApiModelProperty(name = "flag", value = "是否可用(0:可用 1:不可用)")
    private Integer flag;

    @ApiModelProperty(name = "gunNumber", value = "枪号(1-n)")
    private Integer gunNumber;

    /**
     * 是否收占位費
     */
    @ApiModelProperty(name = "isCharge", value = "是否收占位費(1:收費 2:不收費)")
    private Integer isCharge;

    /**
     * 车位号
     */
    @ApiModelProperty(name = "spaceNo", value = "车位号")
    private String spaceNo;

    @ApiModelProperty(name = "productKey", value = "产品编码")
    private String productKey;


    @ApiModelProperty(name = "gunConnect", value = "插枪状态")
    private Integer gunConnectStatus;

    @ApiModelProperty(name = "parkSpaceNo", value = "停车场车位")
    private String parkSpaceNo;

    @ApiModelProperty(name = "occupyedMins", value = "占用时间分钟")
    private Integer occupyedMins;
    @ApiModelProperty(name = "insertedTime", value = "插入时间")
    private Date insertedTime;
    @ApiModelProperty(name = "idledPlateNo", value = "占用车牌")
    private String idledPlateNo;
    @ApiModelProperty(name = "idleType", value = "占用类型")
    private Integer idleType; //占位类型1.摄像头2.充电订单
    @ApiModelProperty(name = "cameraIdledTime", value = "抓拍机抓拍的占用时间")
    private Date cameraIdledTime; //占位类型1.摄像头2.充电订单
    @ApiModelProperty(name = "occupyFeeUnit", value = "占位费单位")
    private Integer occupyFeeUnit; //占位类型1.摄像头2.充电订单

    @ApiModelProperty(name = "chargingVoltage", value = "充电电压")
    private Float chargingVoltage;//;充电电压

    @ApiModelProperty(name = "chargingCurrent", value = "充电电流")
    private Float chargingCurrent;//;充电电流

    private Integer emergencyStopButtonActionFault;//急停按钮是否被按下   0正常  1异常
}
