package com.pwt.web.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pwt.common.annotation.Excel;
import com.pwt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 充电记录对象 pwt_charge_record
 * 
 * @author linyun
 * @date 2022-11-17
 */
@Getter
@Setter
@ToString
@ApiModel("充电记录")
public class PwtChargeRecordVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty("记录id")
    private Long recordId;

    /** 车辆编号 */
    @ApiModelProperty("车辆编号")
    @Excel(name = "车辆编号")
    private String vehicleNo;

    /** 充电机编号 */
    @ApiModelProperty("充电机编号")
    @Excel(name = "充电机编号")
    private String chargerNo;

    /** 充电模式 */
    @ApiModelProperty("充电模式")
    @Excel(name = "充电模式")
    private String chargerMode;

    /** 电池SN */
    @ApiModelProperty("电池SN")
    @Excel(name = "电池SN")
    private String batterySn;

    /** 充电电量 */
    @ApiModelProperty("充电电量")
    @Excel(name = "充电电量")
    private BigDecimal chargeQuantity;

    /** 充电开始时间 */
    @ApiModelProperty("充电开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充电开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime chargeBeginTime;

    /** 充电结束时间 */
    @ApiModelProperty("充电结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充电结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime chargeEndTime;

    /** 充电时长 */
    @ApiModelProperty("充电时长")
    @Excel(name = "充电时长")
    private int chargeDuration;

    /** 开始SOC */
    @ApiModelProperty("开始SOC")
    @Excel(name = "开始SOC")
    private int startSoc;

    /** 结束soc */
    @ApiModelProperty("结束soc")
    @Excel(name = "结束soc")
    private int endSoc;

    /** 停机原因 */
    @ApiModelProperty("停机原因")
    @Excel(name = "停机原因")
    private String stopReason;

    /** 充电模式 */
    @ApiModelProperty("充电模式")
    @Excel(name = "充电模式")
    private String chargeMode;

}
