package com.zsElectric.boot.business.model.vo.applet;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 小程序充电设备接口详情VO
 *
 * @author system
 * @since 2025-12-22
 */
@Getter
@Setter
@Schema(description = "小程序充电设备接口详情VO")
public class AppletConnectorDetailVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "充电设备接口ID")
    private Long connectorId;

    @Schema(description = "充电设备接口编码")
    private String connectorCode;

    @Schema(description = "充电设备接口名称")
    private String connectorName;

    @Schema(description = "充电站ID")
    private Long stationId;

    @Schema(description = "充电站名称")
    private String stationName;

    @Schema(description = "充电站地址")
    private String stationAddress;

    @Schema(description = "设备ID")
    private Long equipmentId;

    @Schema(description = "设备编码")
    private String equipmentCode;

    @Schema(description = "设备名称")
    private String equipmentName;

    @Schema(description = "设备类型：1-直流设备 2-交流设备 3-交直流一体设备 4-无线设备 5-其他")
    private Integer equipmentType;

    @Schema(description = "设备类型名称")
    private String equipmentTypeName;

    @Schema(description = "车位号")
    private String parkNo;

    @Schema(description = "终端状态：0-离网 1-空闲 2-占用(未充电) 3-占用(充电中) 4-占用(预约锁定) 255-故障")
    private Integer status;

    @Schema(description = "终端状态名称")
    private String statusName;

    @Schema(description = "接口类型：1-家用插座 2-交流接口插座 3-交流接口插头 4-直流接口枪头 5-无线充电座 6-其他")
    private Integer connectorType;

    @Schema(description = "接口类型名称")
    private String connectorTypeName;

    @Schema(description = "额定电压上限(V)")
    private Integer voltageUpperLimits;

    @Schema(description = "额定电压下限(V)")
    private Integer voltageLowerLimits;

    @Schema(description = "额定电流(A)")
    private Integer current;

    @Schema(description = "额定功率(kW)")
    private BigDecimal power;

    @Schema(description = "国家标准：1-2011 2-2015")
    private Integer nationalStandard;

    @Schema(description = "国家标准名称")
    private String nationalStandardName;

    @Schema(description = "常规价格(元/度)，电价+服务费+常规运营费+增值费用")
    private BigDecimal currentPrice;

    @Schema(description = "企业价格(元/度)，电价+服务费+企业运营费+增值费用，仅企业用户有值")
    private BigDecimal enterprisePrice;

    @Schema(description = "是否企业用户")
    private Boolean isFirmUser;

    @Schema(description = "当前时段描述")
    private String currentPeriodDesc;

    @Schema(description = "提示语/停车费说明")
    private String parkingTips;

    @Schema(description = "用户可用余额(元)")
    private BigDecimal availableBalance;

    @Schema(description = "新用户首单优惠金额(元)，仅新用户且有优惠活动时返回")
    private BigDecimal newUserDiscount;

    @Schema(description = "最后更新时间")
    private String lastUpdateTime;
}
