package com.jsowell.pile.domain;

import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 充电桩型号信息对象 pile_model_info
 *
 * @author jsowell
 * @date 2022-09-07
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PileModelInfo extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	private Long id;

	/**
	 * 型号名称
	 */
	@Excel(name = "型号名称")
	private String modelName;

	/**
	 * 额定功率，单位W
	 */
	@Excel(name = "额定功率，单位kW")
	private String ratedPower;

	/**
	 * 额定电流，单位A
	 */
	@Excel(name = "额定电流，单位A")
	private String ratedCurrent;

	/**
	 * 额定电压，单位V
	 */
	@Excel(name = "额定电压，单位V")
	private String ratedVoltage;

	/**
	 * 充电类型（1-快充；2-慢充）
	 */
	@Excel(name = "充电类型", readConverterExp = "1=-快充；2-慢充")
	private String speedType;

	/**
	 * 充电桩类型（1-汽车桩，2-电单车）
	 */
	@Excel(name = "充电桩类型", readConverterExp = "1=-汽车桩，2-电单车")
	private String chargerPileType;

	/**
	 * 充电枪数量
	 */
	@Excel(name = "充电枪数量")
	private Long connectorNum;

	/**
	 * 充电接口标准
	 */
	@Excel(name = "充电接口标准")
	private String interfaceStandard;

	/**
	 * 删除标识（0-正常；1-删除）
	 */
	private String delFlag;

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
				.append("id", getId())
				.append("modelName", getModelName())
				.append("ratedPower", getRatedPower())
				.append("ratedCurrent", getRatedCurrent())
				.append("ratedVoltage", getRatedVoltage())
				.append("speedType", getSpeedType())
				.append("chargerPileType", getChargerPileType())
				.append("connectorNum", getConnectorNum())
				.append("interfaceStandard", getInterfaceStandard())
				.append("createBy", getCreateBy())
				.append("createTime", getCreateTime())
				.append("updateBy", getUpdateBy())
				.append("updateTime", getUpdateTime())
				.append("delFlag", getDelFlag())
				.toString();
	}
}
