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/13 15:56
 * @Description 终端列表简要信息
 */
@Data
@ApiModel(value = "终端列表简要信息")
public class SpcStationChargeTerminalVO {

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

    /**
     * 终端名称
     */
    @ApiModelProperty(name = "terminalName", value = "终端名称")
    private String terminalName;

    /**
     * 所属充电站ID
     */
    @ApiModelProperty(name = "stationId", value = "所属充电站ID")
    private Long stationId;

    /**
     * 所属充电站
     */
    @ApiModelProperty(name = "stationId", value = "所属充电站")
    private String stationName;

    /**
     * 电桩编码
     */
    @ApiModelProperty(name = "deviceCode", value = "电桩编码")
    private String stakeCode;


    /**
     * 品牌型号
     */
    @ApiModelProperty(name = "brandModel", value = "品牌型号")
    private String brandModel;

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

    @ApiModelProperty(name = "stakeType", value = "电桩类型")
    private Integer stakeType;

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

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

    /**
     * 启停状态(1:启用 2:停用)
     */
    @ApiModelProperty(name = "enableStatus", value = "启停状态(1:启用 2：停用)")
    private Integer enableStatus;

    /**
     * 插枪状态(1:已插枪 2:未插枪 3:未知)
     */
    @ApiModelProperty(name = "gunStatus", value = "插枪状态(1:已插枪 2:未插枪 3:未知)")
    private Integer gunStatus;

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

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

    @ApiModelProperty(name = "occupyedMins", value = "占用时间分钟")
    private Integer occupyedMins;

    @ApiModelProperty(name = "timeRemaining", value = "剩余时间")
    private int timeRemaining;
    @ApiModelProperty(name = "estimatedDuration", value = "预计充满时长")
    private Integer estimatedDuration;
    @ApiModelProperty(name = "currentSoc", value = "当前SOC")
    private int currentSoc;
    @ApiModelProperty(name = "insertedTime", value = "插入时间")
    private Date insertedTime;
    @ApiModelProperty(name = "electricalSupport", value = "辅助电源")
    private String electricalSupport;
    @ApiModelProperty(name = "idledPlateNo", value = "占用车牌")
    private String idledPlateNo;
    @ApiModelProperty(name = "idleType", value = "占用类型")
    private Integer idleType; //占位类型1.摄像头2.充电订单
    @ApiModelProperty(name = "cameraIdledTime", value = "抓拍机抓拍的占用时间")
    private Date cameraIdledTime;
    @ApiModelProperty(name = "occupyFeeUnit", value = "占位费单位")
    private Integer occupyFeeUnit; //占位类型1.摄像头2.充电订单

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